2011-08-25 [長年日記]
_ さくらVPSへ引っ越しした(2) - apacheをいれてtdiaryを動かす
つづき。apacheをインストールするよ。
$ sudo aptitude install apache2
/etc/apache2/conf.d/security を修正
-ServerTokens Full
+ServerTokens Prod
-ServerSignature On
+ServerSignature Off
-TraceEnable On
+TraceEnable Off
$ sudo /etc/init.d/apache2 reload
$ sudo /etc/init.d/apache2 restart
ここまででブラウザからアクセスできるはずなんで確認。
wwwXXXXXX.sakura.ne.jp/ へアクセスすると /var/www 以下が見える。It works!
apacheの設定ファイルを編集。
$ sudo vim /etc/apache2/sites-available/default
設定はdiaryディレクトリの .htaccess でいじるので、それを使えるようにだけしておく。
- AllowOverride None
+ AllowOverride ALL
私は / へのアクセスを日記へ飛ばしたいのでリダイレクトルールも書きました。
RedirectMatch 301 ^/$ http://igarashikuniaki.net/diary/
# このリダイレクト先はドメインまで含めて書かないとダメだと読んだのですが、
# 指定したいことは diary/ へ飛ばす、だけなので
# igarashikuniaki.netの部分を書かずに済ませる方法をご存知の方は教えていただけるとうれしいです。
あとでURLの書き換えを(RewriteEngine云々)したいので以下をONにしておく。
$ sudo ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load
$ sudo /etc/init.d/apache2 restart
引き続きtdiaryをインストールします。
(前提として自分しかこのOSを使わない想定でパーミッションを777にしたりしています。
複数ユーザで使う場合はapacheユーザ(www-data)を含むグループを作ったりして設定変えてください。)
インストールするtdiaryはtdiary-coreの先端の場合です。
git でソースを持ってきたり、/var/www/diary を作ってファイルをコピーしたりしていきます。
$ mkdir -p ~/src/tdiary
$ cd ~/src/tdiary
$ git clone git://github.com/tdiary/tdiary-core
($ git clone git://github.com/tdiary/tdiary-theme)
($ git clone git://github.com/tdiary/tdiary-theme-nonfree)
$ sudo mkdir /var/www/diary
$ sudo chmod 777 /var/www/diary
設定ファイルを/var/www/diary/へコピーして設定します。(設定はあとで)
$ cp tdiary-core/tdiary.conf.sample /var/www/diary/tdiary.conf
$ cp tdiary-core/dot.htaccess /var/www/diary/.htaccess
themeとjsフォルダはハードコピーすることに。
apacheで設定したらシンボリックリンクでもいい。
$ cp -r tdiary-core/theme /var/www/diary/.
$ cp -r tdiary-core/js /var/www/diary/.
/var/www/diary 以下のファイルの設定をしていきます。
(設定に関しては tdiary-core/doc/INSTALL.html も参考。)
$ cd /var/www/diary
index.rb と update.rb はcloneしたソースファイルをrequireするようにします。
$ vi index.rb
#!/home/igaiga/.rvm/rubies/ruby-1.9.2-p290/bin/ruby
require '/home/igaiga/src/tdiary/tdiary-core/index.rb'
$ vi update.rb
#!/home/igaiga/.rvm/rubies/ruby-1.9.2-p290/bin/ruby
require '/home/igaiga/src/tdiary/tdiary-core/update.rb'
つづいてtdiary.conf、ひとまずはデータ格納場所だけ書いておけばOKでしょう。
$ vi tdiary.conf
@data_path = '/home/igaiga/tdiary_data'
.htaccessを編集。RewriteEngine、RewriteBase、RewriteRuleの3行は
html_anchorプラグインで使う一連の設定なので使ってない方は不要です。
$ vi .htaccess
RewriteEngine on # html_anchorプラグインで使う一連の設定
RewriteBase /diary # html_anchorプラグインで使う一連の設定
RewriteRule ^([0-9\-]+)\.html$ index.rb?date=$1 # html_anchorプラグインで使う一連の設定
<Files update.rb>の設定内の #ここ に書くファイルをつくります。
AuthName tDiary
AuthType Basic
AuthUserFile /home/igaiga/tdiary_data/.htpasswd #ここ
Require user iga #ここ
$ mkdir ~/tdiary_data
$ chmod 777 ~/tdiary_data
$ cd ~/tdairy_data
$ htpasswd -c .htpasswd iga
ここまででアクセスできるか確認。
wwwXXXXXX.sakura.ne.jp/diary/ でtdiaryが見えたら成功!
動かない場合は /var/log/apache2/error.log をヒントに修正していきます。
次に右上の追記ボタンを押して日記を書けるか確認。
OKだったら設定画面からtdirayの設定をしていきましょう。
これでtdiaryが使えます。No tDiary, No life! :)
まとめ。この状態で /var/www/diary 以下のファイルはこんな感じになります。
.htaccess
index.rb
update.rb
tdiary.conf
js/
theme/
~/src/tdiary/ は tdiary-core/ があればOK。
構成に関してはshinoさんのページが参考になります。
http://www.freedomcat.com/diary/?date=20110113#p01
また、会長さんのページを多々参考にしました。
http://www.tamoot.net/d/20101109.html#p03
shinoさん、会長さんありがとうございます!
そしてもうちょい続きます。tdiary-contribを使おうの巻へつづく。