pimvh.postfix

モルテキスト

事前要件

  1. Ansible がインストールされていること:
sudo apt install python3
python3 -m ensurepip --upgrade
pip3 install ansible
  1. このロールをインストールする:
ansible-galaxy install pimvh.postfix

必要な変数

デフォルトで示されている変数を確認してください。変数の内容についての説明は、meta/main.yaml に在る引数の仕様に記載されています。このロールに渡される変数は、実行時に引数の仕様によって検証されます。

サンプルプレイブック

ホスト上でこのロールを実行する簡単な方法は以下の通りです:

- hosts:
  - foo

  vars:
    postfix_ipv4: << ポストフィックスメールサーバーのIPv4アドレスをここに入力 >>
    postfix_ipv6: << ポストフィックスメールサーバーのIPv6アドレスをここに入力 >>
    postfix_myhostname: "<< ポストフィックスのドメイン名をここに入力 >>"
    postfix_mydomain: "<< ポストフィックスのドメインをここに入力(デフォルトは myhostname)>>"
    postfix_mynetworks:
      - 127.0.0.0/8
      - "::1/128" # IPv6 アドレスに括弧を付ける必要はありません。フィルターによって処理されます。
    # 必要に応じて追加のネットワークを追加してください。
    postfix_virtual_alias_domains: [] # 必要に応じて仮想エイリアスドメインを追加してください(構造は meta/main.yaml を参照)。
    postfix_relay_domains: [] # 必要に応じてリレードメインを追加してください(構造は defaults/main.yaml を参照)。
    postfix_aliases: # 必要に応じてユーザーエイリアスを追加してください。
      - user: root
        alias: postmaster
    # ユーザーのリストとしても指定できます。
    # - users:
    #     - fred
    #     - foo
    #     - bar
    #   alias: something

    postfix_virtual_aliases: [] # 必要に応じて仮想エイリアスを追加してください(構造は meta/main.yaml を参照)。

    # 残りの変数はスキップしても構いません。
    # postfix_install: true
    # postfix_dir: /etc/postfix

    # postfix_dkim_enabled: true # DKIMはデフォルトで有効です。
    # postfix_dkim_keys:
    #   default:
    #     mail: "*"

    # DKIMファイルはファイルシステム上に配置されます。
    # postfix_dkim_keytable: /etc/opendkim/keytable
    # postfix_dkim_signingtable: /etc/opendkim/signingtable
    # postfix_dkim_trustedhosts: "/etc/opendkim/trustedhosts"

    # 証明書の場所はcertbotのデフォルトの場所に基づいています(証明書を取得するために、pimvh.certbotロールを実行できます)。
    # postfix_smtpd_tls_cert_file: "/etc/letsencrypt/live/{{ postfix_mydomain }}/fullchain.pem"
    # postfix_smtpd_tls_key_file: "/etc/letsencrypt/live/{{ postfix_mydomain }}/privkey.pem"

  roles:
    - pimvh.postfix

変数をホストやグループに基づいて設定することで、リファクタリングの手間を省けるでしょう。ただし、これは特定の使用事例によります。このため、Ansible推奨のプレイブック設定を参考にしてください。

要点 - 実行すると何が起こるのか

  • 変数が正しいか検証します。
  • postfixをインストールします。
  • amavisをインストールし、設定します。
  • opendkimをインストールし、設定します。
  • opendmarcをインストールし、設定します。
  • dovecotをシステムユーザーおよび仮想メールディレクトリと共にインストールし、設定します。
  • mailutilsを設定します(このロールに依存しています)。

このロールが行わないこと

ファイアウォール設定

このロールはファイアウォール設定を行いません。特定の要件があるかもしれませんので、IMAPポートを全インターネットに開放することは避けたいでしょう。注意してください。

データベースバックエンドの設定

postfixのバックエンドとしてデータベースを設定する作業にはまだ取り組んでいません。興味があれば、貢献してください。

トラブルシューティング

このロールは渡された変数を検証します。もし:

  • 引数の仕様に問題がある場合、変数を渡す時にエラーを犯した可能性があります。
  • プレイブックを実行中に問題が発生した場合は、詳細に問題を説明して、問題を報告してください。

将来の改善点

このロールには改善できる点がまだいくつかあります。次のような追加を考えています:

  • dmarcパースツールを追加
  • ファイルシステムの代わりにデータベースのようなより良いバックエンドを追加

他に改善点があれば、お気軽に問題を報告してください。

参考資料

プロジェクトについて

role to configure postfix, with ClamAV, Amavis, DKIM, SPF and DMARC

インストール
ansible-galaxy install pimvh.postfix
ライセンス
gpl-3.0
ダウンロード
72
所有者