レベル: 初級 Jason Clark (jclark4@us.ibm.com), developerWorks Systems Integrator, IBM
2005年 3月 18日 サポートの場に身を置く人たちにとって、問題点を監視し、それに対して適用される修正プログラムを常に把握することは、大変な作業です。しかし、この課題に対する理想的なオープン・ソース・ソリューションがあります。それが Bugzilla です。Bugzilla をインストールすると、バグを容易に追跡でき、特定の問題やその解決策が見つかると通知を受け取ることができます。この記事では、Linux™システムに Bugzilla をインストールするためのガイドを、順を追って説明します。
Bugzilla は、障害やバグを追跡するシステムです。-- このシステムを使用すると、開発者個人や開発者のグループは、製品に潜むバグを追跡できます。この種のシステムを利用すると、ユーザーは、バグやコードの変更点の追跡、対策に関する他のチーム・メンバーとの意見交換、修復パッチの発行と検討、品質保証の管理を行うことができます。
Bugzilla が多くの開発者から高く評価されている理由は、次のとおりです。
- 必要な機能がすべて実装されている。
- 多くの開発者によって積極的に支持されていて、日常的に Bugzilla を使用して作業している多くのユーザーによって頻繁にアップグレードされている。
- オープン・ソースである。
- 無償で提供されている。
Bugzilla は、IBM の Linux Technology Center など、多数の企業や団体で使用されています。この記事に掲載されている Bugzilla のインストール手順を使用すると、このバグと解決法の追跡ツールを Linux システムに追加できます。
インストール要件
Bugzilla の安定したバージョンとしては最新である 2.18rc3 では、Linux システムに以下のバージョンのソフトウェアをインストールする必要があります (リンク先については「参考文献」を参照)。
- Perl バージョン 5.6.0 以上。以下のバージョンの Perl モジュールが組み込まれていること。
-
AppConfig 1.52
-
CGI 2.93
-
Data::Dumper, any version
-
Date::Format 2.21
-
DBI 1.36
-
DBD::mysql 2.1010
-
File::Spec 0.82
-
File::Temp, any version
-
Template 2.08
-
Text::Wrap 2001.0131
- MySQL バージョン 3.23.41 以上
- AHTTP Web サーバー。Apache または IBM_HTTP サーバーを推奨 (このプロセスでは Apache を使用します)
- Sendmail 8.7 以上などのメール転送エージェント
Perl や MySQL のソフトウェア改訂レベルが適切かどうか、Apache がインストールされているかどうかが分からない場合は、次のようにするとソフトウェアのパッケージを確認できます。
- Perlを確認する場合は、
$ perl -vと入力します。
- MySQLを確認する場合は、
$ mysql -Vと入力します。
Web サーバーのバージョンを確認する場合は、次のように入力すると Web サーバーのテスト・ページに移動できます。 http://<your-machine-name>/
Web サーバーのテスト・ページには、サーバーに関する基本的な情報がすべて記載されているため、インストールが正常に実行されたことを確認するには非常に適しています。
この記事では Bugzilla のインストールのみを対象にしているため、Perl、MySQL、Apache、および sendmail はすでに稼働しているか、またはこれらのソフトウェアをインストールできることを前提にしています (これらのソフトウェアが必要な場合は、「参考文献」のセクションを参照してください)
インストールの開始
 |
お急ぎの場合
お急ぎの場合は、このチェックリストを使用して Bugzilla をインストールしてください(参考のため、該当するコード・セクションへのリンクが用意されています)。
- Bugzilla のサイトから、最新のlatest tarball を入手します。
- Bugzilla tarball をアンパック します。
- 適切な Perl モジュールをインストール します。
- 必要な場合は正しい Perl モジュールを CPAN から入手します。
- 手順 4 を実行した場合は、手順 3 をもう一度実行し、正しい Perl モジュールがあるかどうかを確認します。
- bugzilla ディレクトリーで、localconfig ファイルを作成 します。
- MySQL データベースにアクセスできるように localconfig ファイルを構成 します。
- MySQL のインスタンスに接続します。
- Bugzilla のデータベース・アカウントを作成 します。
- Perl モジュールのセットアップ確認を再実行 します。
- HTTP サーバーの構成ファイルを編集 します。
- Bugzilla のページに移動し、checksetup.pl Perl スクリプトを使用して作成した管理者のアカウントおよびパスワードでログインします。
- これで終了です。
|
|
最初に、Bugzilla の Web サイト (リンク先については「参考文献」を参照) ) に移動して、アプリケーションの最新の tarball をダウンロードします。Web サーバーのユーザーがアクセスできるディレクトリーに tarball を置きます。この記事では、Apache Web サーバーを使用するため、Apache のデフォルトのディレクトリーに tarball をダウンロードします。Apache の最も基本的なインストール環境では、「apache」ユーザーは/var/www/html/ディレクトリー にアクセスできるようになっています。
Apache のインストールに関する資料を調べて、tarball をアクセス可能なディレクトリーに置いていることを確認してください。いずれにせよ、ディレクトリーは必要に応じて変更できます。
Bugzilla のアンパック
リスト 1 に、すべての Bugzilla ファイルを bugzilla-2.1.8rc3 というディレクトリーにアンパックする方法を示します。説明を簡単にするため、次に示す move コマンドを実行して、ディレクトリーの名前を単に「bugzilla」に変更することもできます。
リスト 1. Bugzilla tarball のアンパック
$ cd /var/www/html/
$tar zxvf bugzilla-2.18rc3.tgz
$mv bugzilla-2.18rc3/ bugzilla/
|
Perl モジュールのインストール
リスト 2 の Perl スクリプトを実行すると、必要な Perl モジュールがシステムにインストールされているかどうかを確認できます。このスクリプトでは、グラフィカルなチャートやレポートなどの作成機能をサポートするオプションの Perl モジュールがあるかどうかも調べることができます。
リスト 2. Perl モジュールのインストール
$ su root$
./checksetup.pl
|
このスクリプトを実行すると、必要なモジュールと、それらを CPAN リポジトリーからインストールするために必要となる対応する CPAN コマンドが通知されます。この CPAN コマンドの形式は、$perl -MCPAN -e 'install "<module-name>"'
です。このコマンドを、インストールが必要な Perl モジュールごとに実行します。インターネットに接続している場合は、このコマンドを実行すると、要求したモジュールが自動的にダウンロードされ、インストールされます。
必要なモジュールのインストールがすべて終了したら、checksetup.pl スクリプトを再実行します。すべてが正常である場合は、必要な Perl モジュールがすべてインストールされていることを示す出力が表示されます。
Bugzilla を構成する
次のスクリプトを実行すると、localconfig というファイルが bugzilla ディレクトリーに作成されます (リスト 3 参照)。
リスト 3. Bugzilla の構成
ローカル・データベース・サーバーを使用するように Bugzilla アプリケーションを構成します。このコマンドを実行すると、vi エディターで localconfig ファイルが開きます。この後は、このファイル内の 1 つの値 ($db_pass フィールド) を変更するだけです。この値は、bugzilla の MySQL アカウント (この後すぐに作成します) で使用されるパスワードです。MySQL のインストール環境が「カスタマイズ」されている場合は、すべての$db 設定の確認が必要になることがあります。これは、$db 設定がホスト名や通信ポートなどに対応するためです。
Bugzilla のデータベース・アカウントの作成
次に、Bugzilla の MySQL データベース・アカウントを作成する必要があります。MySQL データベース・インスタンスに接続して、次のコマンドを実行します。
リスト 4. Bugzilla MySQL アカウントの追加 (バージョン 4.0 以上)
mysql>GRANT SELECT, INSERT, UPDATE, DELETE, INDEX, ALTER, CREATE, LOCK TABLES,
CREATE TEMPORARY TABLES, DROP, REFERENCES ON bugs.* TO bugs@localhost
IDENTIFIED BY '$db_pass';
mysql>FLUSH PRIVILEGES;
|
この一連のコマンドを実行すると、bugs ユーザーが作成され、ローカルに接続した場合の「bugs」データベースに対するさまざまなアクセス・レベルがこのユーザー・アカウントに付与されます。リモート・データベースに接続している場合またはその他のカスタム構成を使用している場合の同様なコマンドについては、MySQL Administration の資料 (「参考文献」を参照) を参照してください。
Perl モジュールの再確認
必要なモジュールが存在することを再確認するには、Bugzilla ディレクトリーから checksetup.pl スクリプトを再実行します (リスト 5)。この段階では、localconfig が変更されたことが検出され、ユーザー・インターフェースのコンパイル・プロセスが開始されます。この後、localconfig ファイルに指定されているアカウントを使用して「bugs」データベースが作成され、必要なテーブルがすべて、データベースの中に作られます。
リスト 5. Bugzilla ディレクトリーからの checksetup.pl の再実行
最後に、このプロセス中に Bugzilla の管理者アカウントをどのように構成するかを尋ねられます
HTTP サーバーの構成の編集
Apache の最も基本的なインストール環境の場合、httpd.conf ファイルは、/etc/httpd/conf/ ディレクトリーに置かれます。インストール環境を調べて、正しいディレクトリーから Apache 構成ファイルを開いていることを確認してください。構成ファイルは、$ vi /etc/httpd/conf/httpd.confコマンドを使用して開きます。
Bugzilla を使用できるように Apache を準備するには、Apache 構成ファイル内でいくつかの行を編集する必要があります。まず、Apache が cgi-bin ディレクトリーの外側で CGI スクリプトを実行できるようにする必要があります。このためには、httpd.conf に
AddHandler cgi-script .cgi
という行を追加する (またはコメントを解除する) 必要があります。
次に、Bugzilla の .cgi ファイルを Bugzilla ディレクトリーから実行できるようにする必要があります。<Directory /var/www/html > ディレクティブの内部に次の 2 行を追加します。
<Directory /var/www/html>
......
Options ExecCGI FollowSymLinks <---- add this line.
AllowOverride Limit <---- add this line.
</Directory>
|
最後の手順として、httpd.conf の DirectoryIndex 行の末尾にDirectoryIndex index.html index.html.varindex.cgi
を追加することにより、Bugzilla ディレクトリーに入るときに Apache が index.cgi ファイルを想定するように Apache を構成する必要があります。
これで完了です。これで、http://<your-server-name>/bugzilla にある Bugzilla のページにアクセスできるようになりました。前の方で checksetup.pl Perl スクリプトを使用して作成した管理者のアカウントおよびパスワードでログインすることを忘れないでください。
まとめ
Bugzilla を新規にインストールした後で、数多くの付加機能をセットアップし、構成できます。Bugzilla のさまざまな機能を調べ、それらの機能をどのように使用するかを検討することをお勧めします (筆者の場合は、所属部門の内部で発生する数多くの問題を追跡する手段として Bugzilla サーバーを利用する予定です)。Bugzilla は、コードのバージョン管理システムまたは問題のチケット発行システムとして、業務上の要求を満たす十分な汎用性を備えています。
参考文献
著者について  | |  | Jason 「Jay」 Clarkは、ノースキャロライナ州Research Triangle Parkにある、IBM developerWorksチームのシステムズ・インテグレーター兼ネットワーク・アドミニストレーターです。数多くのネットワーク認定資格を保持しており、LinuxとMicrosoft OSの両方に精通しています。連絡先はjclark4@us.ibm.comです。 |
記事の評価
|