How to install tdiary-full-1.5.1.tar.gz

2002.12.08

from:
http://www.tdiary.org/
http://localhost/~jun1/tdiary/?date=20021208
http://localhost/~jun1/tdiary/?date=20021209

tdiary-full-1.5.1.tar.gz

2002.11.19 に、バージョンアップが出現。
今のバージョン(1.4.4) だと、いつのまにか plugin-viewer と a_conf の設定画面が出なくなっているので、これが直るといいな、の気持ちを込めてアップグレード。




Install
tdiary-full-1.4.4.tar.gz を展開して、~/pulic_html/tdiary/ に移動。
index.rb と、update.rb のパーミッションに他社でも実行できる属性が付いていないと逝けない。
  -rwxr-xr-x  1 jun1  jun1   2313 Nov 13 13:14 public_html/tdiary/index.rb*
  -rwxr-xr-x  1 jun1  jun1   1872 Nov 17 00:25 public_html/tdiary/update.rb*

~/public_html/tdiary/tdiary.conf の編集
一番始めに、いじらなきゃならないのが、これ。
  # @data_path = '/home/foo/diary'
  @data_path = '/home/jun1/lib/tdiary'
  ---
  # @html_title = 'hogehoge diary'
  @html_title = 'Web 日記 tdiary'
@html_title は変えなくても、どうというコトはないが、@data_path は設定しないと、動かなくなる。


.htaccess の作成
~public_html/tdiary/dot.htaccess を ~/.htaccess にリネームして、編集。
  <  AuthUserFile  /home/foo/.htpasswd
  <  Require user  foo
  ---
  >  AuthUserFile  /home/jun1/.htpasswd
  >  Require user  jun1 

この後の、httpd.conf で設定する、パスワードの設定ファイルになる。

/etc/httpd/conf/httpd.conf の編集
今までに、いろいろいじって来ているが、それを更に編集して、下の様にした。
 # I added for tdiary 2002.07.06
 <Directory "/home/*/public_html/cgi-bin">
   AddHandler cgi-script .rb .cgi
   Options FollowSymLinks ExecCGI
 </Directory>

 #<Directory "/home/*/public_html/diary">
 <Directory "/home/*/public_html/tdiary"> 
   AddHandler cgi-script .rb .cgi
   Options FollowSymLinks ExecCGI
   DirectoryIndex index.rb
 </Directory>

 <Files "*.rhml">
   deny from all
 </Files>

 <Files "tdiary.*">
   deny from all 
 </Files>

 <Files update.rb>
   AuthName tDiary
   AuthType Basic
   AuthUserFile /home/jun1/.htpasswd
   Require user jun1
 </Files>

 # I added for DAMEX 2002.07.31
 <Directory "/home/*/public_html/damex">
   AddHandler cgi-script .cgi
   Options FollowSymLinks ExecCGI
   DirectoryIndex index.html
 </Directory>

 # I added for namazu on WebNIKKI 2002.10.17
 <Directory "/home/*/public_html/namazu">
   AddHandler cgi-script .cgi
   Options FollowSymLinks ExecCGI
   DirectoryIndex index.html
 </Directory>

 # 2002.10.29    ちなみに、ここから下は、mod_ruby のための設定で、後でもとに戻す。
 # tDiary no kousoku ka
 #<IfDefine HAVE_RUBY>
 #  LoadModule ruby_module modules/mod_ruby.so
 #</IfDefine>

 #<IfDefine HAVE_RUBY>
 #  AddModule  mod_ruby.c
 #</IfDefine>

 #<IfModule mod_ruby.c>
 #  # for Apache::RubyRun
 #  RubyRequire apache/ruby-run
 #  # exec *.rb as ruby scripts.
 #  <Files *.rb>
 #    SetHandler ruby-object
 #    RubyHandler Apache::RubyRun.instance
 #  </Files>
 #</IfModule>

http://localhost/~jun1/tdiary/ にアクセス
すると、全てがブランクの tdiary のページにアクセス出来る。


過去のデーターの移行
過去データーが ~/lib/tdiary-1.4/、
たった今作ったばかりのデーターの置き場所は ~/lib/tdiary/2002/。

ここで、無理矢理、過去データーに新規データーを追加。
$ mv ~/lib/tdiary/2002/ ~/lib/tdiary-1.4/

過去データーを今のデーターに偽装。
$ rm -rf ~/lib/tdiary/
$ mv ~/lib/tdiary-1.4/ ~/lib/tdiary/
$ chmod 777 ~/lib/tdiary/
$ su -
# cd /home/jun1/lib/tdiary/
# chown apache:apache -R .


tdiary 1.5 用の特殊なテキスト形式に変換
# cd /home/jun1/pulic_html/tdiary/
# ruby misc/convert2.rb
を実行すると、
 <span class="canchor">_</span>
 2001-09
 2001-10
 2001-11
 2001-12
 2002-01
 2002-05
 2002-07
 2002-08
 2002-09
 2002-10
 2002-11
 2002-12
ってなメッセージが出て、~/lib/tdiary/ 以下に、
tdiary 1.5 用に変換された過去データーが、 年ごとに作られる。
もともとあった、~/lib/tdiary/ 直下のファイルは不要らしい
が、恐いので、しばらく取っておく。


apache を再起動
# /etc/rc.d/init.d/httpd restart


設定
まずは、「トップ」で飛べるトップページを

http://localhost/~jun1/damex/frame.html

に変更して、タイトルを Web 日記 tdiary に変更。
やっぱり見慣れたタイトルの方が落ち着くね。


お次ぎは、やっぱりサイドバー化と、スタイルの変更でしょう
Asumi日記 のページソースを見ると、
theme/default/default.css ってな記述があるので、
wget http://sho.tdiary.net/theme/default/default.css をしてみる。

で、~/public_html/tdiary/theme/default/ を default.org にして、新しく作りなおした、
default/ に default.css を入れてみる。
んで、再起動。
んがーーー、って、変わってないじゃん。
default がそのまま Asumi 日記のスタイルだったのね。


次は、サイドバー化だ
これは、ヘッダとフッタの設定になる。
めんどくさいので、前の ~/lib/tdiary-1.4/tdiary.conf を真似て見る。

ヘッダ
 <div class="main" >
 <div align="right">
   <%= navi %>
   <h1> Web 日記 tDiary </h1>
 </div>
フッタ
 <div class="sidebar">
 <div style="position:relative; top:2px;">
 #  <%= navi_plugin %>
 </div>
 <div style="position:relative; top:2px; left:13px;">
   <%= calendar2 %><br>
 </div>
 <%=calendar%>
 <div align="right" class="search">
   <form class="search" method="get" action="../namazu/namazu.cgi" style="margin:0px;">
   <input class="search" type="text" name="query" size=18 value="">
   <input class="search" type="submit" value="検索">
   </form>
 </div>
 <hr><br>
 <%=recent_list%>
 </div>
 <%=nazo%>
 <div align="right">
 <%=calendar%>
 <div align="right" class="search">
   <form class="search" method="get" action="../namazu/namazu.cgi">
   <input class="search" type="text" name="query" size=18 value="">
   <input class="search" type="submit" value="検索">
   </form>
 </div>
 # <%= navi %>
 <div>
と、してみた。
あたりまえだが、プラグインが何も入っていない。
サイドバーにはなっているけど、寂しい状態になっちった。


プラグイン a.rb
アンカー自動生成プラグイン。
http://home2.highway.ne.jp/mutoh/tools/ruby/ja/a.html

a.rb を プラグインディレクトリ(~/public_html/tdiary/plugin/) に落とす。
a_conf.rb を tdiary直下(~/public_html/tdiary/) に落とし、実行属性(755)をつける。
a_conf.rhtml( 辞書ファイル編集CGI PC用 ) を~/public_html/diary/skel/ に落とす。
http://localhost/~jun1/tdiary/a_conf.rb にアクセスすると、辞書が作れる。
ハズが、出来ない。http://localhost/~jun1/tdiary/a_conf.rb にアクセスすると、
  undefined superclass `TDiary' (TypeError) 
  /home/jun1/public_html/tdiary/a_conf.rb:51
なんて、理解不能なメッセージが出てしまう。

小手先だけど、前に使っていた辞書ファイルを持ってきたら、短縮だけは使えるようになった。
  # cd /home/jun1/lib/tdiary/cache/ 
  # cp /home/jun1/lib/tdiary-1.4.bak/cache/a.dat*  . 
うーーん、それにしても、なんで a._conf.rb にアクセスできないんだろ。
一晩、寝たけど、やっぱり直っていなかった。


プラグイン edit.rb
日毎表示で「更新」を「編集」に置き換えてくれる。
その日の日記を表示すれば、すぐに編集できる。
このファイルをpluginにコピーするだけで自動的に置き変わって、使用可能。


プラグイン calendar2.rb
どこぞで見たことのある、カレンダーを表示してくれる。

~/public_html/tdiary/plugin/ にコピーするだけで、使用可能。


プラグイン dropdown_calendar.rb
横長に月別に表示している calenar (一覧形式でカレンダーを表示するデフォルトのcalendar、といふらしい)をドロップダウンにしてくれる。

~/public_html/tdiary/plugin/ にコピーするだけで、使用可能。


recent_list
最近書いた日記のタイトル,サブタイトルを表示する。
サイドバーにしていると、威力100倍。
サイドバー化しないと、威力1/100倍。
ヘッダ、フッタをいじらないと逝けいない。
詳しくは、上のヘッダ、フッタを見るべし。

~/public_html/tdiary/plugin/recent_list.rb を直接編集
表示する日数を30日から、60日に変更。
 #def recent_list(days = 30, date_format = nil, title_with_body = nil, show_size = nil, show_title = nil, extra_erb = nil)
 def recent_list(days = 60, date_format = nil, title_with_body = nil, show_size = nil, show_title = nil, extra_erb = nil) 

プラグイン navo.rb
~/public_html/tdiary/plugin に置くだけで、使用可能。
ジャンプ先のエレメントをハイライトしてくれる。


Plugin Viewer
使えたら、使ってみたい。
でも、使えない。設定すると、エラーがでる。


プラグイン squeeze.rb
yasqueeze.rb を使わずに、tdiary 添付の squeeze.rb を使用。
要は、namazu 用の検索フォームを出してくれる。

squeeze.rb の方が新しくて、yasqueeze.rb は squeeze.rb に吸収され たそうだ。
ってか、名前を変えただけらしい、と、だれかのページ に書いてあった。

やり方は、俺のインストール記録 と、tdiary-plugin-howto を 参照。

設定
~/public_html/tdiary/misc/plugin/squeeze.rb を、
プラグインディレクトリ( ~/public_html/tdiary/plugin/ )
にコピー。
@data_path は、デフォのまま( ~/lib/tdiary/cache/html/ ) でヨイのだが、一様、tdiary.conf を修正。
 プラグインのパス【オプション】 の部分に、
   @options['squeeze.output_path'] = '/home/jun1/lib/tdiary/cache/html'
全ての日記を日別にHTML化
squeeze.rb を ~/pulic_html/diary/ に置いて、
~/lib/tdiary/cache/html/ を作って、 ルートで、入って、
# chown apache:apache -R ./html/ (cache もかな?)
# chmod 755 . もして、
# chmod 755 squeeze.rb 。

んで、ブラウザから http://localhost/~jun1/tdiary/squeeze.rb にアクセス。
すると、変換しましたよーってなメッセージがずらーと出る。
    Squeeze for tDiary 
    $Revision: 1.5 $ 
    Copyright (C) 2002 MUTOH Masao 

    Start! 

    0922 0923 0924 0925 0926 0927 0928 0929 0930 1001 1002 1003 1004 
    1007 1008 1009 1010 1011 1012 1013 1014 1015 1020 1021 1022 1023 
    1024 1025 1026 1027 1028 1029 1030 1031 1101 1102 1103 1104 1105 
    1107 1110 1111 1116 1117 1202 1203 1204 1206 1208 1209 0113 0509 
    0510 0511 0513 0514 0515 0707 0708 0711 0713 0714 0715 0719 0720 
    0721 0722 0723 0725 0726 0728 0729 0730 0731 0805 0806 0808 0809 
    0810 0811 0812 0813 0814 0815 0816 0819 0821 0826 0827 0828 0831 
    0901 0902 0904 0905 0907 0908 0909 0911 0912 0913 0914 0915 0916 
    0917 0918 0919 0920 0921 0922 0923 0925 0926 0928 0929 0930 1001 
    1002 1014 1015 1017 1018 1019 1020 1021 1023 1024 1026 1027 1028 
    1029 1030 1031 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 
    1111 1114 1117 1118 1119 1120 1121 1122 1123 1124 1127 1128 1129 
    1130 1201 1202 1203 1204 1205 1206 1207 1208 1209 
    End! 
ズラズラ〜 って出てきて、全ての日記を日別にHTML化するのが、終了。
~/lib/tdiary/cache/html/200?/ のサブディレクトリ以下に、HTML 化された日記が入っている。

つぎは、namazu の設定
  $ mkdir ~/public_html/namazu/ 
  $ cp /home/httpd/cgi-bin/namazu.cgi  ~/pulic_html/namazu/  
  $ vi ~/public_html/namazu/.namazurc 
  > Index      /home/jun1/lib/namazu 
  > Replace    /home/jun1/lib/tdiary/cache/html/(\d\d\d\d)/  http://localhost/~jun1/tdiary/?date=\1  

  namazu インデックスの作成
  $ mknmz /home/jun1/lib/tdiary/cache/html/  --output-dir=/home/jun1/lib/namazu/ 

そん時のメッセージ
 athene :~:$ mknmz /home/jun1/lib/tdiary/cache/html/  --output-dir=/home/jun1/lib/namazu/ 
  検索対象のファイルを調べています...
  85個のファイルがインデックス作成の対象として見つかりました
  1/85 - /home/jun1/lib/tdiary/cache/html/2001/0922 [text/html]
  2/85 - /home/jun1/lib/tdiary/cache/html/2001/0923 [text/html]
  3/85 - /home/jun1/lib/tdiary/cache/html/2001/0924 [text/html]]
   -- 略 --
  83/85 - /home/jun1/lib/tdiary/cache/html/2002/0814 [text/html]
  84/85 - /home/jun1/lib/tdiary/cache/html/2002/0815 [text/html]
  85/85 - /home/jun1/lib/tdiary/cache/html/2002/0816 [text/html]
  インデックスを書き出しています...
  [基本]
  日付:                Mon Dec 09 21:40:59 2002
  追加された文書の数:  85
  サイズ (bytes):      540,212
  合計の文書数:        85
  追加キーワード数:    7,222
  合計キーワード数:    7,222
  わかち書き:          module_kakasi -ieuc -oeuc -w
  経過時間 (秒):       9
  ファイル/秒:         9.44
  システム:            linux
  Perl:                5.006001
  Namazu:              2.0.10 
~/lib/namazu/ に、namazu index file( NMZ で始まるファイル )が沢山生成されて、終了。
これで、フッタに指定した、
 <div align="right" class="search">
   <form class="search" method="get" action="../namazu/namazu.cgi">
     <input class="search" type="text" name="query" size=18 value="">
     <input class="search" type="submit" value="検索">
   </form>
 </div> 
の、検索フォ-ムから、検索が出来るようになる。


default.css
~/public_html/tdiary/theme/default/default.css を直接編集。
ちょびっと見た目を変える。

 左上に出している、良く見る型のカレンダーを大きくする<
 /* calendar2 */
 table.calendar {
 /*      font-size: x-small; */
         font-size: midium;
         line-height: 1.1em;
         border-style: solid;
         border-color: #aaf;
         border-width: 1px;
 }
 サイドバーの左側に出す、最近のタイトルの文字を小さくする。
 div.recentsubtitles {
 /*      font-size: 0.9em; */
         font-size: 0.8em;
         margin-top: 0px;
         margin-bottom: 1em;
         margin-left: 1em;
 }
こんだけで、随分、見た目の印象が変わって来る。
 update.rb から入れる、記入フォームの記入出来る範囲を大きくする。
 form.update textarea {
 /*    width: 35em; */
       width: 40em;
 /*    height: 15em; */
       height: 23em; 
 }


日付フォーマット
「編集」-「設定」から、%Y-%m-%d を、
<font size="+1">%Y-%m-%d(%a)</font>に、変更。


mod_ruby による、高速化
参考:yamk 日記 と、DAMEX の tDiary Web 日記 の高速化

1.mod_ruby-0.9.7-0vl2.src.rpm をインストール。
   # rpm -ivh mod_ruby-0.9.7-0vl2.i386.rpm 

2./etc/httpd/conf/httpd.conf を修正
 以下の記述が「あったら」コメントにする。
   <IfDefine HAVE_RUBY>
     LoadModule ruby_module modules/mod_ruby.so
   </IfDefine>

   <IfDefine HAVE_RUBY>
     AddModule  mod_ruby.c
   </IfDefine>

   <IfModule mod_ruby.c>
     # for Apache::RubyRun
     RubyRequire apache/ruby-run
     # exec *.rb as ruby scripts.
     <Files *.rb>
       SetHandler ruby-object
       RubyHandler Apache::RubyRun.instance
     </Files>
   </IfModule> 
3.~/.htaccess を修正
AddHandler cgi-script .rb
をコメントにする。

4.apache を再起動
# /etc/rc.d/init.d/httpd restart

5.tDiary をリロード。
ってか、再読み込みをするだけ。

以外にも、イッパツで成功。
いや〜、速いって、いいねー。ページの切替えのトキや、記入フォームに入るトキ、なんかに、違いが出るね。


心残り
pluginviewer.rb と、長年日記が使えないコトと、a.rb の辞書登録画面が出ないコト。
でも、実用上、問題ないから、次のバージョンアップまでこのままで逝きましょう。

追加: http://localhost/~jun1/tdiary/?date=20030209
http://localhost/~jun1/tdiary/?date=20030201#p04
http://localhost/~jun1/tdiary/?date=20030210#p01










戻る