May 06, 2015

tiarraをサービスとして登録する

自宅サーバのHDDが死んで、新しいHDDに入れ換えてバックアップから各種データを復元したんだけど、tiarra(IRCプロキシ)をデーモンとして動作させるための設定が吹っ飛んでしまったので、Ubuntu 15.04で使える方法を調べて再設定した。

tiarraのインストール

Tiarra : Archiveからファイルをダウンロードして設置するだけ。

設置場所は、別ユーザで起動することを考慮して/opt/以下にした。

$ wget http://www.clovery.jp/tiarra/archive/2010/02/tiarra-20100212.tar.bz2
$ tar xpvf tiarra-20100212.tar.bz2
$ sudo mkdir -p /opt/
$ sudo mv tiarra-20100212 /opt/tiarra
$ sudo chown -R root:root /opt/tiarra

設定ファイルの用意

新規導入の場合は他の方の設定の仕方などを参考にしながら設定ファイルを用意する。僕の場合は幸い「~/local/conf/tiarra.conf」にファイルを置いていてバックアップ対象になっており、無事復元できていたので、このステップは省略できた。

動作確認

一回コンソール上から普通に起動してみて、ちゃんと動く事を確認する。

$ /opt/tiarra/tiarra --config=/home/piro/local/conf/tiarra.conf

IRCクライアントから接続できたら、設定はちゃんとできているということ。確認ができたらCtrl-Cで終了する。

サービス起動スクリプトの作成

tig.rbとTiarraをstart-stop-daemonで動かすのスクリプトをちょっと変更して、「/etc/init.d/tiarra-piro」の位置に置いた。

サービス名等は、別ユーザでも動かすことを考慮して、自分のユーザ名を入れた。別ユーザで実行する時はまた別ユーザ用のサービス起動スクリプトを登録するということで。

#!/bin/sh
# /etc/init.d/tiarra-piro

USER=piro
NAME=tiarra-$USER
PROG=/opt/tiarra/tiarra
CONFIG=/home/$USER/local/conf/tiarra.conf
PIDFILE=/var/run/$NAME.pid

start() {
  echo -n "Starting: $NAME"
  start-stop-daemon \
    --start \
    --pidfile $PIDFILE \
    --make-pidfile \
    --background \
    --exec $PROG \
    --user $USER \
    --chuid $USER \
    --chdir /home/$USER \
    -- \
    --config=$CONFIG
  return $?
}

stop() {
  echo -n "Stopping: $NAME"
  start-stop-daemon \
    --stop \
    --oknodo \
    --pidfile $PIDFILE
  return $?
}

restart() {
  stop
  start
}

case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  restart)
    restart
    ;;
  *)
    echo "Usage: $0 {start|stop|restart}"
    exit 1
    ;;
esac

ファイルを置いたら、実行権限を付与してサービスとして登録して起動する。

$ sudo chmod +x /etc/init.d/tiarra-piro
$ sudo update-rc.d tiarra-piro defaults
$ sudo service tiarra-piro start

どうやらこれで動くようになった模様。

エントリを編集します。

wikieditish message: Ready to edit this entry.











拡張機能