2014年9月17日水曜日

RabbitMQをubuntu14.04にインストールする

1. apt-getにリポジトリ登録
echo "deb http://www.rabbitmq.com/debian/ testing main" | sudo tee -a /etc/apt/sources.list

wget http://www.rabbitmq.com/rabbitmq-signing-key-public.asc
sudo apt-key add rabbitmq-signing-key-public.asc

2. RabbitMQのインストール
sudo apt-get update
sudo apt-get install rabbitmq-server

3. Management, mqttプラグインの導入
sudo rabbitmq-plugins enable rabbitmq_mqtt
sudo rabbitmq-plugins enable rabbitmq_management

4. guestユーザがリモートからログインできるように変更
cd /usr/share/doc/rabbitmq-server/
sudo gzip -d rabbitmq.config.example.gz
sudo cp rabbitmq.config.example /etc/rabbitmq/rabbitmq.config
cd /etc/rabbitmq/
sudo vi rabbitmq.config
%% {loopback_users, []},の行を複製して、アンコメント。これによりguestユーザがremoteからログインできるようになる。
%% {loopback_users, []},
{loopback_users, []}

5. RabbitMQの再起動
sudo service rabbitmq-server restart

○環境
Ubuntu 14.04, RabbitMQ 3.3.5

○関連情報
・RabbitMQに関する他の記事はこちらを参照してください。

2014年8月22日金曜日

raspberry piでroot file systemを2T以上のUSB HDDに移動する

raspberry piでroot file systemを2T以上のUSB HDDに移動するには、以下の手順を実行します。
ログ出力などすべてHDDに出力することによりSDカードを延命化できます。

Root filesystemのUSB HDD移行手順

1.(すでにmountされている場合)unmount
sudo umount /dev/sda1
2. パーティション作成
※ディスク丸ごとを1つのパーティションにする場合。
sudoparted /dev/sda
mklabel gpt
mkpart primary ext4 0 -1s
quit
3. ext4 file system作成
sudo mkfs.ext4 /dev/sda1
4. mountする
cd /media
sudo mkdir usbhdd
sudo mount /dev/sda1 /media/usbhdd
df -h
5. sdカード内容をコピー
※必要に応じてrsyncインストール。
sudo apt-get install rsync 
sudo rsync -axv / /media/usbhdd
6.起動時設定
sudo vi /boot/cmdline.txt
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/sda1 
rootfstype=ext4 elevator=deadline rootwait rootdelay=10
※rootを/dev/sda1に変更とrootdelay追加

/etc/fstabで「/」のデバイスを/dev/sda1に修正します。
sudo vi /media/usbhdd/etc/fstab
proc            /proc           proc    defaults          0       0
/dev/mmcblk0p1  /boot           vfat    defaults          0       2
/dev/sda1  /               ext4    defaults,noatime  0       1
#/dev/mmcblk0p2  /               ext4    defaults,noatime  0       1
# a swapfile is not a swap partition, so no using swapon|off 
from here on, use  dphys-swapfile swap[on|off]  for that
※ /bootのデバイスはRaspbianのバージョンによって異なります(StretchなどではPARTUUID...となっています)。

7.再起動
sudo reboot

※2018/08/21追記 - Raspbian Stretch Lite (version : 2018 June)での上記手順を実行することができます。
※2020/07/13追記 - Raspbian Busterでも上記手順を実行することができます。

2012年2月11日土曜日

LuaでSQL Serverのテーブルを選択する

LuaでSQL Serverのテーブルを選択するには、以下のコードを実行します。
require "luasql.odbc"
env = assert(luasql.odbc())
-- MSSQLというODBC DSNに接続
conn = assert(env:connect("MSSQL", "sa", "password"))
-- クエリーを実行
cur = assert(conn:execute(
  "select company_id, company_name from company"))
-- 返された行を表示
row = cur:fetch ({}, "a")
while row do
  print([[会社ID:]] .. row.company_id .. 
    [[ 会社名: ]] .. row.company_name)
  row = cur:fetch (row, "a")
end
-- 閉じる
cur:close()
conn:close()
env:close()

動作環境
Lua for Windows 5.1.4, Microsoft SQL Server 2008 R2 SP1 Express

2011年6月30日木曜日

H2 Database上でsardineでWebDAVサーバと連携するユーザ定義関数のまとめ

WebDAVサーバ上のリソース情報の取得


WebDAVサーバ上のファイルを列挙する関数を作成する
WebDAVサーバ上のファイルの最終更新日時を取得する関数を作成する
WebDAVサーバ上のファイルの作成日時を取得する関数を作成する
WebDAVサーバ上のファイルのサイズを取得する関数を作成する
WebDAVサーバ上のファイルのコンテントタイプを取得する関数を作成する
WebDAVサーバのディレクトリ上のファイルのURLを列挙する関数を作成する
WebDAVサーバ上のリソースが存在するか調べる関数を作成する
WebDAVサーバ上のディレクトリを列挙する関数を作成する


WebDAVサーバ上のリソースの操作


BLOBをWebDAVサーバ上のファイルとしてアップロードする関数を作成する
CLOBをWebDAVサーバ上のファイルとしてアップロードする関数を作成する
WebDAVサーバ上のファイルをBLOBとして返す関数を作成する
WebDAVサーバ上のファイルをCLOBとして返す関数を作成する
WebDAVサーバ上のファイルをリネームする関数を作成する
WebDAVサーバ上のファイルをコピーする関数を作成する
WebDAVサーバ上のファイルを削除する関数を作成する