Create  Edit  Diff  トップページ  Index  Search  Changes  History  Source  RSS  wikifarm  Login

インストール

MoBo? のインストールと設定

MoBo? を動かすためには何はなくとも、まず Ruby が必要です。

インストール例で前提とする環境

一般的なCGIの実行を許可しているISPやレンタルサーバ上で利用する場合を想定し、 以下のような環境を例に説明します。

  • WWWサーバ: Apache 1.3.x
  • ユーザ名: foo
  • MoBo? の URL: http://www.hoge.example.org/~foo/mobo/
  • 上記 URL のパス: /home/foo/public_html/mobo/
  • データ格納用のパス: /home/foo/mobo/

CGIスクリプトの設定

配布アーカイブを展開し、中身をすべて /home/foo/public_html/mobo/ にコピーします。 index.rb が CGI スクリプト本体なので、WWW サーバの権限で実行可能なようにパーミッションを設定してください。

また、/usr/bin/env を使った起動ができない環境では、各ファイルの先頭をRubyのパスに書き換える必要があるでしょう。 ISP のホームディレクトリにこっそり Ruby を入れたような場合を除き、通常はあまり気にしなくても良いはずです。

.htaccessの作成

続いて、CGI の実行環境を整えます。dot.htaccess.htaccessにリネームして、 環境に合わせて書き換えます。添付のサンプルは以下のようになっています。

Options +ExecCGI

AddHandler cgi-script .rb
DirectoryIndex index.rb

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

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

<Files "*.rb">
        AuthName      MoBo
        AuthType      Basic
        AuthUserFile  /home/foo/.htpasswd
        Require user  foo
</Files>

ここでは、

  • CGIの実行を可能にし、
  • サフィックス「.rb」のファイルをCGIと認識させ、
  • indx.rbをデフォルトのファイルに設定し、
  • *.rhtml および mobo.* のファイルの参照を禁止して、
  • *.rb へのアクセスはユーザ認証が必要

という設定になっています。 とりあえず書き換えが必要なのは、AuthUserFileとRequire userでしょう。 意味は Web ででも調べて下さい。 AuthUseFileは、あらかじめhtpasswdコマンドで作成しておく必要があります (これも Web で調べればわかります)。

また、利用する WWW サーバの設定が、CGI の実行ファイルのサフィックスを固定 (例:.cgi) にしている場合があります。 この場合、AddHandlerやDirectoryIndexも変更する必要があるでしょう。これに応じて、index.rbやupdate.rbのファイル名も変更する必要があります。

mobo.conf の作成

次に、mobo.conf.sample を mobo.conf にリネームして、内容を書き換えます。これは Ruby スクリプトとして、CGI に直接読み込まれます。MoBo の設定はほとんど CGI 経由で行えるので、最低限書き換えるべきなのは最初に出てくる @data_path だけです。

@data_path = '/home/foo/diary'

@data_path は、家計簿のデータを保存するディレクトリです。 このディレクトリは通常、WWW 経由でアクセスできない (public_html 配下でない) ディレクトリを指定します。このディレクトリは、WWW サーバの権限で書き込めるパーミッションにしておく必要があります。

mobo.conf には、他にもいろいろな設定項目を記述できます。それらの項目には以下の二つの種類があります。

CGI で設定できない項目

@data_path のように、CGI では設定できない項目です。これらの項目は、mobo.conf ファイルを直接編集して変更しなければいけません。

CGI で設定できる項目

変更画面のメニューにある「設定」を開くと、ブラウザから MoBo? の設定を変更できます。ほとんどの項目はここから設定できるので、わざわざ mobo.conf を手で書き換える必要はありません。

各々の項目については、mobo.conf.sample の説明を読んでください。一般的な使用では、@data_path だけを正しく設定すれば、あとはブラウザから変更が可能です。

また、サフィックス.rb のファイルを CGI スクリプトとして指定できない環境では、index.rb や update.rb のファイル名を変更する必要がありますが、この変更を MoBo? に教えるために、@index や @update という変数が用意されています。環境によってはこれも指定する必要があるでしょう。

mobo.conf の設定が終わったら、http://www.hoge.example.org/~foo/diary/ にアクセスしてみましょう。からっぽの家計簿ページが出れば設定は正しいです。不幸にして「Internal Server Error」が出てしまったら、Apache のエラーログを参照して間違った設定を修正してください。

セキュリティ

mobo.conf には、MoBo の設定を CGI から行う場合のセキュリティレベルを調整する変数があります。自分が管理する Web サーバで、自分だけが使う場合にはあまり気にしなくても良いですが、知人に貸したり、MoBo を使った家計簿サービスを提供するような場合には、ユーザにできることを制限したい場合が少なくありません。

そこで、mobo.conf 中でセキュリティの設定を行います。通常、mobo.conf の末尾には以下の 2 行が書かれています。

@secure = false
load_cgi_conf

@secure は、セキュリティ設定を指定する変数です。この値が false の場合、セキュリティチェックはいっさいかかりません。ユーザは CGI 設定で好き放題ができます。それでは危険という状況下で MoBo? を運営する場合には、@secure の値を true にします。そうすると、CGI 設定中における危険な変数操作やファイル操作が禁止されます。

また、@secure の値は、家計簿の表示時に後述するプラグインを実行する場合にも影響を及ぼします。これにより、@secure が true の場合には、いくつかのプラグインが利用できなくなります。

load_cgi_conf はその位置で CGI による設定を読み込む指令です。つまり、@secure でセキュリティレベルを設定したあとでファイルを読み込むようになっています。

なお、両者の指定位置は独立しているので、両者の位置を組み合わせることで様々な設定を行うことが可能です。また、@secure を指定しない場合のデフォルト値は true です。

Last modified:2004/01/05 14:48:31
Keyword(s):
References:[ドキュメント]