This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
|
install:hook [2010/04/17 06:56] smeghead 作成 |
install:hook [2021/06/08 13:49] (current) |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== インストール方法 ====== | ||
| - | |||
| - | Starbug1は、SQLite3、cgic、gettext、iconvを使用しています。 コンパイルするためには、rsync、gettext、sqlite3、cgicが必要です。(FreeBSDでコンパイルするには、それらに加えてlibiconvが必要になります。) | ||
| - | |||
| - | ===== 基本ソフトウェアのインストール ===== | ||
| - | |||
| - | gcc, gettext, rsyncをインストールして下さい。 | ||
| - | Ubuntuの場合は、以下のコマンドを実行して必要なソフトウェアをインストールできます。 | ||
| - | |||
| - | <code> | ||
| - | sudo apt-get install build-essential gettext rsync | ||
| - | </code> | ||
| - | |||
| - | ===== SQLite3のインストール ===== | ||
| - | |||
| - | OSに、SQLite3がインストールされている場合(libsqlite3.so, sqlite3.hが 存在する場合)は、SQLite3のインストールは不要です。 | ||
| - | http://www.sqlite.org/ から、 sqlite-3.5.4.tar.gz をダウンロードする。(SQLite3のバージョンは、特に3.5.4である必要はありません。最新版に読み替えてください。) | ||
| - | |||
| - | <code> | ||
| - | $ wget http://www.sqlite.org/sqlite-3.5.4.tar.gz | ||
| - | </code> | ||
| - | |||
| - | 適当な場所に展開し、コンパイル、インストールする。 | ||
| - | |||
| - | <code> | ||
| - | $ tar zxf sqlite-3.5.4.tar.gz | ||
| - | $ mkdir bld | ||
| - | $ cd bld | ||
| - | $ ../sqlite-3-5-4/configure --disable-tcl | ||
| - | $ make | ||
| - | $ su | ||
| - | # make install | ||
| - | </code> | ||
| - | | ||
| - | |||
| - | ===== cgicのインストール ===== | ||
| - | |||
| - | OSに、cgicl205以上がインストールされている場合は、cgicのインストールは不要です。 | ||
| - | http://www.boutell.com/cgic/ から cgic205.tar.gz をダウンロードする。 | ||
| - | |||
| - | <code> | ||
| - | $ wget http://www.boutell.com/cgic/cgic205.tar.gz | ||
| - | </code> | ||
| - | | ||
| - | 適当な場所に展開し、コンパイル、インストールする。 | ||
| - | |||
| - | <code> | ||
| - | $ tar zxf cgic205.tar.gz | ||
| - | $ cd cgic205 | ||
| - | $ make | ||
| - | $ su | ||
| - | # make install | ||
| - | </code> | ||
| - | | ||
| - | ===== Starbug1のコンパイル ===== | ||
| - | |||
| - | ソースを取得する。 | ||
| - | |||
| - | Downloadから最新ソースを取得する。https://sourceforge.jp/projects/starbug1/ | ||
| - | ==== コンパイル ==== | ||
| - | |||
| - | 取得したソースを展開しコンパイルします。 | ||
| - | |||
| - | <code> | ||
| - | $ tar zxf starbug1-x.x.x.tar.gz | ||
| - | $ cd starbug1 | ||
| - | $ make INITIAL_LOCALE=ja_JP | ||
| - | $ make webapp | ||
| - | </code> | ||
| - | | ||
| - | ※Starbug1をコンパイルする場合は、gnuのmakeが必要です。OSがFreeBSDなどの場合で、makeがgnuのmakeでない場合は、gmakeを使用してコンパイルしてください。 | ||
| - | dist/starbug1 ディレクトリに、webアプリ一式が生成されます。 | ||
| - | |||
| - | |||
| - | Starbug1 1.3以降の場合、他言語で使用することができます。(1.3.01では、日本語、英語、簡体中国語に対応しています) | ||
| - | |||
| - | === 英語版としてコンパイルする場合 === | ||
| - | |||
| - | <code> | ||
| - | $ tar zxf starbug1-x.x.x.tar.gz | ||
| - | $ cd starbug1 | ||
| - | $ make INITIAL_LOCALE=en_US | ||
| - | $ make webapp | ||
| - | </code> | ||
| - | |||
| - | === 簡体中国語版としてコンパイルする場合 === | ||
| - | |||
| - | <code> | ||
| - | $ tar zxf starbug1-x.x.x.tar.gz | ||
| - | $ cd starbug1 | ||
| - | $ make INITIAL_LOCALE=zh_CN | ||
| - | $ make webapp | ||
| - | </code> | ||
| - | |||
| - | ==== Starbug1の配置 ==== | ||
| - | |||
| - | Webサーバ(動作確認しているのはapache)のDocumentRoot配下に dist/starbug1 ディレクトリを配置します。下の例は、/var/www/ をDocumentRootとした場合です。 | ||
| - | |||
| - | <code> | ||
| - | $ su | ||
| - | # cp -r dist/starbug1 /var/www/ | ||
| - | </code> | ||
| - | |||
| - | |||
| - | (インストールディレクトリ)/starbug1 配下をcgi実行ユーザの権限に変更します。 | ||
| - | |||
| - | <code> | ||
| - | # cd /var/www | ||
| - | # chown -R www-data:www-data starbug1 | ||
| - | </code> | ||
| - | |||
| - | ==== Webサーバに合わせた設定ファイルを適切に編集します。(以下はapache用設定です) ==== | ||
| - | |||
| - | dot.htaccessを.htaccessにファイル名変更して、 各設定を適切に行なってください。 Apache以外のWebサーバで運用する場合は、それぞれのWebサーバに合わせて同様の設定を行なってください。 | ||
| - | |||
| - | <code sh> | ||
| - | $ mv dot.htaccess .htaccess | ||
| - | $ cat .htaccess | ||
| - | </code> | ||
| - | |||
| - | <code apache> | ||
| - | # エラーページの指定 | ||
| - | ErrorDocument 500 /starbug1/error.html | ||
| - | # CGIの実行許可 | ||
| - | AddHandler cgi-script cgi | ||
| - | Options +ExecCGI | ||
| - | # 初期ページの設定 | ||
| - | DirectoryIndex index.cgi | ||
| - | |||
| - | # 一般ユーザの認証についての設定 | ||
| - | <Files index.cgi> | ||
| - | AuthName "authentication for guest user." | ||
| - | AuthType Basic | ||
| - | AuthUserFile /etc/starbug1/.guest-passwd | ||
| - | Require valid-user | ||
| - | </Files> | ||
| - | |||
| - | # 管理ユーザの認証についての設定 | ||
| - | <Files admin.cgi> | ||
| - | AuthName "authentication for administrator user." | ||
| - | AuthType Basic | ||
| - | AuthUserFile /etc/starbug1/.admin-passwd | ||
| - | Require valid-user | ||
| - | </Files> | ||
| - | # 隠すファイルやディレクトリ | ||
| - | <FilesMatch ".*"> | ||
| - | deny from all | ||
| - | </FilesMatch> | ||
| - | # 見せるファイル | ||
| - | <FilesMatch "(^$|\.cgi$|\.jpg$|\.png$|\.gif$|\.css$|\.js$)"> | ||
| - | allow from all | ||
| - | </FilesMatch> | ||
| - | </code> | ||
| - | |||
| - | * エラーページの指定 | ||
| - | |||
| - | URLを適切に指定してください。アプリのフォルダ名(starbug1)を変更した場合は、エラーページの指定のURLを変更してください。 | ||
| - | |||
| - | * CGIの実行許可 | ||
| - | |||
| - | 不要であれば、コメントアウトしてください。 | ||
| - | |||
| - | * デフォルトページ(welcomeページ) | ||
| - | |||
| - | 不要であれば、コメントアウトしてください。 | ||
| - | |||
| - | * Basic認証 | ||
| - | |||
| - | Basic認証を使用する場合、htpasswdなどでパスワードファイルへのユーザの登録を行なってください。 一般ユーザと管理ユーザの設定を別々に行なう場合は、両方を正しく設定してください。不要であればコメントアウトしてください。 httpd.confを編集できる場合は、同等の設定を、httpd.confで行なう方が望ましいです。 | ||
| - | |||
| - | |||
| - | http://www.example.com/starbug1/index.cgi にアクセスします。(www.example.comはインストールしたサーバ名に変更してください) | ||
| - | |||
| - | トップ画面が表示されれば、インストール成功です。 | ||
| - | |||
| ====== hook機能について ====== | ====== hook機能について ====== | ||
| Line 230: | Line 55: | ||
| === perlモジュールのインストール === | === perlモジュールのインストール === | ||
| - | 添付のサンプルメール送信スクリプトは、HTTP::Dateと、JSON:Syckを利用しています。あらかじめ、cpanなどでインストールしておいてください。 | + | 添付のサンプルメール送信スクリプトは、HTTP::Dateと、JSON:Syckを利用しています。あらかじめ、cpanなどでインストールしておいてください。(JSON:Syckは、YAML:Syckに含まれています) |
| === メール送信スクリプトの設定 === | === メール送信スクリプトの設定 === | ||
| Line 270: | Line 95: | ||
| 注意: ここで、モジュールが見付からないというエラーが発生した場合は、不足しているライブラリをインストールしてください。 | 注意: ここで、モジュールが見付からないというエラーが発生した場合は、不足しているライブラリをインストールしてください。 | ||
| 以上の設定を行なった後、チケットの登録・返信を行なって、動作確認を行なってください。 | 以上の設定を行なった後、チケットの登録・返信を行なって、動作確認を行なってください。 | ||
| + | |||
| ===== hookスクリプトの注意点 ===== | ===== hookスクリプトの注意点 ===== | ||
| ただし、さくらインターネットなどレンタルサーバでは外部プログラムの実行が制限されている場合があります。その場合、starbug1のソースのmodule/hook_mail にあるメール送信を行なう共有ライブラリを作成し、$(インストールディレクトリ)/script/ に配置する方法でもメール送信を行なうことができます。 | ただし、さくらインターネットなどレンタルサーバでは外部プログラムの実行が制限されている場合があります。その場合、starbug1のソースのmodule/hook_mail にあるメール送信を行なう共有ライブラリを作成し、$(インストールディレクトリ)/script/ に配置する方法でもメール送信を行なうことができます。 | ||
| - | |||
| - | ====== DB構成について ====== | ||
| - | Starbug1は、データストレージとしてsqlite3を利用しています。一つのプロジェクト(サブプロジェクトの情報も含む)で、複数のデータベースファイルに保存されます。作成される各データベースと対応するファイル名は、以下のようになります。 | ||
| - | |||
| - | ^ データベースの種類 ^ ファイル名 ^ | ||
| - | | プロジェクト全体 | db/1.db | | ||
| - | | 1つ目のサブプロジェクト | db/2.db | | ||
| - | | 2つ目のサブプロジェクト | db/3.db | | ||
| - | | 3つ目のサブプロジェクト | db/4.db | | ||
| - | |||
| - | インストールしたStarbug1に、初期アクセスがあった時は、プロジェクト全体の情報を保存するdb/1.dbと、最初のデフォルトサブプロジェクトの情報を保存するdb/2.dbが作成されます。その後、トップのプロジェクト管理ツールのリンクからプロジェクトを追加した場合には、2つ目のサブプロジェクト用のデータベースが作成されます。各サブプロジェクトと、データベースファイルの対応は、トップのプロジェクト管理ツールのサブプロジェクト一覧から確認できます。 | ||
| - | |||
| - | |||
| - | ====== バックアップの方法 ====== | ||
| - | |||
| - | Starbug1で定期的にバックアップを行ないたい場合は、${インストールディレクトリ}/db/*.db をバックアップしてください。 *.dbは、ただのSQLite3のデータベースファイルです。 | ||
| - | 例えばcronに登録する場合は以下のようにcrontab -e で設定すれば、バックアップできます。 | ||
| - | <code> | ||
| - | # /var/www/starbug1 にインストールされたStarbug1のデータベースを、 | ||
| - | # gzipで圧縮して /var/backup 以下に保存する場合です。 | ||
| - | 0 1 * * * tar zcf /var/backup/starbug1backup_$(date +%Y%m%d).tar.gz /var/www/starbug1/db | ||
| - | </code> | ||
| - | | ||
| - | |||
| - | ====== 設定情報をエクスポートする機能について ====== | ||
| - | |||
| - | ===== 概要 ===== | ||
| - | |||
| - | 設定情報をエクスポートすることができます。 設定情報とは、プロジェクトに設定された項目、項目の選択肢などの情報とユーザ用スタイルシートです。 既に存在するプロジェクトから、設定情報を取得し、新しいプロジェクトに設定情報を移行することができます。 | ||
| - | |||
| - | ===== 既に存在するプロジェクトの設定データを保存する方法 ===== | ||
| - | |||
| - | 既に存在するプロジェクトの動作環境のサーバ上でコマンドを実行します。 | ||
| - | |||
| - | <code sh> | ||
| - | # cd /somewhere/to/old/project | ||
| - | # cd script | ||
| - | # ./pickup_template | ||
| - | </code> | ||
| - | | ||
| - | 実行後、template ディレクトリが作成され、内部にテンプレートが作成されます。既にtemplateディレクトリが存在する場合、削除されますのでバックアップが必要な場合は先にバックアップしてください。 | ||
| - | ==== 保存した設定データを新しいプロジェクトに反映させる方法 ==== | ||
| - | |||
| - | 新しいプロジェクトをインストールします。正常にインストールが完了した状態で、保存してあったtemplateディレクトリを上書きします。 | ||
| - | |||
| - | <code sh> | ||
| - | # cp -r /somewhere/to/old/project/template/* /somewhere/to/new/project/ | ||
| - | </code> | ||
| - | |||
| - | その後、新しいプロジェクトのdbディレクトリの所有者をhttpサーバの実行ユーザに変更します。 | ||
| - | <code sh> | ||
| - | # cd /somewhere/to/new/project/ | ||
| - | # chown -R www-data:www-data db | ||
| - | </code> | ||
| - | |||
| - | 以上で、新しいプロジェクトに古いプロジェクトの設定情報が反映されます。 新しいプロジェクトと古いプロジェクトのバージョンが違う場合は、正常に反映されない又は正常に動作しない可能性があります。 | ||
| - | |||
| - | ====== うまく動かない場合 ====== | ||
| - | |||
| - | * インストール完了したが、ブラウザで http://www.example.com/starbug1/ にアクセスするとエラーが発生し、Webサーバのエラーログに、「Premature end of script headers: index.cgi」のようなメッセージが出力される。 | ||
| - | |||
| - | CGIを実行する権限があるか確認してください。以下のような簡単なperlのcgiスクリ プトをstarbug1ディレクトリに配置し実行権限を付加して動作するかどうか確認す ることで、CGI自体が有効になっているかどうかを確認できます。 | ||
| - | |||
| - | <code perl> | ||
| - | #!/usr/bin/perl | ||
| - | print "Content-Type: text/plain;\n\nhello."; | ||
| - | </code> | ||
| - | |||
| - | Webサーバプロセスユーザが、starbug1ディレクトリに書き込み権限があるか確認し てください。データベースファイルを格納するために、Webサーバプロセスユーザが starbug1ディレクトリに書き込み可能となっている必要があります。 | ||