dudefellah.rt
dudefellah.rt
システムにRequest Trackerをインストールして設定します。
要件
CentOS 7:
CPANの依存関係をインストールするオプション(default/main.ymlのrt_cpan_modules
や、vars/main.ymlの__rt_cpan_modules
を参照)をカスタムlocallibパス(rt_cpan_locallib
)にインストールできるようにしましたが、このオプションはCentOS 7には適用されません。理由は、cpanminusのyumパッケージが古いPerlモジュールの依存関係をインストールするため、他の作業が難しくなるからです。そのため、この役割ではcpanminusを個別にインストールしないようにしています。CentOS 7でrt_cpan_locallib
の値を使用しようとするとエラーになるようにして、混乱を避ける手助けをします。とはいえ、CPANの依存関係をグローバルにインストールする方が好ましいかもしれません。
また、CentOS 7ではgnupg2がバージョン2.0.xまでしか利用できませんが、依存モジュールGnuPG::Interfaceはバージョン2.2以上を必要とします。この場合、最新のgnupg2を手動でインストールする必要があります。Ansibleプレイブックでのインストール方法の例は、molecule/defaults/prepare.ymlのInstall gnupg2 2.2+
タスクにあります。
もしgnupg1だけを使用している場合、バージョン1.4のためそれで大丈夫ですが、/usr/bin/gpg(またはインストールユーザーからのwhich gpg
の結果)がgpg1バイナリであることを確認する必要があります。つまり、インストーラーは特にgpg1
という名前のバイナリを探すわけではなく、別のgnupg2
インストールがそのgpg
というバイナリ名を使っている場合、バージョンを区別しないということです。
役割変数
構成可能な値とその説明は、defaults/main.ymlのコメントとして読むことができます。特定のnull値に対して自動的に決定されるデフォルトについては、vars/main.ymlでも少し情報を得られるかもしれません。これらの値は、配布とバージョンごとにわかりやすく区分されています(読者にとっても明らかであることを願っています)。
インストール中にrt_cpan_modules
の値を編集する際には、注意が必要です。既存のモジュールデフォルト(vars/main.ymlにリストされている)は、インストールのmake fixdeps
部分を正常に機能させるためにあります。公式のRTのドキュメントは、すべてがインストールされるようにmake fixdeps
を数回実行することを推奨していますが、できるだけこの役割でそのコマンドを何度も実行したくないため、rt_cpan_modules
の値があります。そのため、配列内のモジュールリストを変更する場合、スムーズ(または私が実現したスムーズさ)のインストールフローを妨げる依存関係を失わないか確認する必要があります。
要するに、rt_cpan_modules
をカスタマイズする場合は、vars/main.ymlにリストされているものを含め、知っている場合を除いて加えるべきです。
依存関係
最近の更新/ansible-lintを満足させようとした結果、タスクの名前を完全修飾コレクション名(fqcn)に変更しました。これにより、以下のコレクションが必要になります:
ansible.posix
community.general
community.mysql
- これはバージョンアップ時のバックアップのためのみ使用されます
CentOS 7では、cpanminusを使用していないため、CPANをインストールし、設定した状態でこの役割を使用する必要があります。
要件セクションでも述べたように、CentOS 7システムではRTを満足させるためにgpg2の更新版が必要になる可能性があります。これを事前にインストールする必要があります。
例のプレイブック
一般的な流れは次のようになります:
- hosts: db_servers
tasks:
- block:
- name: データベースのインストールと構成
ansible.builtin.include_role:
name: dudefellah.postgresql
vars:
...
become: true
- hosts: rt_servers
tasks:
- block:
- name: RTのインストール
ansible.builtin.include_role:
name: dudefellah.rt
vars:
rt_version: 5.0.1
...
- name: Apacheの設定
ansible.builtin.include_role:
name: geerlingguy.apache
vars:
apache_vhosts: |
...
apache_vhosts_ssl: |
...
ライセンス
GPLv2+
著者情報
Dan - github.com/dudefellah