XREAでt Diary
ダウンロード
安定番の1.4.5は使ったことがないですが、たぶん同じ事が出来ないと思いますので、ちょっと怪しい開発版以降をダウンロードする必要があります。
ご本家の解説にも1度目を通すことをおすすめします
解凍
ご本家の解説ではCVSでのインストールを薦めていますが、XREAはSSHでディレクトリ移動が出来ないのでインストールできません。したがってローカルで解凍してからftpで転送します。解凍にはtarやgzipに対応したツールを統合アーカイバプロジェクトなどでもらって来るなどします。
アップロード
解凍して出来たtdiaryフォルダをそのままユーザーディレクトリのpublic_htmlと同じ階層"/"(/virtual/userID/)に転送する。
出来上がったディレクトリ構成は
virtual/ userID/ etc/tdiary.conf #共通のtdiary.conf var/tdiary/ #データディレクトリ tdiary/ blogkit/ #blogkitを解凍したままここに入れる plugin/ doc/ #これはなくても良いと思う。 erb/ misc/ plugin/ #標準添付のプラグイン plugin_s/ #その他の拡張プラグイン plugin/ 00default.rb 01sp.rb theme_url.rb #これがないとうまくいかない skel/ tdiary/ theme/ index.rb tb.rb #必要に応じて tdiary.rb todo.rb #必要に応じて update.rb
index.rbの68行目附近head['Last-Modified']の行をコメントアウトする。これがあると何故がXREAでは2回に1回ScriptErrorが出る。
NORAとUCONV
これらは現在インストールできてません。現在模索中。美味くできたら追記することに。無くても動くのだ。
XREAではSSHでほとんど何も出来ないようなので、cgiでコンパイルするようです。CGIでNoraライブラリーのインストールで出来上がったファイル
- escape_ext.so
- uconv.so
をもらって、所定の場所にアップしました。tDiaryインストールディレクトリのindex.rbなどと同じところにuconv.soとNoraのescape.rbを、webというディレクトリを作ってescape_ext.soを入れておくと、実際に動かすディレクトリには何もしなくても動くようでした。これはHikiFarmでも同じようにすれば動くようです。
共通のtdiary.conf
# shared tdiary.conf @data_path = "/virtual/userID/var/tdiary/#{@directory_name}" @header = <<HEADER <%=navi%> <h1>#{@directory_name}blog</h1> <%=calendar%> HEADER @footer = <<FOOTER <%=calendar%> <%=navi%> FOOTER @options['sp.path'] = \ ['/virtual/userID/tdiary/misc/plugin',\ '/virtual/userID/tdiary/misc/plugin_s',\ '/virtual/userID/tdiary/blogkit/plugin'] @secure = false #日記を貸すわけでもないのでtrueでなくても良い。 load_cgi_conf
tDiaryを動かすディレクトリ毎のtdiary.conf
@directory_name = 'directry1' eval( File::readlines( "/virtual/nobring/etc/tdiary.conf"\ ).join.untaint ) これ以降はblogkitに付いているtdiary.conf.sample_jaの内容を @data_pathを除いて貼り付け適宜設定する。
theme_url.rb
今回は日記ではなくblogkitをディレクトリ毎にインストールして使うというのが目的なので各ディレクトリ毎にbase.cssとdefault.cssが1つずつ有ればよいので、theme_url.rbの内容は
# theme_url.rb def theme_url 'theme' #全て同じスタイルを使うには/themeとかにすればOK end
ここで肝心なのはtDiaryの設定で参照されるのはtDiaryインストールディレクトリにあるthemeで、実際に使われるのはtDiaryを動かしているディレクトリにあるthemeだと言うことです。Symlinkなどを使ってpublic_html配下にthemeディレクトリを置いておくのも1つの方法ですが、blogkitでサイト構築に使う場合はそれほど頻繁にthemeを替えるとも思わないのでこの方法が現実的かと思います。
tDiaryを動かすディレクトリ
public_html/ directry1/ theme/ default/ default.css base.css .htaccess tdiary.conf #ディレクトリ毎に必要 index.rb tb.rb tdiary.rb todo.rb update.rb
index.rbの内容
#!/usr/local/bin/ruby require '/virtual/userID/tdiary/index'
としてパーミッションを700に設定する。これ以外にもtdiary.rbやupdate.rbも同じように作成する。tb.rbとtodo.rbは必要に応じて同じ要領で作成すればよい。
.htaccessの内容
AddType "text/html; charset=EUC-JP" html AddType "application/xml; charset=EUC-JP" rdf AddType text/css .css XBitHack full Options +ExecCGI Options -Indexes RewriteEngine on RewriteBase /hoge/ #それぞれのベースURL? 20030115 RewriteRule ^([0-9]+)\.html$ index.rb?date=$1 RewriteRule ^$ index.rb #これが効いたのかエラーが消えた。20030115 DirectoryIndex index.rb <Files "*.rhtml"> deny from all </Files> <Files "tdiary.*"> deny from all </Files> <FilesMatch "(update|todo).rb"> AuthName tDiary AuthType Basic AuthUserFile /virtual/userID/.htpaswrd Require valid-user </FilesMatch>
などとすればよいと思われる。mod_rewriteは動いているようなので、html_anchor.rbとあわせてYYYYMMDD.htmlでアクセスできるようにすることが可能です。
キーワード:
参照:[設定MEMO]