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

著者情報

プロジェクトについて

An Ansible role that installs and configures Exim4

インストール
ansible-galaxy install adegtyarev.ansible_role_exim4
ライセンス
Unknown
ダウンロード
347
所有者