linux-system-roles.postfix
postfix
この役割は、Postfix MTAをインストール、設定、起動することができます。
要件
以下を参照してください。
コレクション要件
この役割は、postfix_manage_firewallとpostfix_manage_selinuxがそれぞれtrueに設定されている場合に、fedora.linux_system_rolesコレクションからのfirewallロールとselinuxロールを必要とします。
(postfix_manage_firewallとpostfix_manage_selinuxについても参照してください。)
postfixがfedora.linux_system_rolesコレクションのロールであるか、Fedora RPMパッケージの場合、要件はすでに満たされています。
この役割は、rpm-ostreeシステムを管理するために追加のコレクションを必要とします。
rpm-ostreeシステムを管理する必要がある場合は、以下のコマンドを実行してコレクションをインストールしてください。
ansible-galaxy collection install -r meta/collection-requirements.yml
役割変数
postfix_conf
postfix_conf:
relayhost: example.com
これは、すべてのサポートされているPostfix設定パラメータのキー/値ペアを保持できる辞書です。
インストールされたPostfixによってサポートされていないキーは無視されます。デフォルトは空の{}です。
postfix_conf辞書内でprevious: replacedを指定すると、既存の設定を削除し、新しい設定を適用できます。
警告: previous: replacedを指定すると、役割はpostfixパッケージを再インストールし、既存の/etc/postfix/main.cfおよび/etc/postfix/master.cfファイルを置き換えます。設定を保存するために、これらのファイルをバックアップすることをお勧めします。
警告: rpm-ostreeシステムを管理する場合、役割はpostfixパッケージを再インストールできないため、変更された構成ファイルを空のファイルに置き換えます。これは冪等性がありません。
postfix_conf辞書の下にprevious: replacedのみを指定すると、役割はpostfixパッケージを再インストールし、構成を適用せずにpostfixサービスを有効にします。
例えば、既存の設定を削除し、クリーンなPostfixインストールの上にrelayhost: example.comを設定するには、以下のようにpostfix_confを使用します:
postfix_conf:
previous: replaced
relayhost: example.com
postfix_files
postfix_files:
- name: sasl_passwd
content: example.com user:password
postmap: true
- name: sender_canonical_maps
content: /.+/ [email protected]
これは、/etc/postfixに配置され、必要に応じてPostfixルックアップテーブルに変換できるファイルのリストです。
SASL認証情報やその他の小さなスニペットなどを設定するための簡単なメカニズムとしての利用を想定しています。
postfix_check
postfix_check: false
これは、構成が変更された場合にPostfixを起動する前にpostfix checkを実行するかどうかを決定するブール値です。デフォルトはtrueです。
postfix_backup
postfix_backup: true
これは、役割が設定の単一バックアップコピーを作成するかどうかを決定するブール値です。例えば、
cp /etc/postfix/main.cf /etc/postfix/main.cf.backupのように、以前のバックアップを上書きします。デフォルトはfalseです。注意:これをtrueに設定する場合は、postfix_backup_multiple: falseも設定する必要があります。
postfix_backup_multiple
postfix_backup_multiple: false
これは、役割が設定のタイムスタンプ付きバックアップコピーを作成するかどうかを決定するブール値です。例えば、
cp /etc/postfix/main.cf /etc/postfix/main.cf.$(date -Isec)のように、複数のバックアップコピーを保持します。デフォルトはtrueです。この設定はpostfix_backupを上書きするため、postfix_backupを使用したい場合はfalseに設定する必要があります。
postfix_manage_firewall
ファイアウォールをfirewallロールを使用して構成するためのブールフラグです。
SMTP関連のポート、25/tcp、465/tcp、および587/tcpを管理します。
この変数がfalseに設定されている場合、postfix roleはファイアウォールを管理しません。
デフォルトはfalseです。
注意:postfix_manage_firewallはポートを追加することに制限されています。ポートを削除することはできません。
ポートを削除したい場合は、ファイアウォールのシステムロールを直接使用する必要があります。
注意:ファイアウォール管理はRHEL 6ではサポートされていません。
postfix_manage_selinux
SELinuxをselinuxロールを使用して構成するためのブールフラグです。
SMTP関連のポートにsmtp_port_tを割り当てます。
この変数がfalseに設定されている場合、postfix roleはSELinuxを管理しません。
注意:postfix_manage_selinuxはポリシーを追加することに制限されています。ポリシーを削除することはできません。
ポリシーを削除したい場合は、selinuxシステムロールを直接使用する必要があります。
制約
別々の設定パラメータを削除する方法はありません。
回避策として、postfix_confのprevious: replacedを使用して既存の設定を削除し、その上に新しい設定を適用することでクリーンなPostfixインストールを実現できます。
詳細については、postfix_confを参照してください。
例のプレイブック
Postfixをインストールし、有効にします。relay_domains=$mydestinationとrelayhost=example.comを設定します。
---
- name: Manage postfix
hosts: all
vars:
postfix_conf:
relay_domains: $mydestination
relayhost: example.com
roles:
- linux-system-roles.postfix
Postfixをインストールし、有効にします。「postfix check」を実行せずに、postfixを再起動します:
---
- name: Manage postfix with no check
hosts: all
vars:
postfix_check: false
roles:
- linux-system-roles.postfix
Postfixをインストールし、有効にします。main.cfの単一バックアップを取り(古いバックアップが上書きされます)、relayhost=example.comを設定します:
---
- name: Manage postfix with relayhost
hosts: all
vars:
postfix_conf:
relayhost: example.com
postfix_backup: true
roles:
- linux-system-roles.postfix
Postfixをインストールし、有効にします。main.cfのタイムスタンプ付きバックアップを取り、relayhost=example.comを設定します(postfix_backup_multipleがtrueに設定されている場合、postfix_backupは無視されます):
---
- name: Manage postfix with multiple backups
hosts: all
vars:
postfix_conf:
relayhost: example.com
postfix_backup_multiple: true
roles:
- linux-system-roles.postfix
rpm-ostree
README-ostree.mdを参照してください。
ライセンス
Copyright (C) 2017 Jaroslav Škarvada jskarvad@redhat.com
このプログラムはフリーソフトウェアです:あなたはそれを再配布または修正することができます。 GNU一般公 licensing 3版または、それ以降の版の条件のもとに行うことができます。
このプログラムは役立つことを願って配布されていますが、保証は一切ありません。 詳細については、GNU一般公 licensingを参照してください。
このプログラムに付随してGNU一般公 licensingのコピーを受け取ったはずです。 受け取っていない場合は、http://www.gnu.org/licenses/をご覧ください。
