GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS7にBugzilla5.0をインストールする方法

このページについて

  1. CentOSの前提条件
    1. インターネット接続
    2. SELinux
      1. SELinuxを無効にする
    3. インストールに使用されるアカウント
    4. 追加のリポジトリ
      1. Epelリポジトリを有効にする
  2. mod_sslおよびmod_perlを使用してApacheをインストールします
    1. httpd.serviceを有効にして開始します
      1. httpd.serviceを開始します
      2. httpd.serviceのステータスを確認する
      3. httpd.serviceを永続的に有効にする
      4. ローカルファイアウォールのポート80を開いて、HTTPリクエストを許可します
      5. ApacheWebサーバーをテストします
  3. MariaDBをインストールします
    1. 起動時にMariaDBを自動起動する
    2. MariaDBルートパスワードを設定する
    3. MariaDBのmax_allowed_pa​​cketsを設定
  4. 追加パッケージ
  • Bugzillaをインストールする
    1. Bugzilla用のデータベースを作成する
    2. Bugzillaをダウンロードして解凍する
    3. Bugzillaフォルダーをwebserverフォルダーにコピーします
    4. Bugzillaのインストールスクリプトを使用した最終セットアップ
    5. BugzillaインストールをホストするようにApacheを構成します
      1. 通常のユーザーに戻します
      2. ブラウザで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つのコマンドを実行してください。

    エクスポートhttp_proxy=http://192.168.178.1:8080 /
    export https_proxy =http://192.168.178.1:8080 /


    この方法を使用すると、プロキシの背後にいる場合でも、このハウツーを使用できるはずです。

    SELinux

    Security-Enhanced Linux(SELinux)は、カーネルに実装されている必須アクセス制御(MAC)セキュリティメカニズムです。これは優れたセキュリティメカニズムですが、SELinuxも構成する公式のBugzilla5.0rpmパッケージがリリースされるまでBugzillaを破壊します。したがって、この時点で、SELinuxをパーミッシブモードに設定します。このモードでは、SELinuxは有効になっていますが、セキュリティポリシーは適用されません。

    SELinuxを無効にする

    次のコマンドを実行して、SELinuxモードを強制から許可に変更します。

    sudo sed -i's / ^ SELINUX =enforcing $ / SELINUX =permit / g'/ etc / selinux / config


    ファイルは次のようになります:

    #このファイルは、システム上のSELinuxの状態を制御します。
    #SELINUX =は、次の3つの値のいずれかを取ることができます。強制する代わりに。
    #無効-SELinuxポリシーはロードされません。
    SELINUX =permit
    #SELINUXTYPE =は、次の3つの値のいずれかを取ることができます。
    #targeted-ターゲットプロセスは保護されます、
    #minimum-対象となるポリシーの変更。選択したプロセスのみが保護されます。
    #mls-マルチレベルセキュリティ保護。
    SELINUXTYPE =targeted


    その変更後、マシンを再起動します。

    インストールに使用されたアカウント

    特に明記されていない限り、このハウツーのすべてのコマンドは、CentOS 7マシンの管理ユーザーであるユーザー「installer」として実行され、「sudo」を使用してコマンドを実行できます。

    追加のリポジトリ

    公式のCentOSリポジトリにない多くのパッケージが必要になるため、CentOSボックスで追加のリポジトリを有効にします。

    Epelリポジトリを有効にする

    次のコマンドを実行して、epelリポジトリを有効にします。

    sudo yum install deltarpm epel-release
    sudo 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 start httpd.service

    httpd.serviceのステータスを確認する

    sudo systemctl status httpd.service


    このコマンドは、httpd.serviceが実行されていることを通知する必要があります(一部の行が削除されています)

    httpd.service-Apache HTTPサーバー
    ロード済み:ロード済み(/usr/lib/systemd/system/httpd.service;無効)
    アクティブ:アクティブ(実行中)2015年8月4日火曜日以降11: 18:03 CEST; 6秒前
    メインPID:11930(/ usr / sbin / httpd)
    .. .. httpd.serviceを永続的に有効にする

    上記の出力を確認した後、httpd.serviceを有効にして次のコマンドで自動起動します:

    sudo systemctl enable httpd.service


    システムは、自動起動のためにhttp.serviceを有効にするためのシンボリックリンクを自動的に作成します。

    ローカルファイアウォールのポート80を開いてHTTPリクエストを許可する

    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を自動起動する

    起動時にMariaDBを自動起動するには、以前httpd.serviceで行ったのと同じ方法でMariaDBをサービスとして設定します。次の3つのコマンドを実行して開始し、ステータスを確認して、MariaDBを永続的なサービスとして有効にします。

    sudo systemctl start mariadb.service
    sudo systemctl status mariadb.service
    sudo systemctl enable mariadb.service

    MariaDBルートパスワードを設定

    次のコマンドを実行して、MariaDBサーバーでSQLプロンプトを開きます。

    mysql -u root


    MariaDBプロンプトが表示されます。次のコマンドでは、myrootpasswordをMariaDBrootユーザーに使用するパスワードに置き換える必要があります。

    MariaDB [(なし)]> SET PASSWORD FOR'root' @'localhost' =PASSWORD('myrootpassword');クエリOK、影響を受ける行は0(0.00秒)MariaDB [(なし)]> \ qBye


    rootユーザーでログインできるか試してみてください

    mysql -u root -p
    パスワードを入力してください:myrootpasswordMariaDBモニターへようこそ。コマンドは;で終わりますまたは\g。
    MariaDB接続IDは5です。
    サーバーバージョン:5.5.41-MariaDB MariaDBサーバー
    著作権(c)2000、2014、Oracle、MariaDBCorporationAbなど。
    「help;」と入力しますまたは「\h」でヘルプを表示します。 '\ c'と入力して、現在の入力ステートメントをクリアします。MariaDB[(なし)]> \ qBye

    MariaDBのmax_allowed_pa​​cketsを設定

    Bugzillaには、MariaDB内で構成された「max_allowed_pa​​cket」の最小サイズが必要です。それでは、一般的なMariaDB構成を変更して、「max_allowed_pa​​cket」サイズを4メガバイトに設定しましょう。
    エディターで「/etc/my.cnf」を開き、「[mysqld]」セクションの下に次の行を追加します。

    #Bugzilla
    #添付ファイルのアップロードの最大許容サイズ
    #さらに必要な場合はこれを変更してください!
    max_allowed_pa​​cket =4M


    その後、「my.cnf」全体を次のように変更します。

    [mysqld]
    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_pa​​cket =4M

    [mysqld_safe]
    log-error =/ var / log / mariadb / mariadb.log
    pid-file =/ var / run / mariadb / mariadb.pid


    #configディレクトリのすべてのファイルを含める

    !includedir/etc/my.cnf。 d


    変更は、MariaDBを再起動した後に有効になります。

    sudo systemctl restart mariadb.service

    追加パッケージ

    Bugzillaには、主にperl関連の多くの追加パッケージ、perlモジュールを機能させるためのいくつかの前提条件、およびperlモジュールをダウンロードしてインストールできるようにするためのセットアップが必要です。そのため、必要なすべての依存関係をインストールします。また、私たちが

    パッケージperl-homedirをインストールしないでください。Bugzillaのインストールが中断される可能性があります。

    (「perl-homedir」は、Bugzillaがアクセスできないユーザーフォルダにperlモジュールをインストールするため、絶対にインストールしないでください!)

    次のコマンドは、perl-homedirがインストールされていないことを確認します。その他の必要なパッケージをインストールします:

    sudo yum install gcc gcc-c ++graphvizgraphviz-devel patchutils gd gd-devel wget perl * -x perl-homedir


    約1300個のパッケージがインストールされます!

    Bugzillaをインストールする

    すべての準備が完了したので、最新のBugzillaをダウンロードし、そのデータベースを作成して、最終的なセットアップを行う準備が整いました。

    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」を自分のパスワードに変更してください!)

    MariaDB [(なし)]>データベースのバグを作成;クエリOK、1行が影響を受ける(0.00秒)MariaDB [(なし)]>すべてのバグを許可*'bugsuserpassword'で識別される[メール保護]に;クエリOK、0行影響を受ける(0.00秒)MariaDB [(なし)]> \ qBye

    Bugzillaをダウンロードして解凍する

    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サーバーフォルダーに移動します

    [[メール保護]インストーラー]#cd / var / www / html / bugzilla
    [[メール保護]bugzilla]#


    次に、次のコマンドを実行して、Bugzillaインストールスクリプトにセットアップのステータスを確認させます

    [[メール保護]bugzilla]#./checksetup.pl


    通常、上記のコマンドの出力から、一部のperlモジュール(オプションおよび必須モジュール)がインストールに含まれておらず、続行するには少なくとも必要なモジュールをインストールする必要があることがわかります。もちろん、インストールスクリプトに表示されるコマンドを手動で実行することで、必要な(必要に応じて)すべてのオプションモジュールをインストールできますが、この1つのコマンドを使用すると、必要なすべてのperlモジュールを一度にインストールできます(必須およびオプション)。それでは実行しましょう:

    [[メール保護]bugzilla]#/usr/bin/perl install-module.pl --all


    セットアップスクリプトは一時的なCPAN構成をセットアップし、Bugzillaが必要とするすべてのperlモジュール(必須およびオプション)をインストールしようとします。プロセス中には、いくつかの小さな警告のみが表示されます。

    最後に、checksetup.plを実行して、インストールのステータスを再度確認しましょう。

    [[メール保護]bugzilla]#./checksetup.pl


    これで、1つのモジュール(DBD-Oracle(v1.19)が見つからない)を除いて、すべての依存関係に問題がないはずです。このモジュールは、機能しているOracleインストールが見つからない場合にのみインストールされるため、問題ありません。

    セットアップスクリプトに次のテキストが表示されます:

    ./localconfigを読んでいます...

    このバージョンの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を開き、必要に応じて変更します。これが私が使用したものです(コメントは削除されています)。データベース名とパスワードを必要に応じて変更してください!

    $ create_htaccess =1;
    $ 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サーバーへのアクセスが開始されます。

    [[メール保護]bugzilla]#./checksetup.pl


    出力(一部の行が削除されました)

    ...
    ...
    新しいテーブルbz_schemaを追加しています...
    bz_schemaを初期化しています...
    テーブルを作成しています...
    attach_dataの最大サイズを100Gに変換しています。 ..
    標準のドロップダウンフィールドの選択肢を設定する:
    優先度bug_statusrep_platform解決bug_severityop_sys
    ./dataディレクトリを作成しています...
    ...
    。 ..
    テンプレートのプリコンパイル...完了。
    ファイル権限の修正...
    「依存関係ツリーの変更」email_settingの初期化...
    「製品/コンポーネントの変更」email_settingの初期化。 ..
    クローズされたバグステータスをそのようにマークする...
    デフォルトの分類「未分類」を作成しています...
    外部キーを設定しています...
    デフォルトのステータスワークフローを設定しています。 ..
    デフォルトグループの作成...
    ユーザー設定の設定...

    まだ管理者が設定されていないようです。
    Bugzillaを初めて使用するか、
    管理者の権限が誤って削除された可能性があります。

    管理者の電子メールアドレスを入力してください。


    ここで、プロンプトに従ってセットアップを完了します(ここでの回答に値を使用してください!):

    管理者のメールアドレスを入力してください:[メール保護]
    管理者の本名を入力してください:Der PCFreak
    管理者アカウントのパスワードを入力してください:adminpassword
    パスワードを次のように再入力してください確認:adminpassword
    [emailprotected]が管理者として設定されました。


    すべてがうまくいったら、次のように表示されます。

    初期ダミー製品「TestProduct」を作成しています...

    Bugzillaをインストールしたので、「パラメータ」
    ページ(管理者アカウントのフッターにリンクされています)にアクセスして、それを確認する必要があります。
    必要に応じて設定されます。これには、「urlbase」オプションを
    正しいURLに設定することも含まれます。
    checksetup.plcomplete。


    この時点で、ほぼ完了です。次の行を実行して、Bugzillaインストールスクリプトが作成した.htaccessファイルの行をコメントアウトします。

    [[メール保護]bugzilla]#sed -i's / ^ Options -Indexes $ /#Options -Indexes / g'./.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を再起動します。

    [[メール保護]bugzilla]#systemctl restart httpd.service

    通常のユーザーに戻す

    rootとしての作業は不要になりました。root権限が必要な場合は、sudoを使用できるようになりました。したがって、次のコマンドを実行してルートシェルを終了します。

    [[メール保護]bugzilla]#exit
    [[メール保護]〜] $

    ブラウザでBugzillaのインストールをテストします

    ブラウザを使用してhttp:// ip-of-your-server /を開きます(ip-of-your-serverをサーバーのIPアドレスに置き換えます)。これで、デフォルトのApacheテストページの代わりにBugzillaページが表示されます。
    これで、Bugzillaインストールスクリプトに提供した資格情報を使用してログインできます。このハウツーでは、これは次のとおりでした:

    メールアドレス:[メール保護]
    パスワード:adminpassword


    ボイラ!これで、CentOS7にBugzilla5.0がインストールされました。これで、BugzillaWebインターフェイス内でBugzillaの詳細をセットアップし続けることができます。


    Cent OS
    1. CentOS7にPHP7、7.2、7.3をインストールする方法

    2. CentOS7にJava11および12をインストールする方法

    3. CentOS6にBugzillaをインストールする方法

    1. CentOS7にWine4.0をインストールする方法

    2. CentOS7にVim8.2をインストールする方法

    3. CentOS7にVirtualBoxをインストールする方法

    1. CentOS8にGitをインストールする方法

    2. CentOS8にDockerをインストールする方法

    3. Centos8にJava8および11をインストールする方法