ServersMan@VPS で tdiary を動かす
サーバの環境
ServersMan@VPS で OS は Ubuntu 10.04、 ウェブサーバは apache2 を利用している。
apache2 のインストール
aptitude install apache2
ruby の更新
Ubuntu 10.04 のパッケージの ruby だと少し古いので http://code.google.com/p/rubyenterpriseedition/ を使うことにする。
wget http://rubyenterpriseedition.googlecode.com/files/ruby-enterprise_1.8.7-2011.03_i386_ubuntu10.04.deb
dpkg -i ruby-enterprise_1.8.7-2011.03_i386_ubuntu10.04.deb
でインストールする。
tdiary のインストール
ダウンロード
とりあえずテストのために /var/www/tdiary にファイルを置いた。
wget http://www.tdiary.org/download/tdiary-full-3.0.2.tar.gz
tar xvzf tdiary-full-3.0.2.tar.gz
mv tdiary-3.0.2/ /var/www/tdiary
/var/www/tdiary/doc/INSTALL.html を見ながら作業する。
後でパーミッションの関係でうまくいかなかったので
chown -R www-data:www-data /var/www/tdiary
として所有者を変更した。
.htaccess
dot.htaccess を編集して .htaccess にリネームする。 AuthUserFile と Require user を変更した。
.htpasswd
htpasswd -c /var/tdiary/.htpasswd your_user_name
でパスワードを設定する。
chown www-data:www-data .htpasswd
で所有者を変更する。 はじめ所有者が www-data になっていなかったために 認証が成功しなかった。
tdiary.conf
tdiary.conf.beginner を編集して tdiary.conf にリネームする。 @data_path を /var/tdiary に変更した。 @data_path に指定したディレクトリ /var/tdiary は apache2 で扱うことができるようにパーミッションを与える。
mkdir /var/tdiary
chown www-data:www-data /var/tdiary/
@style でスタイルを変更する。今まで tDiary スタイルを使っていたので それを指定した。
@style = 'tDiary'
apache2 の AllowOverride
.htaccess で設定を変えることができるように
vi /etc/apache2/sites-available/default
として <Directory /var/www/> のところを
AllowOverride All
とする。
データの移行
tdiary 2.2.2 から 3.02 への 更新は単にデータを移すだけでうまくいった。 使っているうちに、なにかの問題に気づきそうだが。
具体的には、次のようにした。 /var/oldtdiary に日記のデータがあるとする。
mv /var/tdiary /var/tdiary.new
mv /var/oldtdiary /var/tdiary
chown -R www-data:www-data /var/tdiary
で日記のデータを移す。 /var/tdiary.new は新しい日記データがなにもないディレクトリなので、 うまくいったら削除する。
自作のプラグイン
/var/www/tdiary に tdiary がある場合は
mv my_plugin.rb /var/www/tdiary/misc/plugin/
のようにして自作のプラグインを準備する。
EUC-JP だったので文字化けした。 UTF-8 に変更して保存する。
apache2 の virtualhost の設定
tdiary とは関係ないが、 今回、複数のドメイン名を扱えるように virtualhost を使う。 わかりやすいように、ホスト毎に設定ファイルを分ける。 まず、デフォルトのファイルを別名にする。
a2dissite default
default を site_name1 にして有効にする。
mv /etc/apache2/sites-available/default /etc/apache2/sites-available/site_name1
a2ensite site_name1
ここで、設定を読み込む。
/etc/init.d/apache2 reload
次に、
cp /etc/apache2/sites-available/site_name1 /etc/apache2/sites-available/site_name2
として /etc/apache2/sites-available/site_name2 を編集する。 virtualhost を利用するには
<VirtualHost *:80>
ServerName www2.example.com
のように ServerName を指定する。
望むような設定にしたら、
a2ensite site_name2
/etc/init.d/apache2 reload
で設定を有効にする。
ServersMan@VPS での設定
ServersMan@VPS の Ubuntu 10.04 だと apache2 が www-data ユーザではなくて、daemon ユーザで起動している。
ps aux | grep apache
で確認できる。
そのため、上記の設定だとパーミッションの関係で動かない。
chown -R daemon:daemon /var/tdiary
chown -R daemon:daemon /var/www/tdiary
のようにした。
[追記] /etc/apache2/apache2.conf で apache を実行するユーザを変更できる。
User daemon
Group daemon
を
User www-data
Group www-data
にすれば /var/tdiary などのパーミッションを変更しないですむ。