# mkdir $HOME/tdiary # mkdir $HOME/public_html/tdiary # mkdir $HOME/public_html/tdiary/plugin; ln -s /usr/local/share/tdiary/plugin/00default.rb $HOME/public_html/tdiary/plugin # cd $HOME/public_html/tdiary; ln -s /usr/local/share/tdiary/theme # cp $WORKSRC/index-user.rb index.rb # index-user.rb は後述 # cp $WORKSRC/update-user.rb update.rb # update-user.rb は後述 # cp $WORKSRC/dot-htaccess .htaccess # dot-htaccess は後述 # $HOME/public_html/tdiary/tdiary.conf をユーザ毎に合わせて設定する # chown -R hoge $HOME/tdiary $HOME/public_html/tdiary # chgrp -R hoge $HOME/tdiary $HOME/public_html/tdiary # chmod u+x $HOME/public_html/tdiary/index.rb # chmod u+x $HOME/public_html/tdiary/update.rb # chmod -R go-w $HOME/public_html/tdiary # 他人が書き込み可能な状態だと suExec で実行させてくれない # chmod go-w $HOME/public_html元のドキュメントではテーマをサーバの http://example.com/theme に設定するように書いてあるが、 ここではユーザのディレクトリから毎回シンボリックリンクを張ることにより実現している。
#!/usr/bin/env ruby require '/usr/local/share/tdiary/index'
#!/usr/bin/env ruby require '/usr/local/share/tdiary/update'
Options +FollowSymLinks は必須。
基本的にはシステム全体で共通でよいはずだが、認証方法や RewriteRule などユーザによって設定したいことがあるかも。
# user's tdiary.conf @user_name = 'hoge' @data_path = '/home/hoge/tdiary' @plugin_path = '/home/hoge/public_html/tdiary/plugin' eval( File::readlines( "/usr/local/etc/tdiary.conf" ).join.untaint )@data_path に指定したディレクトリを作成しておくこと。ディレクトリはCGIが動作する権限で書き込みができる必要がある。
tdiary.confで@plugin_pathが指定できるので、ユーザごとのプラグインは可能です
なるほど。解説恐れ入ります。修正してみます