ここでは、影舞のインストール方法について記述します。
影舞が動作するためには、Webサーバ と Ruby が必要ですが、 それらのインストール方法などについては、ここでは基本的に解説しません。 また、Webサーバの設定についての記述については、 Apache をベースにしていますので、 利用する環境に応じて適時読み替えてください。
影舞 0.7 からの移行の注意点
Quick Start
install_ja.rb を用いたインストール
GD, GDChart を用いたグラフの作成
mod_ruby の利用
PostgreSQL の利用
MySQL の使用
SQL Server の利用
メールインタフェースの設定
手動でのインストール例
影舞 0.7 から移行する場合には、0.8 を 0.7 と同じディレクトリにインストールしないほうがよいでしょう。 同じディレクトリにインストールすると、データの移行ができなくなります。
0.7 のインストールされたディレクトリの名前を変更しておくか、 0.7 とは別のディレクトリに 0.8 をインストールしてください。
ここでは、影舞をとりあえず動作させて試すための方法を記述します。
$ cd /home/fukuoka/public_html $ tar xfvz kagemai-0.8.2.tar.gz $ mv kagemai-0.8.2 kagemai
$ cat html/.htaccess Options +ExecCGI AddHandler cgi-script .cgi
home_url | サイトのトップなど |
---|---|
project_dir | プロジェクトのデータを保存する場所 |
$ cat html/.htaccess <Files "*.conf*"> deny from all </Files> <Files user.cgi> AuthName Kagemai-User AuthType Basic AuthUserFile /etc/kagemai/user.passwd Require valid-user </Files> <Files admin.cgi> AuthName Kagemai-Administrator AuthType Basic AuthUserFile /etc/kagemai/admin.passwd Require valid-user </Files>
ここでは、install_ja.rb を用いたインストールについて説明します。
# groupadd kagemai
# gpasswd -a apache kagemai
$user | データ用ディレクトリのユーザのID。 |
---|---|
$group | データ用ディレクトリのグループのID。 |
$root_dir | 影舞のライブラリ、リソースなどのディレクトリ |
$html_dir | Web からアクセス可能な、CGI スクリプトなどを置くディレクトリ |
$data_dir | プロジェクトのデータを保存するディレクトリ |
$passwd_dir | .htaccess での認証用のパスワードを置くディレクトリ |
# ruby install_ja.rb
GD と GDChart をインストールすれば、 このページのようにサマリのグラフを表示できます。 グラフが必要なければ、以下の設定を行う必要はありません。
以下の説明でインストールするライブラリは、 http://www.daifukuya.com/archive/kagemai/lib/ にも置いてあります。影舞の動作確認に使用したバージョンが置いてありますが、 各ライブラリは最新のものでは無いかもしれません。
$ tar xfvz gd-2.0.15.tar.gz $ cd gd-2.0.15 $ CFLAGS="-g -O2 -DJISX0208" ./configure ...(snip)... ** Configuration summary for gd 2.0.15: Support for PNG library: yes Support for JPEG library: yes Support for Freetype 2.x library: yes Support for Xpm library: yes ...(snip)... $ make $ sudo make install
$ tar xfvz ruby-GD-0.7.4.tar.gz $ cd ruby-GD-0.7.4 $ ruby extconf.rb --with-ttf --with-freetype $ make $ sudo make install
$ tar xfvz ruby-gdchart-0.0.9-beta.tar.gz $ cd ruby-gdchart-0.0.9-beta $ ruby extconf.rb $ make $ sudo make install
影舞 0.8.0 以降から、mod_ruby で動作させることが可能になりました。 dot.htaccess を参考に、guest.cgi, user.cgi, admin.cgi がそれぞれ、 mod_ruby で起動するように設定してください。
*.cgi の拡張子をたとえば、.rbx に変更する場合には、例えば 以下のようにしてください。
$ cp -p guest.cgi guest.rbx $ cp -p user.cgi user.rbx $ cp -p admin.cgi admin.rbx
guest_mode_cgi : guest.rbx user_mode_cgi : user.rbx admin_mode_cgi : admin.rbx
ここでは、 PostgreSQL を用いてデータ保存を行うために必要な設定について説明します。 ただし、PostgreSQL 自体のインストールについては説明しません。また、 PostgreSQL を用いたデータの保存を行わない場合には、以下の設定は必要ありません。
$ tar xfvz ruby-postgres-0.7.1.tar.gz $ cd ruby-postgres-0.7.1 $ ruby extconf.rb $ make $ su # make install
$ tar xfvz ruby-dbi-all-0.0.23.tar.gz $ cd ruby-dbi-all $ ruby setup.rb config --with=dbi,dbd_pg,dbd_mysql $ ruby setup.rb setup $ su # ruby setup.rb install
$ createuser kagemai Shall the new user be allowed to create databases? (y/n) y Shall the new user be allowed to create more new users? (y/n) n CREATE USER
postgres_host | PostgreSQL が動作しているホスト名。Unix ドメインソケットを利用している場合には、PostgreSQL で設定したディレクトリを指定。デフォルトは、/tmp。 |
---|---|
postgres_port | TCP で接続する場合のポート番号 |
postgres_user | PostgreSQL アカウントのユーザ名 |
postgres_pass | PostgreSQL アカウントのパスワード |
ここでは、MySQL を用いてデータ保存を行うために必要な設定について説明します。
MySQL を用いたデータ保存では、PostgreSQL の場合と違い、 あらかじめデータベースを1つ作成しておいて、それを利用します。
$ mysql -u root -p mysql> create database kagemai;
mysql> grant all to on kagemai.* to kagemai@localhost;
mysql_host | MySQLが動作しているホスト名。デフォルトは、'localhost'。 |
---|---|
mysql_port | MySQLのポート番号。デフォルトは 3306。 |
mysql_user | MySQLのユーザ名 |
mysql_pass | MySQLのパスワード |
mysql_dbname | MySQLの影舞用のデータベース名 |
SQL Server を利用するには以下の設定を行う必要があります。
メールインタフェースを使用するには、まず、mailif.rb 中の kagemai_root, config_file, $LOGFILE の3つの変数が適切に設定されている必要があります。 (install_ja.rb でインストールした場合には、 インストールした時点で自動的に適切な値に設定されます。)
プロジェクトを作成すると、そのプロジェクト用に、 sendmail などで使用可能な include ファイルが作成されます。 これは、例えば以下のような内容になっています。
$ cat /var/lib/kagemai/project/test/include "|/usr/bin/ruby /usr/local/kagemai/bin/mailif.rb test"
ここで、'test' はプロジェクトの ID です。
sendmail であれば、このファイルを呼び出すように /etc/aliases を編集して、 /etc/aliases.db を更新します。
# grep 'test-bugs' /etc/aliases test-bugs: :include:/var/lib/kagemai/project/test/include # /usr/bin/newaliases
include はデフォルトでは group writable なディレクトリに置かれます。 必要に応じて別のディレクトリに移動させて使用してください。
デフォルトのメールテンプレートでは、投稿されたレポートに対応した BTS 上の URL が挿入されますが、正しい URL を入れるためには、"全体の設定の変更" で、 base_url を適切に設定してください。base_url は、guest.cgi がある場所まで の URL です。 例えば、guest.cgi が 'http://www.example.net/kagemai/guest.cgi' にある場合には、 base_url は 'http://www.example.net/kagemai/' に設定します。
また、投稿されたメールが新規のレポートなのか、 既存のレポートへのリプライなのかは、 そのメールの 'Subject', 'In-Reply-To' ヘッダを用いて自動的に判定されます。
ここでは、すべての設定を手動で行った場合のインストール例を示します。
影舞のライブラリなど : /usr/local/kagemai CGI スクリプトなど : /var/www/html/kagemai データ用ディレクトリ : /var/lib/kagemai
$ tar xfvz kagemai-0.8.2.tar.gz $ cd kagemai-0.8.2 $ su # mkdir /usr/local/kagemai # mkdir /var/www/html/kagemai # mkdir /var/lib/kagemai # mkdir /var/lib/kagemai/project # cp -pr bin /usr/local/kagemai # cp -pr lib /usr/local/kagemai # cp -pr resource /usr/local/kagemai # cp -p html/* /var/www/html/kagemai
# groupadd kagemai # cd /var/lib # chgrp -R kagemai kagemai # chmod -R 02770 kagemai
# gpasswd -a apache kagemai
project_dir : /var/lib/kagemai base_url : http://www.example.net/kagemai/
以上。