このページについて
- CentOSの前提条件
- インターネット接続
- SELinux
- SELinuxを無効にする
- インストールに使用されるアカウント
- 追加のリポジトリ
- Epelリポジトリを有効にする
- mod_sslおよびmod_perlを使用してApacheをインストールします
- httpd.serviceを有効にして開始します
- httpd.serviceを開始します
- httpd.serviceのステータスを確認する
- httpd.serviceを永続的に有効にする
- ローカルファイアウォールのポート80を開いて、HTTPリクエストを許可します
- ApacheWebサーバーをテストします
- httpd.serviceを有効にして開始します
- MariaDBをインストールします
- 起動時にMariaDBを自動起動する
- MariaDBルートパスワードを設定する
- MariaDBのmax_allowed_packetsを設定
- 追加パッケージ
- Bugzilla用のデータベースを作成する
- Bugzillaをダウンロードして解凍する
- Bugzillaフォルダーをwebserverフォルダーにコピーします
- Bugzillaのインストールスクリプトを使用した最終セットアップ
- BugzillaインストールをホストするようにApacheを構成します
- 通常のユーザーに戻します
- ブラウザでBugzillaのインストールをテストします
このHowToでは、CentOS7へのBugzilla5.0のインストールについて説明します。Bugzillaは、Mozilla Foundation(有名なFirefoxブラウザーを開発する組織)によって開発された高度なバグ追跡システムです。 Bugzillaを使用すると、アプリケーションの欠陥やコードの変更を追跡し、開発チームと簡単に連絡を取り、パッチを送信してレビューすることができます。
CentOSの前提条件
最新のアップデートとIPアドレスおよびホスト名が設定された最小限のCentOS7インストールが必要です。あなたのマシンはインターネットに到達できるはずです。インターネットに直接アクセスできず、プロキシサーバーを使用する必要がある場合は、/ etc / yum.confを編集して、プロキシを使用するようにyumを設定する必要があります。次の行を追加します(必要に応じて変更します):
#プロキシサーバー-プロキシサーバー:ポートproxy =http://192.168.178.1:8080
#yum接続のアカウントの詳細
#proxy_username =yum-user
# proxy_password =qwerty
インターネットアクセスが必要なコマンドラインツールを使用していて、プロキシサーバーの背後にいる場合は、インターネット接続が必要なコマンドを使用する前に、必ず次の2つのコマンドを実行してください。
export https_proxy =http://192.168.178.1:8080 /
この方法を使用すると、プロキシの背後にいる場合でも、このハウツーを使用できるはずです。
SELinux
Security-Enhanced Linux(SELinux)は、カーネルに実装されている必須アクセス制御(MAC)セキュリティメカニズムです。これは優れたセキュリティメカニズムですが、SELinuxも構成する公式のBugzilla5.0rpmパッケージがリリースされるまでBugzillaを破壊します。したがって、この時点で、SELinuxをパーミッシブモードに設定します。このモードでは、SELinuxは有効になっていますが、セキュリティポリシーは適用されません。
次のコマンドを実行して、SELinuxモードを強制から許可に変更します。
sudo sed -i's / ^ SELINUX =enforcing $ / SELINUX =permit / g'/ etc / selinux / config
ファイルは次のようになります:
#SELINUX =は、次の3つの値のいずれかを取ることができます。強制する代わりに。
#無効-SELinuxポリシーはロードされません。
SELINUX =permit
#SELINUXTYPE =は、次の3つの値のいずれかを取ることができます。
#targeted-ターゲットプロセスは保護されます、
#minimum-対象となるポリシーの変更。選択したプロセスのみが保護されます。
#mls-マルチレベルセキュリティ保護。
SELINUXTYPE =targeted
その変更後、マシンを再起動します。
特に明記されていない限り、このハウツーのすべてのコマンドは、CentOS 7マシンの管理ユーザーであるユーザー「installer」として実行され、「sudo」を使用してコマンドを実行できます。
公式のCentOSリポジトリにない多くのパッケージが必要になるため、CentOSボックスで追加のリポジトリを有効にします。
次のコマンドを実行して、epelリポジトリを有効にします。
sudo yum install deltarpm epel-releasesudo yum update
情報:epelリポジトリから最初のパッケージをインストールするときにepelGPGキーを受け入れる必要があります。
mod_sslおよびmod_perlを使用してApacheをインストールします
sudo yum install httpd httpd-devel mod_ssl mod_ssl mod_perlmod_perl-devel
これにより、Apache、mod_ssl、mod_perl、およびwgetが必要なすべての依存関係とともにインストールされます。
httpd.serviceを有効にして開始します
CentOS 7はsystemdを使用するため、Apacheを「systemdway」で有効にして起動します。
httpd.serviceのステータスを確認する
sudo systemctl status httpd.service
このコマンドは、httpd.serviceが実行されていることを通知する必要があります(一部の行が削除されています)
ロード済み:ロード済み(/usr/lib/systemd/system/httpd.service;無効)
アクティブ:アクティブ(実行中)2015年8月4日火曜日以降11: 18:03 CEST; 6秒前
メインPID:11930(/ usr / sbin / httpd)
.. ..
上記の出力を確認した後、httpd.serviceを有効にして次のコマンドで自動起動します:
sudo systemctl enable httpd.service
システムは、自動起動のためにhttp.serviceを有効にするためのシンボリックリンクを自動的に作成します。
CentOS 7はFirewallDを使用しているため、firewall-cmdを使用してファイアウォール設定を変更し、ポート80(HTTP)での着信接続を許可する必要があります。
sudo Firewall-cmd --zone =public --add-port =80 / tcp --permanent#success
sudo Firewall-cmd --reload
#success
ApacheWebサーバーをテストします
ブラウザを使用してhttp:// ip-of-your-server /を開きます(ip-of-your-serverをサーバーのIPアドレスに置き換えます)。 Apacheテストページが表示されます。 --Apacheは機能しています!
MariaDBをインストール
CentOS 7には、MySQLの代わりにMariaDBが付属しています。 MariaDBは、MySQLと同等のオープンソースです。 MariaDBをインストールするには、次のコマンドを実行します。
sudo yum install mariadb-server mariadb mariadb-devel php-mysql起動時にMariaDBを自動起動するには、以前httpd.serviceで行ったのと同じ方法でMariaDBをサービスとして設定します。次の3つのコマンドを実行して開始し、ステータスを確認して、MariaDBを永続的なサービスとして有効にします。
sudo systemctl start mariadb.servicesudo systemctl status mariadb.service
sudo systemctl enable mariadb.service
MariaDBルートパスワードを設定
次のコマンドを実行して、MariaDBサーバーでSQLプロンプトを開きます。
mysql -u root
MariaDBプロンプトが表示されます。次のコマンドでは、myrootpasswordをMariaDBrootユーザーに使用するパスワードに置き換える必要があります。
rootユーザーでログインできるか試してみてください
パスワードを入力してください:myrootpasswordMariaDBモニターへようこそ。コマンドは;で終わりますまたは\g。
MariaDB接続IDは5です。
サーバーバージョン:5.5.41-MariaDB MariaDBサーバー
著作権(c)2000、2014、Oracle、MariaDBCorporationAbなど。
「help;」と入力しますまたは「\h」でヘルプを表示します。 '\ c'と入力して、現在の入力ステートメントをクリアします。MariaDB[(なし)]> \ qBye
MariaDBのmax_allowed_packetsを設定
Bugzillaには、MariaDB内で構成された「max_allowed_packet」の最小サイズが必要です。それでは、一般的なMariaDB構成を変更して、「max_allowed_packet」サイズを4メガバイトに設定しましょう。
エディターで「/etc/my.cnf」を開き、「[mysqld]」セクションの下に次の行を追加します。
#添付ファイルのアップロードの最大許容サイズ
#さらに必要な場合はこれを変更してください!
max_allowed_packet =4M
その後、「my.cnf」全体を次のように変更します。
datadir =/ var / lib / mysql
socket =/ var / lib / mysql / mysql.sock
#さまざまなセキュリティリスクを防ぐために、シンボリックリンクを無効にすることをお勧めします
symbolic-links =0
#systemdを使用すると、設定のユーザーとグループは無視されます。
#別のユーザーまたはグループでmysqldを実行する必要がある場合は、
#systemdユニットファイルをカスタマイズしますhttp://fedoraproject.org/wiki/Systemdの
#手順に従ってmariadbの場合
#Bugzilla
#添付ファイルのアップロードの最大許容サイズ
#さらに必要な場合はこれを変更してください!
max_allowed_packet =4M
[mysqld_safe]
log-error =/ var / log / mariadb / mariadb.log
pid-file =/ var / run / mariadb / mariadb.pid
#
#configディレクトリのすべてのファイルを含める
#
!includedir/etc/my.cnf。 d
変更は、MariaDBを再起動した後に有効になります。
Bugzillaには、主にperl関連の多くの追加パッケージ、perlモジュールを機能させるためのいくつかの前提条件、およびperlモジュールをダウンロードしてインストールできるようにするためのセットアップが必要です。そのため、必要なすべての依存関係をインストールします。また、私たちが
パッケージperl-homedirをインストールしないでください。Bugzillaのインストールが中断される可能性があります。
(「perl-homedir」は、Bugzillaがアクセスできないユーザーフォルダにperlモジュールをインストールするため、絶対にインストールしないでください!)
次のコマンドは、perl-homedirがインストールされていないことを確認します。その他の必要なパッケージをインストールします:
約1300個のパッケージがインストールされます!
すべての準備が完了したので、最新のBugzillaをダウンロードし、そのデータベースを作成して、最終的なセットアップを行う準備が整いました。
MariaDBサーバー上にBugzillaのデータベースを作成するには、MariaDBルートプロンプトを再度開く必要があります。
mysql -u root -pパスワードを入力してください:myrootpassword
MariaDBモニターへようこそ。コマンドは;で終わりますまたは\g。
MariaDB接続IDは5です。
サーバーバージョン:5.5.41-MariaDB MariaDBサーバー
著作権(c)2000、2014、Oracle、MariaDBCorporationAbなど。
「help;」と入力しますまたは「\h」でヘルプを表示します。 '\ c'と入力して、現在の入力ステートメントをクリアします。
MariaDBのルートプロンプトで次のコマンドを入力して、データベース「バグ」を作成し、ユーザー「バグ」がデータベースに完全にアクセスできるようにします。 (「bugsuserpassword」を自分のパスワードに変更してください!)
BugZillaを入手するにはさまざまなオプションがありますが、wgetを使用してtarballをダウンロードします。StableRelease(5.0)を入手したいと考えています。
cd
wget 'https://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-5.0.tar.gz'
ダウンロードが完了したら、アーカイブを抽出します:
tar -xzvf bugzilla-5.0.tar.gz
Bugzillaフォルダーをwebserverフォルダーにコピーします
次に、次のコマンドを使用して、抽出したフォルダー(bugzilla-5.0)をターゲットの場所(/ var / www / html / bugzilla)にコピーしましょう
cd
sudo cp -R ./bugzilla-5.0/ /var/www/html/bugzilla/
Bugzillaのインストールスクリプトを使用した最終セットアップ
次のコマンドはrootユーザーとして実行する必要があるため、次のコマンドでルートシェルを開きます。
sudo su
[[メール保護]インストーラー]#
プロンプトの最後に「#」が付いています。これは、ルートであることを意味します。今すぐすべてのコマンドに注意してください!ハウツーでは、コマンドを実行するにはrootである必要があることを通知するプロンプトが常に表示されます!
これで、(rootとして)bugzillaが存在するWebサーバーフォルダーに移動します
[[メール保護]bugzilla]#
次に、次のコマンドを実行して、Bugzillaインストールスクリプトにセットアップのステータスを確認させます
通常、上記のコマンドの出力から、一部のperlモジュール(オプションおよび必須モジュール)がインストールに含まれておらず、続行するには少なくとも必要なモジュールをインストールする必要があることがわかります。もちろん、インストールスクリプトに表示されるコマンドを手動で実行することで、必要な(必要に応じて)すべてのオプションモジュールをインストールできますが、この1つのコマンドを使用すると、必要なすべてのperlモジュールを一度にインストールできます(必須およびオプション)。それでは実行しましょう:
セットアップスクリプトは一時的なCPAN構成をセットアップし、Bugzillaが必要とするすべてのperlモジュール(必須およびオプション)をインストールしようとします。プロセス中には、いくつかの小さな警告のみが表示されます。
最後に、checksetup.plを実行して、インストールのステータスを再度確認しましょう。
これで、1つのモジュール(DBD-Oracle(v1.19)が見つからない)を除いて、すべての依存関係に問題がないはずです。このモジュールは、機能しているOracleインストールが見つからない場合にのみインストールされるため、問題ありません。
セットアップスクリプトに次のテキストが表示されます:
このバージョンのBugzillaには、ローカル設定に変更および適応したい
いくつかの変数が含まれています。次の変数は、checksetup.plを最後に実行してから
./localconfigに新しく追加されました。
create_htaccess、webservergroup、use_suexec、db_driver、db_host、
db_name、db_user、db_pass、db_port 、db_sock、db_check、
db_mysql_ssl_ca_file、db_mysql_ssl_ca_path、db_mysql_ssl_client_cert、
db_mysql_ssl_client_key、index_html、interdiffbin、diffpath、
site_wide_secret
-checksetup.pl
を実行して、インストールを完了します。
したがって、上記のように、エディターで./localconfigを開き、必要に応じて変更します。これが私が使用したものです(コメントは削除されています)。データベース名とパスワードを必要に応じて変更してください!
$ webservergroup ='apache';
$ use_suexec =0;
$ db_driver ='mysql';
$ db_host ='localhost';
$ db_name ='bugs';
$ db_user ='bugs';
$ db_pass ='bugsuserpassword';
$ db_port =0;
$ db_sock ='';
$ db_check =1;
$ db_mysql_ssl_ca_file ='';
$ db_mysql_ssl_ca_path ='';
$ db_mysql_ssl_client_cert ='';
$ db_mysql_ssl_client_key ='';
$ index_html =0;
$ interdiffbin ='/ bin / interdiff';
$ diffpath ='/ bin';
$ site_wide_secret ='ifKuihguW8nlxLcxeNU4whHzFbxDIGWSvtR6S7Ul38cFQn004YDc
それでは、セットアップスクリプトをもう一度実行してみましょう。これで、正しいデータベース構成が検出され、最終セットアップのためにMariaDBサーバーへのアクセスが開始されます。
出力(一部の行が削除されました)
...
新しいテーブルbz_schemaを追加しています...
bz_schemaを初期化しています...
テーブルを作成しています...
attach_dataの最大サイズを100Gに変換しています。 ..
標準のドロップダウンフィールドの選択肢を設定する:
優先度bug_statusrep_platform解決bug_severityop_sys
./dataディレクトリを作成しています...
...
。 ..
テンプレートのプリコンパイル...完了。
ファイル権限の修正...
「依存関係ツリーの変更」email_settingの初期化...
「製品/コンポーネントの変更」email_settingの初期化。 ..
クローズされたバグステータスをそのようにマークする...
デフォルトの分類「未分類」を作成しています...
外部キーを設定しています...
デフォルトのステータスワークフローを設定しています。 ..
デフォルトグループの作成...
ユーザー設定の設定...
まだ管理者が設定されていないようです。
Bugzillaを初めて使用するか、
管理者の権限が誤って削除された可能性があります。
管理者の電子メールアドレスを入力してください。
ここで、プロンプトに従ってセットアップを完了します(ここでの回答に値を使用してください!):
管理者の本名を入力してください:Der PCFreak
管理者アカウントのパスワードを入力してください:adminpassword
パスワードを次のように再入力してください確認:adminpassword
[emailprotected]が管理者として設定されました。
すべてがうまくいったら、次のように表示されます。
Bugzillaをインストールしたので、「パラメータ」
ページ(管理者アカウントのフッターにリンクされています)にアクセスして、それを確認する必要があります。
必要に応じて設定されます。これには、「urlbase」オプションを
正しいURLに設定することも含まれます。
checksetup.plcomplete。
この時点で、ほぼ完了です。次の行を実行して、Bugzillaインストールスクリプトが作成した.htaccessファイルの行をコメントアウトします。
BugzillaインストールをホストするようにApacheを構成します
ApacheはまだBugzillaについて何も知りません。それでは、次のコンテンツを含むファイル/etc/httpd/conf.d/bugzilla.confを作成して、BugzillaWebサイトをhttpd.serviceに紹介しましょう。
#/etc/httpd/conf.d/bugzilla.conf
<VirtualHost *:80>
DocumentRoot /var/www/html/bugzilla/
</VirtualHost>
<Directory /var/www/html/bugzilla>
AddHandler cgi-script .cgi
Options +Indexes +ExecCGI
DirectoryIndex index.cgi
AllowOverride Limit FileInfo Indexes
</Directory>
ファイルが作成されたら、変更を有効にするためにApacheを再起動します。
rootとしての作業は不要になりました。root権限が必要な場合は、sudoを使用できるようになりました。したがって、次のコマンドを実行してルートシェルを終了します。
[[メール保護]bugzilla]#exit[[メール保護]〜] $
ブラウザを使用してhttp:// ip-of-your-server /を開きます(ip-of-your-serverをサーバーのIPアドレスに置き換えます)。これで、デフォルトのApacheテストページの代わりにBugzillaページが表示されます。
これで、Bugzillaインストールスクリプトに提供した資格情報を使用してログインできます。このハウツーでは、これは次のとおりでした:
パスワード:adminpassword
ボイラ!これで、CentOS7にBugzilla5.0がインストールされました。これで、BugzillaWebインターフェイス内でBugzillaの詳細をセットアップし続けることができます。