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]