adegtyarev.ansible_role_exim4
Ansible Role: Exim4
このAnsibleロールは、DebianまたはUbuntuシステムにExim4をインストールおよび設定するためのものです。
このロールを使用すると、変数を使用してExim4のインストールを微調整できます。
使用方法
Ansibleが提供するansible-galaxyコマンドを使用して、Ansibleホストにロールをダウンロードします。
$ ansible-galaxy install adegtyarev.exim4
自分のプレイブックにロールを定義し、希望のオプションを設定します。例えば:
roles:
- role: adegtyarev.exim4
デフォルトでは、exim4-daemon-light
パッケージがインストールされ、OSのデフォルト以外の追加設定は行われません。このロールはDebianパッケージの構成概念に従っています。以下に、セットアップ内で機能を有効または無効にする方法を示します。
このロールは、デフォルトのEximユーザーDebian-exim
をグループssl-cert
に追加し、デーモンがSSL証明書とキーにアクセスできるようにします。
ロール変数
変数 | デフォルト値 | 説明 |
---|---|---|
exim4_package_name | exim4-daemon-light | インストールするパッケージ名を設定 |
exim4_conf_keyvalue | 空 | キー-バリューの辞書のリスト(下記参照) |
exim4_conf_values | 空 | 一行ごとの値を持つ辞書のリスト(下記参照) |
exim4_package_nameの値としては、exim4-daemon-heavy
や、システムで利用可能な他の名前も良い選択です。
辞書のリストを使用
exim4_conf_keyvalueは、データのキー-バリュー対を持つコンフィグファイルを作成するために使用されます。例えば、DNSからMX情報を上書きまたは追加するために使用できるroute_dataレコードのリストを構成する場合は、次のようにします:
exim4_conf_keyvalue:
- name: hubbed_hosts
data:
example.com: mail.example.com
example.net: mail.example.net
その結果、/etc/exim4/hubbed_hosts
ファイルが、ドメインパターンとルートデータのキー-バリュー対を持って作成されます。
exim4_conf_valuesは、平坦なリスト値を持つコンフィグファイルを作成するために使用されます。例えば、受信メッセージの受取人確認が必要な封筒の受取人リストを構成する場合は、次のようにします:
exim4_conf_values:
- name: local_rcpt_callout
data:
- "*@example.com"
- "*@example.net"
その結果、住所リストを持つファイル/etc/exim4/local_rcpt_callout
が作成されます。
Debian exim4パッケージで使用されているファイルについての詳細は、man exim4-config_files
を参照してください。
update-exim4.conf.confの維持
次の変数とそのデフォルト値は、/etc/exim4/update-exim4.conf.conf
ファイルの内容に使用されます:
変数 | デフォルト値 | 説明 |
---|---|---|
exim4_dc_eximconfig_configtype | internet | メールサーバーの構成タイプ |
exim4_dc_other_hostnames | ansible_hostname | メールが受け付けられる他の宛先 |
exim4_dc_local_interfaces | 127.0.0.1 ; ::1 | リスンするIPアドレス |
exim4_dc_minimaldns | false | DNSクエリの数を最小限に保つ |
exim4_dc_localdelivery | mail_spool | ローカルメールの配信方法 |
exim4_dc_use_split_config | false | 小さなファイルに設定を分割しますか? |
exim4_dc_mailname_in_oh | true | 内部専用 |
exim4_dc_relay_nets | 空 | メールを中継する機械 |
exim4_dc_relay_domains | 空 | メールを中継するドメイン |
exim4_CFILEMODE | 644 | 生成されたファイルの8進数ファイルモード |
スマートホスト専用の変数:
変数 | デフォルト値 | 説明 |
---|---|---|
exim4_dc_smarthost | 空 | 外向きのスマートホストのIPアドレスまたはホスト名 |
exim4_dc_hide_mailname | 空 | 送信メールにローカルメール名を隠しますか? |
exim4_dc_readhost | 空 | ローカルユーザーのための表示ドメイン名 |
これらの設定変数の意味についての詳細は、update-exim4.conf
のmanページを参照してください。
次の変数は、Exim4を設定するためのデフォルトのテンプレートで使用されます:
- exim4_custom_options
- exim4_passwd_client: SMTP認証のためのアカウントおよびパスワードデータ(リストとして)
このロールには次の機能が組み込まれています:
- 00_exim4-config_tls: EximでTLSを有効にする
- 02_exim4-custom_options: 設定に追加するカスタムオプション ...
Exim4でDKIMを設定
Eximが送信メッセージにDKIMで署名するように設定するのは簡単です:
exim4_dkim_enable: true
exim4_features_enable:
- name: 30_exim4-config_dkim
group: main
既存のEximインストールを再構成するには、この変数を適切なグループまたはホストのvarsに追加し、その後exim4-dkim,exim4-reconfigure
タグでAnsibleを実行します:
ansible-playbook -t exim4-dkim,exim4-reconfigure playbook.yml
これにより、署名と検証に使用される公開/秘密鍵が生成されます。生成された公開鍵をTXTレコードとして公開する必要があります:
dkim._domainkey.example.com IN TXT "k=rsa; p={{PUBLIC_KEY}}"
{{PUBLIC_KEY}}
は、/etc/exim4/dkim.public
の内容の最初と最後の行を削除し、改行も削除したものです。
次の変数とそのデフォルト値が使用されます:
変数 | デフォルト値 | 説明 |
---|---|---|
exim4_dkim_keysize | 2048 | 鍵のサイズ |
exim4_dkim_canon | relaxed | メッセージに署名する際に使用される標準化方法 |
exim4_dkim_selector | dkim | 鍵セレクタ文字列 |
自分の設定に最も適した値に調整することができます。
Exim4のログローテーションの維持
デフォルトでは、このロールはDebianパッケージで設定されたログローテーションの設定を維持します。これらの設定を調整するために、次の変数が使用されます:
exim4_logrotate_base:
- name: exim4-base
path: /var/log/exim4/mainlog /var/log/exim4/rejectlog
type: daily
rotate: 10
create: 640 Debian-exim adm
exim4_logrotate_paniclog:
- name: exim4-paniclog
path: /var/log/exim4/paniclog
type: size 10M
rotate: 10
create: 640 Debian-exim adm
この例では、mainlogとrejectlogを月単位でローテーションします:
exim4_logrotate_base:
- name: exim4-base
path: /var/log/exim4/mainlog /var/log/exim4/rejectlog
type: monthly
Exim4の機能の有効化または無効化
あなたの設定に対してExim4の機能を有効または無効にします。例えば:
exim4_features_enable:
- name: 02_exim4-custom_options
group: main
- name: 30_exim4-config_dovecot_lmtp
group: transport
exim4_features_disable:
- name: 30_exim4-config_examples
group: auth
exim4_custom_options:
- daemon_smtp_ports: "25 : 465 : 587"
- rfc1413_query_timeout: 0s
- smtp_banner: "ESMTP server ready $tod_full"
これにより、組み込みの機能が有効になります:
02_exim4-custom_options
は、設定グループmain
で有効化されます。30_exim4-config_dovecot_lmtp
は、設定グループtransport
で有効化されます。
また、もし存在する場合は、30_exim4-config_examples
機能を無効にします。
機能02_exim4-custom_options
は、exim4_custom_options
で指定されたカスタムオプションをExim4の設定に追加します。
次のタグを使用してExim4を再構成できます:
- exim4: 明示的に無効にされない限り、ロール内のすべてのタスクを実行
- exim4-reconfigure: 更新されたパラメータを適用するために再構成を実行
- exim4-reconfigure-logrotate: ログローテーションの再構成を実行
ライセンス
BSD
著者情報
- Alexey Degtyarev alexey@renatasystems.org