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 などのパーミッションを変更しないですむ。

Tags of current page

, , ,