Bugzilla は最高のオープン ソース バグ追跡システムです。多くの機能を使用するのは非常に簡単です。 Bugzilla を使用すると、バグを追跡し、組織内の開発者や他のチームと効果的に協力できます。
これは詳細なステップバイステップの bugzilla インストール ガイドです。 Linux 用。
1. Perl のバージョンを確認
以下に示すように、perl のバージョンが>=5.8.1 であることを確認してください。
# perl -v This is perl, v5.8.8 built for i386-linux-thread-multi
ほとんどの Linux ディストリビューションには perl が付属しています。お持ちでない場合は、対応する配布 Web サイトからダウンロードしてインストールしてください。
2. MySQL データベースをインストール
以下に示すように、MySQL のバージョンが>=4.1.2 であることを確認してください。
# mysql -V mysql Ver 14.12 Distrib 5.0.77, for redhat-linux-gnu (i686) using readline 5.1
mysql がない場合は、yum groupinstall を使用してインストールするか、LAMP インストールの記事に基づいて、または mysql rpm の記事に基づいてインストールしてください。
3.アパッチをインストール
Apache が既にインストールされている場合は、http://{your-ip-address} を使用してアクセスできることを確認してください。
Apache がない場合は、LAMP インストールの記事に基づいて yum を使用してインストールするか、ソースから apache をインストールします。
4.最新の Bugzilla tar ボールをダウンロード
bugzilla ダウンロード ページから最新の安定版リリースをダウンロードします。以下に示すように、bugzilla*.tar.gz ファイルを apache ドキュメントのルート ディレクトリに抽出します。
# cd ~ # wget http://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-3.6.tar.gz # cd /var/www/html # tar xvfz /usr/save/bugzilla-3.4.6.tar.gz
5. bugzilla checksetup.pl を実行
Bugzilla checksetup.pl プログラムは、必要なすべての perl モジュールがインストールされているかどうかを確認します。これにより、インストールが必要な不足しているすべての Bugzilla モジュールのリストも表示されます。
必要なすべての perl モジュールがインストールされていることを確認するまで、checksetup.pl プログラムを何度でも実行できます。
以下は、checksetup.pl の 1 回目の実行の出力です。不足しているオプション モジュールと必須モジュールがすべてリストされています。
# cd /var/www/html/bugzilla-3.4.6 # ./checksetup.pl --check-modules COMMANDS TO INSTALL OPTIONAL MODULES: GD: /usr/bin/perl install-module.pl GD Chart: /usr/bin/perl install-module.pl Chart::Base Template-GD: /usr/bin/perl install-module.pl Template::Plugin::GD::Image GDTextUtil: /usr/bin/perl install-module.pl GD::Text GDGraph: /usr/bin/perl install-module.pl GD::Graph XML-Twig: /usr/bin/perl install-module.pl XML::Twig MIME-tools: /usr/bin/perl install-module.pl MIME::Parser libwww-perl: /usr/bin/perl install-module.pl LWP::UserAgent PatchReader: /usr/bin/perl install-module.pl PatchReader PerlMagick: /usr/bin/perl install-module.pl Image::Magick perl-ldap: /usr/bin/perl install-module.pl Net::LDAP Authen-SASL: /usr/bin/perl install-module.pl Authen::SASL RadiusPerl: /usr/bin/perl install-module.pl Authen::Radius SOAP-Lite: /usr/bin/perl install-module.pl SOAP::Lite HTML-Parser: /usr/bin/perl install-module.pl HTML::Parser HTML-Scrubber: /usr/bin/perl install-module.pl HTML::Scrubber Email-MIME-Attachment-Stripper: /usr/bin/perl install-module.pl Email::MIME::Attachment::Stripper Email-Reply: /usr/bin/perl install-module.pl Email::Reply TheSchwartz: /usr/bin/perl install-module.pl TheSchwartz Daemon-Generic: /usr/bin/perl install-module.pl Daemon::Generic mod_perl: /usr/bin/perl install-module.pl mod_perl2 YOU MUST RUN ONE OF THE FOLLOWING COMMANDS (depending on which database you use): PostgreSQL: /usr/bin/perl install-module.pl DBD::Pg MySQL: /usr/bin/perl install-module.pl DBD::mysql Oracle: /usr/bin/perl install-module.pl DBD::Oracle COMMANDS TO INSTALL REQUIRED MODULES (You *must* run all these commands and then re-run checksetup.pl): /usr/bin/perl install-module.pl CGI /usr/bin/perl install-module.pl Digest::SHA /usr/bin/perl install-module.pl Date::Format /usr/bin/perl install-module.pl DateTime /usr/bin/perl install-module.pl DateTime::TimeZone /usr/bin/perl install-module.pl Template /usr/bin/perl install-module.pl Email::Send /usr/bin/perl install-module.pl Email::MIME /usr/bin/perl install-module.pl Email::MIME::Encodings /usr/bin/perl install-module.pl Email::MIME::Modifier /usr/bin/perl install-module.pl URI To attempt an automatic install of every required and optional module with one command, do: /usr/bin/perl install-module.pl --all
6. bugzilla install-module.pl を実行
checksetup.pl の出力で示唆されているように、install-module.pl を実行して、すべての bugzilla の必須およびオプションの perl モジュールをインストールできます。
# /usr/bin/perl install-module.pl --all
上記の install-module.pl の出力を確認して、すべてが正しくインストールされていることを確認してください。一部のモジュールのインストールに失敗した可能性があります (一部の必要な OS パッケージが不足している可能性があります)。
checksetup.pl を実行して、すべてのモジュールが正しくインストールされているかどうかを確認してください。
以下は、checksetup.pl の 2 回目の実行の出力です:
# ./checksetup.pl --check-modules COMMANDS TO INSTALL OPTIONAL MODULES: GD: /usr/bin/perl install-module.pl GD Chart: /usr/bin/perl install-module.pl Chart::Base Template-GD: /usr/bin/perl install-module.pl Template::Plugin::GD::Image GDTextUtil: /usr/bin/perl install-module.pl GD::Text GDGraph: /usr/bin/perl install-module.pl GD::Graph XML-Twig: /usr/bin/perl install-module.pl XML::Twig PerlMagick: /usr/bin/perl install-module.pl Image::Magick SOAP-Lite: /usr/bin/perl install-module.pl SOAP::Lite mod_perl: /usr/bin/perl install-module.pl mod_perl2 YOU MUST RUN ONE OF THE FOLLOWING COMMANDS (depending on which database you use): PostgreSQL: /usr/bin/perl install-module.pl DBD::Pg MySQL: /usr/bin/perl install-module.pl DBD::mysql Oracle: /usr/bin/perl install-module.pl DBD::Oracle
7.不足している Perl モジュールをインストールする
上記の checksetup.pl の出力からわかるように、install-module.pl を実行したときに、一部のオプション モジュールと必須モジュールのインストールが完了していません。
そのため、不足しているモジュールを 1 つずつ手動でインストールして、問題を特定し、1 つずつ修正する必要があります。
bugzilla に必要な perl モジュールをインストールする際に直面したすべての問題のリストについては、最後の「トラブルシューティング セクション」を参照してください (これらの問題を修正する方法に関する解決策も併せて参照してください)。
8.最終的な checksetup.pl –check-modules 検証
以下に示すように、最終検証として checksetup.pl –check-modules を再度実行し、すべてのモジュールが正常にインストールされたことを確認します。
# ./checksetup.pl --check-modules * This is Bugzilla 3.4.6 on perl 5.8.8 * Running on Linux 2.6.18-164.el5PAE #1 SMP Thu Sep 3 04:10:44 EDT 2009 Checking perl modules... Checking for CGI.pm (v3.21) ok: found v3.49 Checking for Digest-SHA (any) ok: found v5.48 Checking for TimeDate (v2.21) ok: found v2.24 Checking for DateTime (v0.28) ok: found v0.55 Checking for DateTime-TimeZone (v0.71) ok: found v1.17 Checking for DBI (v1.41) ok: found v1.52 Checking for Template-Toolkit (v2.22) ok: found v2.22 Checking for Email-Send (v2.00) ok: found v2.198 Checking for Email-MIME (v1.861) ok: found v1.903 Checking for Email-MIME-Encodings (v1.313) ok: found v1.313 Checking for Email-MIME-Modifier (v1.442) ok: found v1.903 Checking for URI (any) ok: found v1.54 Checking available perl DBD modules... Checking for DBD-Pg (v1.45) not found Checking for DBD-mysql (v4.00) ok: found v4.013 Checking for DBD-Oracle (v1.19) not found The following Perl modules are optional: Checking for GD (v1.20) ok: found v2.44 Checking for Chart (v1.0) ok: found v2.4.1 Checking for Template-GD (any) ok: found v1.56 Checking for GDTextUtil (any) ok: found v0.86 Checking for GDGraph (any) ok: found v1.44 Checking for XML-Twig (any) ok: found v3.34 Checking for MIME-tools (v5.406) ok: found v5.427 Checking for libwww-perl (any) ok: found v5.834 Checking for PatchReader (v0.9.4) ok: found v0.9.5 Checking for PerlMagick (any) ok: found v6.2.8 Checking for perl-ldap (any) ok: found v0.4001 Checking for Authen-SASL (any) ok: found v2.1401 Checking for RadiusPerl (any) ok: found v0.17 Checking for SOAP-Lite (v0.710.06) ok: found v0.711 Checking for HTML-Parser (v3.40) ok: found v3.65 Checking for HTML-Scrubber (any) ok: found v0.08 Checking for Email-MIME-Attachment-Stripper (any) ok: found v1.316 Checking for Email-Reply (any) ok: found v1.202 Checking for TheSchwartz (any) ok: found v1.10 Checking for Daemon-Generic (any) ok: found v0.61 Checking for mod_perl (v1.999022) ok: found v2.000004
9. checksetup.pl を使用して localconfig ファイルを作成します
引数なしで checksetup.pl を実行すると、現在のディレクトリに localconfig ファイルが作成されます。 localconfig ファイルには、bugzilla が使用する主要な構成パラメーターが含まれています (たとえば、mysql db のユーザー名とパスワード)。
# ./checksetup.pl Reading ./localconfig... This version of Bugzilla contains some variables that you may want to change and adapt to your local settings. Please edit the file ./localconfig and rerun checksetup.pl. The following variables are new to ./localconfig since you last ran checksetup.pl: create_htaccess, webservergroup, db_driver, db_host, db_name, db_user, db_pass, db_port, db_sock, db_check, index_html, cvsbin, interdiffbin, diffpath, site_wide_secret
10. localconfig ファイルを変更します。
localconfig ファイルを変更する必要があるのは、以下に示すように $db_pass 変数を変更することによる MySQL データベースの db パスワードだけです。
# vi ./localconfig $db_pass = 'Bugs4All';
11. /etc/my.cnf を変更して、bugzilla の添付ファイルのサイズを増やします
/etc/my.cnf で max_allowed_packet を 4M に設定して、bugzilla の添付ファイルのサイズを増やします。
# cat /etc/my.cnf [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Default to using old password format for compatibility with mysql 3.x # clients (those using the mysqlclient10 compatibility package). old_passwords=1 # Disabling symbolic-links is recommended to prevent assorted security risks; # to do so, uncomment this line: # symbolic-links=0 # Allow packets up to 4MB max_allowed_packet=4M [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
この変更後、mysqld を再起動してください。
# service mysqld restart
12.バグ mysql ユーザーの作成
以下に示すように、bugzilla ユーザー (bugs) を mysql データベースに追加します。
# mysql -u root -p mysql> GRANT SELECT, INSERT, UPDATE, DELETE, INDEX, ALTER, CREATE, LOCK TABLES, CREATE TEMPORARY TABLES, DROP, REFERENCES ON bugs.* TO bugs@localhost IDENTIFIED BY 'Bugs4All'; mysql> FLUSH PRIVILEGES;
13. bugzilla データベースを作成する
checksetup.pl (引数なし) を再度実行して、mysql bugzilla データベースを作成します。 localconfig ファイルは既に存在するため、2 回目に checksetup.pl を実行すると、localconfig ファイルの情報に基づいて mysql データベースが作成されます。
# ./checksetup.pl Creating database bugs... Building Schema object from database... Adding new table bz_schema ... Initializing the new Schema storage... Adding new table attach_data ... Adding new table attachments ... Adding new table bug_group_map ... Adding new table bug_see_also ... Adding new table bug_severity ... Adding new table bug_status ... Inserting values into the 'priority' table: Inserting values into the 'bug_status' table: Inserting values into the 'rep_platform' table: Creating ./data directory... Creating ./data/attachments directory... Creating ./data/duplicates directory... Adding foreign key: attachments.bug_id -> bugs.bug_id... Adding foreign key: attachments.submitter_id -> profiles.userid... Adding foreign key: bug_group_map.bug_id -> bugs.bug_id...
14. Bugzilla 管理者アカウントを作成します。
./checksetup.pl の実行の最後に、管理者アカウントを持っていないことが検出され、以下に示すように管理ログイン情報を入力するように求められます。
Looks like we don't have an administrator set up yet. Either this is your first time using Bugzilla, or your administrator's privileges might have accidentally been deleted. Enter the e-mail address of the administrator: [email protected] Enter the real name of the administrator: Ramesh Natarajan Enter a password for the administrator account: NotRealPwd Please retype the password to verify: welcome [email protected] is now set up as an administrator. Creating default classification 'Unclassified'... Creating initial dummy product 'TestProduct'... Now that you have installed Bugzilla, you should visit the 'Parameters' page (linked in the footer of the Administrator account) to ensure it is set up as you wish - this includes setting the 'urlbase' option to the correct URL.
15. mod_perl 用に Apache を構成
bugzilla ディレクトリの名前を変更します。 (つまり、バージョン番号を削除します)
# cd /var/www/html # mv bugzilla-3.4.6/ bugzilla
次の 2 行を httpd.conf に追加します
# tail -2 /etc/httpd/conf/httpd.conf PerlSwitches -I/var/www/html/bugzilla -I/var/www/html/bugzilla/lib -w -T PerlConfigRequire /var/www/html/bugzilla/mod_perl.pl
httpd.conf のグループが localconfig の webservergroup と一致することを確認します
# cd /var/www/html/bugzilla/ # grep webservergroup localconfig $webservergroup = 'apache'; # grep Group /etc/httpd/conf/httpd.conf Group apache
16. checksetup.pl の最終実行
checksetup.pl を再度実行してください。
# ./checksetup.pl Reading ./localconfig... Removing existing compiled templates... Precompiling templates...done. Fixing file permissions... Now that you have installed Bugzilla, you should visit the 'Parameters' page (linked in the footer of the Administrator account) to ensure it is set up as you wish - this includes setting the 'urlbase' option to the correct URL.
17. bugzilla にログインして、1 回限りのセットアップを完了してください。
Apache を起動し、http://{your-ip-address}/bugzilla に移動し、上記で作成した管理者アカウントを使用してログインします。
Bugzilla UI から、フッター -> 管理 -> パラメータ -> '必要な設定のセクション -> 次の情報を記入してください:
メンテナ:[email protected]
urlbase:http://{your-ip-address}/
注:設定によっては、-> ユーザー認証 -> に移動し、requiredlogin および emailregexp パラメータを変更する必要がある場合があります。
Bugzilla のインストールに関する問題のトラブルシューティング
問題 1:DBD::mysql モジュールが失敗しました
以下に示すように、DBD:mysql perl モジュールが「mysql.h:No such file or directory」というエラー メッセージで失敗しました。
# /usr/bin/perl install-module.pl DBD::mysql dbdimp.h:22:49: error: mysql.h: No such file or directory dbdimp.h:23:45: error: mysqld_error.h: No such file or directory dbdimp.h:25:49: error: errmsg.h: No such file or directory In file included from dbdimp.c:20: dbdimp.h:144: error: expected specifier-qualifier-list before âMYSQLâ dbdimp.h:236: error: expected specifier-qualifier-list before âMYSQL_RESâ
解決策 1:mysql-devel をインストールする
エラー メッセージ「mysql.h:No such file or directory」は、以下に示すように mysql-devel パッケージが見つからないためです。
# rpm -qa | grep -i mysql MySQL-python-1.2.1-1 mysql-5.0.77-4.el5_4.2 mysql-connector-odbc-3.51.26r1127-1.el5 mysql-server-5.0.77-4.el5_4.2 libdbi-dbd-mysql-0.8.1a-1.2.2 perl-DBD-MySQL-3.0007-2.el5
以下に示すように、mysql-devel パッケージをインストールします。
# yum install mysql-devel # rpm -qa | grep -i "mysql-devel" mysql-devel-5.0.77-4.el5_4.2
DBD::mysql のインストールは問題なく実行されます。
# /usr/bin/perl install-module.pl DBD::mysql
問題 2:gdlib-config / libgd がないため GD が失敗しました
GD モジュールのインストールに失敗し、次のエラー メッセージが表示されました。
# /usr/bin/perl install-module.pl GD **UNRECOVERABLE ERROR** Could not find gdlib-config in the search path. Please install libgd 2.0.28 or higher. If you want to try to compile anyway, please rerun this script with the option --ignore_missing_gd. Running make test Make had some problems, maybe interrupted? Won't test Running make install Make had some problems, maybe interrupted? Won't install
解決策 2:gd-devel パッケージをインストールする
GD モジュールの問題を修正するには、以下に示すように libgd (つまり、gd-devel パッケージ) をインストールします。
# yum install gd-devel # rpm -qa | grep gd gd-2.0.33-9.4.el5_4.2 gd-devel-2.0.33-9.4.el5_4.2
gd-devel パッケージをインストールした後、GD は問題なくインストールされました。
# /usr/bin/perl install-module.pl GD
問題 3:Twig が expat.h エラーで失敗した
以下に示すように、Twig モジュールのインストールに失敗し、エラー メッセージ「expat.h:No such file or directory」が表示されました。
# /usr/bin/perl install-module.pl XML::Twig Expat.xs:12:19: error: expat.h: No such file or directory Expat.xs:60: error: expected specifier-qualifier-list before XML_Parser
解決策 3:Twig の expat と expat-devel をインストールする
以下に示すように、expat および expat-devel パッケージをインストールします。
# yum install expat # yum install expat-devel
問題なく Twig をインストールしてください。
# /usr/bin/perl install-module.pl XML::Twig
問題 4:Image::Magick のインストールに失敗しました
Image::Magick のインストールは、以下に示すように「magick/MagickCore.h:そのようなファイルまたはディレクトリはありません」というエラー メッセージで失敗しました。
# /usr/bin/perl install-module.pl Image::Magick Note (probably harmless): No library found for -lMagickCore Magick.xs:64:31: error: magick/MagickCore.h: No such file or directory Magick.xs:171: error: expected specifier-qualifier-list before ‘MagickRealType’ Magick.xs:192: error: expected specifier-qualifier-list before ‘ImageInfo’ Magick.xs:214: error: ‘MagickNoiseOptions’ undeclared here (not in a function) Magick.xs:214: warning: missing initializer
解決策 4:Image::Magick のインストールに失敗しました
次の ImageMagic 関連パッケージが存在することを確認してください。
# rpm -qa | grep -i Image ImageMagick-6.2.8.0-4.el5_1.1 ImageMagick-c++-devel-6.2.8.0-4.el5_1.1 ImageMagick-devel-6.2.8.0-4.el5_1.1 ImageMagick-c++-6.2.8.0-4.el5_1.1 ImageMagick-perl-6.2.8.0-4.el5_1.1
私の場合、ImageMagic-devel がありませんでした。ということで、下図のように取り付けました。その後、Image::Magick perl モジュールが正常にインストールされました。
# yum install ImageMagick-devel # /usr/bin/perl install-module.pl Image::Magick
問題 5:SOAP::Lite のインストールに失敗しました
SOAP::Lite モジュールは、以下に示すように「@INC で version.pm が見つかりません」というメッセージでインストールに失敗しました。
#/usr/bin/perl install-module.pl SOAP::Lite Failed test 'use SOAP::Lite;' at t/SOAP/Data.t line 5. Tried to use 'SOAP::Lite'. Error: Can't locate version.pm in @INC
解決策 5:SOAP::Lite に必要な version.pm をインストールする
以下に示すように、version.pm をインストールします。この後、SOAP::Lite は問題なくインストールされました。
# perl -MCPAN -e 'install version' # /usr/bin/perl install-module.pl SOAP::Lite
問題 6 (および解決策 6):mod_perl がありませんでした
/usr/bin/perl install-module.pl mod_perl2 を使用して mod_perl をインストールしないでください。次に示すように、yum を使用して mod_perl をインストールします。
# yum install mod_perl
問題 7:Apache の起動に失敗しました
「@INC に Template/Config.pm が見つかりません」というエラー メッセージが表示され、Apache を起動できませんでした。
# service httpd restart Stopping httpd: [ OK ] Starting httpd: Syntax error on line 994 of /etc/httpd/conf/httpd.conf: Can't locate Template/Config.pm in @INC
解決策 7:以下に示すように、テンプレート ツール キットをインストールします
Template-Tool キットをインストールして、上記の apache エラー メッセージを修正してください
# cpan cpan> i /Template-Toolkit/ Distribution A/AB/ABEL/Eidolon-Driver-Template-Toolkit-0.01.tar.gz Distribution A/AB/ABW/Template-Toolkit-1.07.tar.gz Distribution A/AB/ABW/Template-Toolkit-2.22.tar.gz Distribution I/IN/INGY/Template-Toolkit-Simple-0.03.tar.gz 4 items found cpan> install A/AB/ABW/Template-Toolkit-2.22.tar.gz
問題 8:Apache の起動が再び失敗する
「@INC に DateTime/Locale.pm が見つかりません」というエラー メッセージが表示され、Apache を起動できませんでした。
# service httpd restart Stopping httpd: [ OK ] Starting httpd: Syntax error on line 994 of /etc/httpd/conf/httpd.conf: Can't locate DateTime/Locale.pm in @INC
解決策 8:以下に示すように DateTime/Locale.pm をインストールします
上記の Apache エラー メッセージを修正するには、DateTime/Locale.pm をインストールしてください
# cpan cpan> install DateTime:Locale
また、Apache の error_log に Digest/SHA.pm の問題が表示される場合は、以下に示すようにインストールする必要があります。
# tail -f /etc/httpd/logs/error_log Can't locate Digest/SHA.pm in @INC (@INC contains: # cpan cpan> install Digest::SHA