インストール/設定

debian package使用

$ sudo aptitude install tdiary tdiary-theme tdiary-plugin tdiary-mode

インストールされるパッケージ
apel libsp1 make psgml sgml-base sgml-data sp tdiary tdiary-mode xml-core

コマンドなど
/usr/bin/tdiary-convert2 -> ../share/tdiary/misc/convert2.rb
tdiary-setup

[#c2d6f682]

tdiary-setup
例:tdiary-setup default /home/foo/public_html/diary(←webからアクセス出来る場所 例えばhttp://www.example.jp/diaryとなる)

実行例:

tdiary-setup default /home/diary/public_html/diary(Webからアクセスさせた場所)
Input data_path (default: /home/diary/data): /home/diary/data(データの置き場所)
Choose English, Japanese, Traditional-Chinese [E/j/z]: j(言語の設定。日本語はJ)
(確認↓)
data_path: /home/diary/data
language: j
Correct? [Y/n]: Y
Input password for root in /home/diary/.htpasswd: rootのパスワード
Input again to confirm: rootのパスワード同じ物
Install tdiary files into /home/diary/public_html/diary. (終了)
  1. /home/diary/dataのpermissionをchmod 775 dataにしておく。
  2. apache2の設定をAllOverride?をAllにしておく。大体(apache2)は/etc/apache2/site-enabled/defaultに書いてる。
  3. その後WEBからアクセスしてみる。簡素なページが出てくるので、/home/diary/public_html/diary/tdiary.confや追記>設定の部分で変更などを行う
  4. tDiary のテーマライブラリ (tdiary-theme) は /var/www/tdiary/theme/に入る。
    1. もしtdiaryを使いたい場所が/var/wwwではないとthemeを設定から選んでも反映されない。なので、一度/usr/share/tdiary/plugin/theme_url.rbの設定を変更して
       '/tdiary/theme' ->  './tdiary/theme'
      する
  5. その後使用しているディレクトリに行って(/home/diary/public_html/diary)シンボリックリンクでもいいし、コピーしてきてもいいと思う。ln -s /var/www/tdiary /home/diary/public_html/diary/みたいに。

ソースからインストール(aptitude 使わず)

  1. まずrubyが入っているかどうか確認
    amori@popo:/var/www/nik$ /usr/bin/ruby -v
    ruby 1.8.2 (2005-04-11) [i386-linux]
  2. うむ、入っていた。っていうかなんかいろいろ入れてる私。
    amori@popo:/var/www/nik$ dpkg  -l | grep ruby
    ii  libapache-ruby 1.2.4-1        Ruby libraries for mod_ruby
    ii  libdpkg-ruby1. 0.3.1          modules/classes for dpkg on ruby 1.8
    ii  librd-ruby1.8  0.6.16-3       RDTool library for Ruby 1.8
    ii  libruby1.8     1.8.2-7sarge2  Libraries necessary to run Ruby 1.8
    ii  libuconv-ruby1 0.4.12-1       Unicode/EUC-JP translation module for Ruby 1
    ii  ruby           1.8.2-1        An interpreter of object-oriented scripting 
    ii  ruby1.8        1.8.2-7sarge2  Interpreter of object-oriented scripting lan
  3. tDiaryをダウンロード。置き場所は/usr/lib/cgi-binの配下に置いて、ln -s /usr/lib/cgin-bin/nik nikとしてみた。
  4. そしてindex.rbとupdate.rbのpermissionを変える(wwwサーバがアクセス出来るように775にしてみた)
  5. なんか/usr/bin/envを使った起動が必要らしいので、確認。大丈夫だ。もし違う場所にある場合は各ファイルの先頭を、rubyのパスに書き換える必要があるんだって。ふーん
    amori@popo:/var/www/nik$ whereis env
    env: /usr/bin/env /usr/share/man/man1/env.1.gz
  6. dot.htaccessを変更して.htaccessにして下記を追加。真似してみた。
    Options +ExecCGI
    AddHandler cgi-script .rb #これはapache2.confに追加済みなのでいらない
    気もするけど...
    DirectoryIndex index.rb  #index.rbをデフォルトのファイルに設定出来るそう。へー
    <Files "*.rhtml">   #--*.rhtmlのファイルの参照を禁止する
      deny from all
    </Files>
    <Files "tdiary.*"> #tdiary.*のファイルの参照を禁止する
     deny from all
    </Files>
    <Files update.rb> #update.rbへのアクセスにはユーザ認証を必要とする
    AuthName      tDiary
    AuthType      Basic
    AuthUserFile  /var/www-info/.htpasswd  
    Require user  aya
    </Files>
  7. データ保存場所を作る。外界に触れる場所には置かないようにする事が大事だ
  8. tdiary.confの@data_path = '/home/foo/diary'をデータ保存場所のパスに書き換える

プラグインの設定

tb-send.rb

設定方法はこちら
でも設定ページから選択をすると、上記に書いてある事は大体してくれる。
しかし/home/diary/public_html/diary/以下に置かれているtb.rbのpermissionが700になっているので、それを755に変更する。

おっと後旧サーバではtdiary.confに

@options['tb.cgi'] = './tb.cgi'

を追加していたけど、これは使わない事にしたのでコメントアウト。

antispam.rb

最近多発しているツッコミspamへの対策
メインに

  1. メールアドレスに、@yahoo.com、@hotmail.com、@gmail.com、@aol.com、@leroy.com、@ablare.com、@gmx.comを含むツッコミを記録しない
  2. メールアドレスが正しい形式になっていないツッコミを記録しない
  3. 本文に「href=」を含むツッコミを記録しない(aタグが使われていると判断)
  4. 本文にURLを3つ以上含むツッコミを記録しない だそうです。

なので導入してみた。
/usr/share/tdiary/tdiary/filterにantispam.rbとして上記URLの内容をコピペ。

-rw-r--r--  1 root root  672 2007-04-22 13:27 antispam.rb

comment spamが多発していたので、

 elsif comment.body =~ /comment/

を上記のantispam.rbに追記してみた。

tdiary-rejectSPAM-patch.txt

後青木さんが作ったこれはチェックボタンにチェックをいれさせるもので、そこそこ効果がある。
http://i.loveruby.net/archive/d/tdiary-rejectSPAM-patch.txt

<input type="checkbox" name="ishuman">

の部分を

<input type="checkbox" name="notspam">

などとして名前を変えた方がいい。上記のishumanの部分を含んでspamが投稿してくるので、面倒だけどこまめに変えるとよいかも。 変える部分は

  • skel/diary.rhtml
  • index.rb

ネタバレ.rb

作成者URL
なるほど。ちょっとしたのにはいいかもね。

その他の設定

pluginを読み込まない
/home/diary/public_html/diary/tdiary.confに
@options['sp.path']で設定をする。通常の場合は必要ない。私は同じoptionで二行違う内容を設定していたので、エラーで表示されなかった:-p

参考URL


Last-modified: 2012-03-12 (月) 17:05:23 (166d)