Ubuntu 12.04 に etherpad-lite をインストールする手順

Ubuntu 12.04 に etherpad-lite をインストールした際の手順メモ。
こちら (https://help.ubuntu.com/community/Etherpad-liteInstallation) のサイトを参考とした。というか、ほぼ同じ。

  • Ubuntu Desktop 12.04.5 LTS 64bit
  • etherpad-lite (GitHub の最新)

前準備

まず etherpad-lite の実行ユーザ etherpad を追加する。
以下、CLI 環境での操作を前提とする。

$ sudo adduser --system --home=/opt/etherpad --group etherpad

次に、関連パッケージをインストールする。

$ sudo apt-get install gzip git-core curl python libssl-dev build-essential abiword python-software-properties

node.js のインストール

etherpad-lite が node.js で動作しているので、こちらもインストールする。

$ sudo add-apt-repository ppa:chris-lea/node.js
$ sudo apt-get update
$ sudo apt-get install nodejs

etherpad-lite のインストール

以下の手順で etherpad-lite をインストールし、実行する。

$ sudo su - etherpad -s /bin/bash
$ mkdir -p ~/local/etherpad
$ cd ~/local/etherpad
$ git clone git://github.com/ether/etherpad-lite.git
$ cd etherpad-lite
$ bin/run.sh

ブラウザで http://localhost:9001/ にアクセスし、ログイン画面が表示されたら OK。
起動時に「Error raised: listen EADDRINUSE」というエラーが出た場合は、etherpad-lite がデフォルトで使おうとする 9001 番ポートが既に他のプロセスで使用されていることが原因。設定ファイル /opt/etherpad/local/etherpad/etherpad-lite/settings.json を編集し、16行目付近の port を 未使用なポート番号に変更した上で、再度 run.sh を実行する。

etherpad-lite の自動起動設定 (サービス化)

前述の run.sh で etherpad-lite を起動すると CLI セッションを閉じた際に etherpad-lite も停止してしまう。サーバ起動時にサービスとして自動起動するように設定を行う。前述の run.sh を起動している場合は Ctrl + c で停止し、etherpad ユーザから exit しておく。

$ sudo mkdir /var/log/etherpad-lite
$ sudo chown etherpad /var/log/etherpad-lite
$ sudo chown -R etherpad /var/log/etherpad-lite

以下のファイルを新規作成する。

$ sudo vi /etc/init/etherpad-lite.conf

以下をコピペ。

description "etherpad-lite"

start on started networking
stop on runlevel [!2345]

env EPHOME=/opt/etherpad/local/etherpad/etherpad-lite
env EPLOGS=/var/log/etherpad-lite
env EPUSER=etherpad

pre-start script
    cd $EPHOME
    mkdir $EPLOGS                      ||true
    chown $EPUSER:admin $EPLOGS        ||true
    chmod 0755 $EPLOGS                 ||true
    chown -R $EPUSER:admin $EPHOME/var ||true
    $EPHOME/bin/installDeps.sh >> $EPLOGS/error.log || { stop; exit 1; }
end script

script
    cd $EPHOME/
    exec su -s /bin/sh -c 'exec "$0" "$@"' $EPUSER -- node node_modules/ep_etherpad-lite/node/server.js \
                          >> $EPLOGS/access.log \
                          2>> $EPLOGS/error.log
end script

etherpad-lite サービスを起動する。

$ sudo start etherpad-lite

正常に起動し、http://localhost:9001/ へアクセスできたら OK。

ログのローテーション設定

前述でログ出力するように設定したが、同じログファイルに追記し続けるため、ログファイルが肥大化してディスクを圧迫することを避けるため、ログファイルをローテーションするための設定を行う。

以下のファイルを新規作成する。

$ sudo vi /etc/logrotate.d/etherpad-lite

以下をコピペ。

/var/log/etherpad-lite/*.log
{
        rotate 4
        weekly
        missingok
        notifempty
        compress
        delaycompress
        sharedscripts
        postrotate
                restart etherpad-lite >/dev/null 2>&1 || true
        endscript
}

保存後、以下のチェック用コマンドを実行する。

$ logrotate -d /etc/logrotate.d/etherpad-lite

色々出力されるが、とりあえず error と表示されなければ OK。

yktmnb について

IT土方兼社畜を生業としています。
入社以来 Java を用いた社内向け Web アプリの開発に携わっていました。
最近は IaaS 関連の仕事をしています。
個人的に Android アプリ開発をしたり、ゆるべんという勉強会 (http://wooven.org/) をのんびりとやってます。

カテゴリー: etherpad-lite, Linux, Ubuntu パーマリンク