詳しくはオフィシャルの英語ドキュメントもお読みください。
前準備
必要なソフトウエア
Bugzilla 2.16 は以下の環境で動作します。
- Unix 系の OS: Linux, FreeBSD 等で動作します。バージョン 2.16.X の Bugzilla は Windows では動作しません。2.18 以降の Bugzilla は Windows にインストールできるようですが、このページでは解説していません。
- Perl: Bugzilla は Perl 言語で書かれたスクリプトですので、Perl バージョン 5.005 以降が必要です。
- Apache: Bugzilla は Web ブラウザを介して使用する Web アプリケーションですので、Web サーバが必要です。
- MySQL: データベースシステム。バージョン 3.22.5 以降が必要です。
- sendmail: Bugzilla がメールを送信するために使用します (メール受信はしません)。バージョン 8.7 以降で動作します。sendmail 互換のソフトウェア (qmail など) でも動作するようです。
- Perl モジュール: Bugzilla は Perl の機能を補う Perl モジュール (一覧) も必要としています。Perl モジュールを OS にインストールする必要があるため、レンタルサーバでは Bugzilla が使えないかもしれません。
MySQL 4.1 はお勧めしません
このページで提供している Bugzilla 2.16 日本語版は、MySQL 3.23 または 4.0 だけで動作確認しています。このページを書いたころは MySQL 4.1 は安定版ではありませんでした。
2004年 10月に MySQL 4.1 が安定版になりましたが、日本語文字コード関連で問題があるようです。
- MySQL 4.0から4.1へのアップグレード 、トラブってませんか?
- MySQL 4.0 までは、3.X から 4.0 に upgrade しても、そのまんまなんの影響もなく古いデータを使えました。... 4.1 以上に upgrade するときは、我々日本語キャラクターセットを使う人間は、注意しなくてはならない点が複数存在します
MySQL 4.1 の動作を確認していないため、どんなトラブルがあるのか それともトラブルはないのか 分からないのですが、このページでは MySQL 3.23 か 4.0 を使用することをお勧めしておきます。(2005/2/16 追記)
インストール
OS のインストール
ここでは Intel x86系アーキテクチャの IBM-PC 互換機に RedHatLinux 7.3, FreeBSD 5.1 をインストールしました (2003 年 8 月)。Fedora Core 1 へもインストールしました (2004 年 2 月)。OS そのもののインストール方法は割愛します。
複数の OS で試すからには必須アプリケーションのバージョンもちがうものを使ってみようと思ったので、FreeBSD のほうには 執筆時点 2003年 8月頃における最新バージョン、RedHatLinux のほうには枯れたバージョンを入れることにします。
必須アプリケーションのインストール
Perl
RedHatLinux 7.3 には最初から入っていた Perl 5.6.1 を使用します。FreeBSD のほうに FreeBSD 特有の packages という仕組みを使って Perl 5.8.0 を入れてみました。ですが、使う上ではとくに違いはなかったです。
sendmail
どちらの OS にも最初から入っていました。しかし FreeBSD には問題があります。Bugzilla は /usr/lib/sendmail というファイルを使用してメールを送信しますが、FreeBSD にはこの位置にこのファイルがありません。回避策として、以下のようにシンボリックリンクを貼りました。
# ln -s /usr/sbin/sendmail /usr/lib/sendmail
MySQL・Perl モジュール・Apache
別ページにまとめました。インストール手順ですが、Perl モジュールの一部に MySQL が必要なものがあるので、以下の順序でインストールすることをすすめます。
- MySQL
- Perl モジュール
- Apache HTTPD
各 OS へのインストール方法を説明します。
Red Hat Linux 7.3 へのインストール (2003/8)
- 方針: RPM パッケージを使ってインストール。
- Perl モジュールは CPAN を使ってらくらくインストール。
- Perl 5.6.1, MySQL 3.23, Apache 1.3
FreeBSD 5.1 へのインストール (2003/8)
- 方針: なるべくソースコードから入れる。
- Perl モジュールも ソースコードから一つ一つインストール。
- Perl 5.8.0, MySQL 4.0, Apache 2.0
Fedora Core 1 へのインストール (2004/2)
- 方針: apt を使って、RPM パッケージで入れる。
- Perl モジュールは RPM を作成してからそれをインストール
- Perl 5.8.1, MySQL 3.23, Apache 2.0
MySQL のバージョン3 (3.23.xx) と 4 (4.00.xx) では入力する SQL 文が異なります。上記のページでは RedHat と Fedora は 3.23.xx, FreeBSD が 4.00.xx を説明しています。
Apache HTTPD も 1.3 と 2.0 系で少し設定が異なります。
Perl モジュールはいろんなインストール方法があります。上記の 3 つのうち、CPAN を使うのが一番ラクで早いです。ソースコードから入れたり RPM から入れる方法は面倒ですので参考としてお読みください。
また Msql-Mysql-modules という Perl モジュールを RedHat と FreeBSD のページで挙げていますが、これは使わないでください。以前はこれでよかったのですが、2004 年現在では代わりに DBD::mysql モジュールを使用するようになっています。
Bugzilla
インストール位置は どのディレクトリでもよいのですが、今回は /var/www/bugzilla にインストールすることにします。
- Bugzilla 日本語版を用意します。
- Bugzilla の CGI ファイルは、 perl の実行ファイルへのパスがおかしな所 /usr/bonsaitools/bin/perl を指しています。この位置へのシンボリックリンクを作成します。
# mkdir -p /usr/bonsaitools/bin # ln -s /usr/bin/perl /usr/bonsaitools/bin/perl
または CGI ファイルをすべて書き換えます。$ cd /var/www/bugzilla-xxx $ perl -pi -e 's@#\!/usr/bonsaitools/bin/perl@#\!/usr/bin/perl@' *cgi *pl Bug.pm processmail syncshadowdb
- セキュリティのために、CGI ファイルを Web サーバを実行するユーザ (ここでは apache) でしか実行できないようにします。
まずファイルの所有ユーザを、Web サーバの実行ユーザと同じにします。# chown -R apache:apache .
そしてファイルの実行権を所有ユーザだけに与えます# chmod -R go-rwx .
- checksetup.pl を実行します。このとき、MySQL サーバ (mysqld) を起動しておきます。
checksetup.pl には複数の役割がありますが、まず Perl モジュールが正常にインストールされているかチェックします。Perl モジュールのバージョンが低かったりインストールされていないものがあると、警告文を表示してストップします。そのときは入ってないといわれた Perl モジュールをインストールして、また checksetup.pl を実行します。
$ ./checksetup.pl
- 必要な Perl モジュールが揃っていれば localconfig というファイルが作成されます。このファイルをテキストエディタで開いて編集します。
- MySQL の 実行バイナリがあるディレクトリ (たとえば /usr/local/mysql/bin 等)
- Apache Web サーバを動作させるユーザ名 (たとえば apache 等)
- MySQL の bugsユーザのパスワード (MySQL インストールで bugs ユーザを作ったとき決めたパスワードです)
- checksetup.pl をまた実行します。このとき Unix の root ユーザで実行したほうがいいようです。そうしないと
webservergroup
がどうのこうのという警告がでます。# ./checksetup.pl
localconfig が存在する場合、このスクリプトは データベースを設定します。
localconfig ファイルに書かれた MySQL のユーザやパスワードにしたがって MySQL サーバと接続します。そして Bugzilla のデータを保存するデータベース (デフォルトでは bugs) が無ければ作成して、データベースの中に テーブル や カラム も作成します。
もしたとえば Bugzilla 2.12 で作ったデータベースが既に存在していた場合、ここで自動的に Bugzilla 2.16 のデータベース構造に更新してくれます。
次にメールアドレスをきかれますが、これは Bugzilla 管理者のメールアドレスになります。Looks like we don't have an administrator set up yet. Either this is your first time using Bugzilla, or your administrator's privs might have accidently gotten deleted at some point. Enter the e-mail address of the administrator: admin@foo.or.jp You entered 'admin@foo.or.jp'. Is this correct? [Y/n] Y Enter the real name of the administrator: Admin User Enter a password for the administrator account: パスワードを入力します Please retype the password to verify: パスワードを入力します
Web ブラウザから Bugzilla にログインするとき上記のメールアドレスとパスワードを使うと、Bugzilla 管理者としてプロダクト追加や ユーザの編集などがおこなえます。 - それでは Web ブラウザで Bugzilla を見てみましょう。ブラウザの URL 欄にその PC のホスト名あるいは IPアドレスを入力して正常にトップページが表示されれば OK です。
Bugzilla 管理者としてログインして、画面下の「パラメータ」を押下し運用パラメータを設定します。最低限、maintainer と urlbase を設定してください。
画面下の「プロダクト」を押下しプロダクト・バージョン・コンポーネントを登録します。
以上で Bugzilla のインストールは完了です。
ですが、Bugzilla のグラフを表示するためにはグラフの設定もする必要があります。