■バックナンバー
■外部ブログリンク
■RSSフィード
RSS 1.0 RSS 2.0 Atom 1.0
■このブログのURL
http://sns.cityopera.jp/blog/blog.php?key=19906
2009年09月27日(日) 
つづきパソピア | tDiaryの設置方法
http://pasopia.velvet.jp/paso_modx/index.php?id=56

ロリポップはデータ消失などを起こす信頼性の低いサイトですが(過去3回データ消去に遭遇、今年7月、9月2つのサーバーでも消失)低価格でrubyが使える数少ないレンタルサーバサービスです。データ消失を機会にtDiaryをロリポップのレンタルサーバ上に設置してみました。tDiaryの設置には、ちょっと苦戦しましたので、メモがわりに設置方法を書いておきます

1.tDiaryのダウンロード
  tDiary.org
  http://www.tdiary.org/

  tDiary 2.2.2(2009.09.27時点)安定版

 まず、ここに行ってtDiaryをダウンロード、解凍します。ここではバージョンを2.2.2と仮定して話を進めます。

2.tdiary.confの書き換え
 tdiary-2.2.2/tdiary.conf.sampleはtDiaryの設定ファイルです。このファイルをエディタ(秀丸、Terapad等)で開いて1箇所だけ書き換えを行います。保存するときにtdiary.confと名前を変えます。これをサイトにアップロードする。

「@data_path = '/home/foo/diary'」という記述がありますので、それをtDiaryを置くディレクトリパスではなくrDiaryで書いた日記を保存するディレクトリパスに書き換えます。ロリポップユーザーのホームパスは

/home/sites/lolipop.jp/users/ドメイン名-アカウント名/web/

ですので、仮に「data」というディレクトリに日記を保存する場合は
@data_path = '/home/sites/lolipop.jp/users/ドメイン名-アカウント名/web/data'
という感じになります。きっちり保存して次へ。またサイトの上記のパスにdataディレクトリを作成しておき書き込み可(777)としておきます。・・・これ重要

あ、tDiaryのreadmeには「日記の保存先はwebで参照できないディレクトリにしましょう」という趣旨のことが書かれていますが、ロリポユーザーは出来ません。大勢に影響はありません。

3.dot.htaccessの書き換え(アップロードするときは.htaccessと名前を変えて)

1行目の

Options +ExecCGI というところを

#Options +ExecCGI としてください。(アタマに#、ね)
そして、

<Files update.rb>の「AuthUserFile」と「Require user」の値を書き換えます。これは日記の更新や設定ページへのアクセスを制限するために行います。user名とパスワードを知らないと日記を更新できないようにするためです。

「AuthUserFile」はパスワードファイルへのパスです。tDiaryのアップロード先がdiaryというディレクトリなら
AuthUserFile /work/sites/lolipop.jp/users/ドメイン名-アカウント名/web/diary/.htpasswd
となります。

「Require user」は適当な名前を入れます。この名前で更新ページにログインすることになります。例えば、
Require user hogehoge
といった感じですね。ここも保存して次に進みます。

ロリポップの場合認証の.htacessを自動的に作ってくれる機能がありますのでユーザーでログインして認証作成の機能で作成すると自動的に/web/tdiary/.htpasswdを作ることができます。ただし<Files update.rb>以下の部分だけ作ってくれます。それをコピベするのも一つの方法です。

.htaccess参考例
---------------------------------------
#Options +ExecCGI

# if you run tDiary with symbolic link, use settings below.
#Options +FollowSymLinks

# if making anchor style as 'YYYYMMDD.html', add some settings below.
# SEE header of html_anchor.rb plugin.

AddHandler cgi-script .rb
DirectoryIndex index.rb

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

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

<Files update.rb>
AuthUserFile /home/sites/lolipop.jp/users/ドメイン名-アカウント名/web/tdiary/.htpasswd
AuthGroupFile /dev/null
AuthName "tdiary"
AuthType Basic
require valid-user
</Files>
----------------------------

3..htpasswdの作成

このファイルは自分で作る必要があります。まず、こちらのパスワード暗号化入力欄でパスワードファイルに書く文字列を生成しましょう。このID欄には.htaccessの「Require user」に書いた名前を入力します。

これもユーザ名、パスワードを自動的に作成してくれる機能がロリポップにはありますのでユーザー専用ページにログインして認証作成の機能をつかって作ることが出来ます。これをコピペして.htpasswdとして保存します。これをアップロードして下さい。

4.index.rb、update.rbの書き換え

両方とも1行目の
/usr/bin/env ruby を
    ↓
/usr/local/bin/ruby に書き換えます。(ロリポップのrubyの置かれている位置です)

さて、下準備ができました。
先に修正や追加したファイルがtdiary-2.2.2に全て入っていると思います。その中身を全てアップロードします。この例で行くと、ユーザールートに「diary」というディレクトリを作成して、その中にアップロードします。

6.日記保存ディレクトリの作成
5項「data」というディレクトリを作成します。これが日記テキストの保存場所となります。

7.ファイル名の変更(確認)
この3つのファイル名を変更しましょう。
tdiary.conf.sample→tdiary.conf
dot.htaccess→.htaccess
dot.htpasswd→.htpasswd
と、変更してください。

7.パーミッションの設定
日記の保存ディレクトリ(この例では「data」)→777
tDiaryを置いたディレクトリ(この例では「diary」)→755
erb(Dir)→755
erb内のファイル→644
plugin(Dir)→755
plugin内のファイル→644
skel(Dir)→755
skel内のファイル→644
tdiary(Dir)→755
tdiary内のファイル→644
theme(Dir)→755
theme内のディレクトリ→755
theme内のディレクトリ内のファイル→644
.htaccess→644
.htpasswd→644
index.rb→755
tdiary.conf→644
tdiary.rb→644
update.rb→755

8.動作確認
それでは、確認してみましょう。この例どおり設置していれば、ブラウザで「自分のURL/diary/」にアクセス。「xxxx日記」と表示されたら成功!です。
次に「更新」を押してuser名とパスワードを入力し、更新ページが表示されるかもみてみましょう。

9.設置したサイト
【地域情報つづき】
http://tsuzuki.main.jp/tdiary/

閲覧数7,302 カテゴリ日記 コメント1 投稿日時2009/09/27 13:09
公開範囲外部公開
コメント(1)
時系列表示返信表示日付順
  • 2010/01/29 00:39
    y2_naranjaさん
    この方式で設置できました!
    ありがとうございます
    ひとつだけ。
    7.パーミッションの設定の、erbはリソースの中にないように思います。
    次項有
  • 次項有コメントを送信
    閉じる
    名前 E-Mail
    URL:
■プロフィール
星の王子さん
[一言]
よろしくお願いします。
■この日はどんな日
■最近のファイル
■最近のコメント
■最近の書き込み