設定MEMO  ページ一覧  検索  更新履歴  編集履歴  PageRank  RSS  ソース  ログイン  HikiFarm

XREAでt Diary - 編集履歴


  • 追加された部分はこのように表示します。
  • 削除された部分はこのように表示します。
!はじめに
Xreaのサーバーに1つだけtDiaryをインストールして、ディレクトリ毎に別のblogkitを立ち上げるところまでのドキュメント。

!ダウンロード
*[[ちょっと妖しい開発版|http://www.tdiary.org/download/tdiary-full-1.5.6.tar.gz]]
*[[もっと妖しい開発スナップショット版|http://www.tdiary.org/download/tdiary-full.tar.gz]]
*[[Blogkit|http://www.tdiary.org/download/tdiary-blogkit-1.5.6.tar.gz]]
安定番の1.4.5は使ったことがないですが、たぶん同じ事が出来ないと思いますので、ちょっと怪しい開発版以降をダウンロードする必要があります。

[[ご本家の解説|http://www.tdiary.org/20021205.html]]にも1度目を通すことをおすすめします

!解凍
[[ご本家の解説|http://www.tdiary.org/20021205.html]]ではCVSでのインストールを薦めていますが、XREAはSSHでディレクトリ移動が出来ないのでインストールできません。したがってローカルで解凍してからftpで転送します。解凍にはtarやgzipに対応したツールを[[統合アーカイバプロジェクト|http://www.csdinc.co.jp/archiver/]]などでもらって来るなどします。

!アップロード
解凍して出来た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ライブラリーのインストール|http://shimoi.s26.xrea.com/ydiary/20030419.html#p01]]で出来上がったファイル
*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でアクセスできるようにすることが可能です。

!ご意見などが有ればどうぞ

//{{comment}}
更新日時:2024/04/24 12:46:36
キーワード:
参照: