Linux での Bugzilla を使用したバグの追跡

定評のあるオープン・ソース障害追跡プログラムの段階的なインストール・ガイド

サポートの場に身を置く人たちにとって、問題点を監視し、それに対して適用される修正プログラムを常に把握することは、大変な作業です。しかし、この課題に対する理想的なオープン・ソース・ソリューションがあります。それが Bugzilla です。Bugzilla をインストールすると、バグを容易に追跡でき、特定の問題やその解決策が見つかると通知を受け取ることができます。この記事では、Linux™システムに Bugzilla をインストールするためのガイドを、順を追って説明します。

Jason Clark (jclark4@us.ibm.com), developerWorks Systems Integrator, IBM

Jason 「Jay」 Clarkは、ノースキャロライナ州Research Triangle Parkにある、IBM developerWorksチームのシステムズ・インテグレーター兼ネットワーク・アドミニストレーターです。数多くのネットワーク認定資格を保持しており、LinuxとMicrosoft OSの両方に精通しています。連絡先はjclark4@us.ibm.comです。



2005年 3月 18日

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 をインストールしてください(参考のため、該当するコード・セクションへのリンクが用意されています)。

  1. Bugzilla のサイトから、最新のlatest tarball を入手します。
  2. Bugzilla tarball をアンパック します。
  3. 適切な Perl モジュールをインストール します。
  4. 必要な場合は正しい Perl モジュールを CPAN から入手します。
  5. 手順 4 を実行した場合は、手順 3 をもう一度実行し、正しい Perl モジュールがあるかどうかを確認します。
  6. bugzilla ディレクトリーで、localconfig ファイルを作成 します。
  7. MySQL データベースにアクセスできるように localconfig ファイルを構成 します。
  8. MySQL のインスタンスに接続します。
  9. Bugzilla のデータベース・アカウントを作成 します。
  10. Perl モジュールのセットアップ確認を再実行 します。
  11. HTTP サーバーの構成ファイルを編集 します。
  12. Bugzilla のページに移動し、checksetup.pl Perl スクリプトを使用して作成した管理者のアカウントおよびパスワードでログインします。
  13. これで終了です。

最初に、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 の構成
$ vi localconfig

ローカル・データベース・サーバーを使用するように 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 の再実行
$./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 は、コードのバージョン管理システムまたは問題のチケット発行システムとして、業務上の要求を満たす十分な汎用性を備えています。

参考文献

  • Bugzilla のWebサイトから、Bugzillaの最新版をダウンロードしてください。
  • Perlの一般情報を網羅したperl.com 、またPerlで使用できる多くのモジュールを網羅したCPAN は必見のサイトです。
  • MySQLについてさらに学ぶために、MySQL のWebサイトを見てください。ダウンロードや資料が用意されています。
  • Installing CVS on RedHat 7」 (developerWorks, 2002年5月) は、RedHat Linux 7にConcurrent Versions Systemをインストールし、構成する方法に焦点を当てています。またユーザー環境の設定方法や、インストールのテスト方法についても含まれています。
  • CVS for the developer or amateur」 (developerWorks, 2001年3月) は、CVSを紹介したチュートリアルです。CVSを利用すると、パッケージの更新管理によって、柔軟、かつ協力的な方法でソフトウェアを構築することができます。
  • 洗練されたPerl: Linuxコンフィギュレーション・ファイルを管理する」 (developerWorks, 2004年6月) は、CVS がLinuxコンフィギュレーション・ファイルのバックアップや配布、移植性向上に対して、いかに役立つかを解説しています。
  • ディストリビューションではない)メインラインLinuxカーネルに関するバグをポストするには、Kernel bug tracker を見てください。
  • Bugzillaを使う394の会社や組織、プロジェクト の一端だけでも見てください。その中には、NASAやApache、Eclipse、GlaxoSmithKline、Novell、Sandia Labs、W3C、Wikipedia、そしてIBMがあります。
  • 皆さんのLinuxシステムでBugzilla 2.18rc3をサポートするためには、下記のバージョンのソフトウェアが必要です。
  • developerWorksのLinuxゾーンには、Linux開発者のための資料が豊富に用意されています。
  • developerWorks blogsに参加して、developerWorksのコミュニティーに加わってください。
  • Developer BookstoreのLinuxセクションでは、Linux関係の書籍が割引で購入できます ので、ぜひご利用ください。
  • 皆さんの次期Linux開発プロジェクトを、IBM trial softwareを使って革新してください。developerWorksから直接ダウンロードすることができます。

コメント

developerWorks: サイン・イン

必須フィールドは(*)で示されます。


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


お客様が developerWorks に初めてサインインすると、お客様のプロフィールが作成されます。会社名を非表示とする選択を行わない限り、プロフィール内の情報(名前、国/地域や会社名)は公開され、投稿するコンテンツと一緒に表示されますが、いつでもこれらの情報を更新できます。

送信されたすべての情報は安全です。

ディスプレイ・ネームを選択してください



developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

必須フィールドは(*)で示されます。

3文字から31文字の範囲で指定し

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


送信されたすべての情報は安全です。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Linux, Open source
ArticleID=226793
ArticleTitle=Linux での Bugzilla を使用したバグの追跡
publish-date=03182005