trombik.dovecot
ansible-role-dovecot
dovecot
を設定します。
要件
なし
ロール変数
変数 | 説明 | デフォルト |
---|---|---|
dovecot_user |
dovecot のユーザー名 |
{{ __dovecot_user }} |
dovecot_group |
dovecot のグループ名 |
{{ __dovecot_group }} |
dovecot_service |
dovecot のサービス名 |
{{ __dovecot_service }} |
dovecot_package |
dovecot のパッケージ名 |
{{ __dovecot_package }} |
dovecot_extra_packages |
インストールする追加パッケージのリスト | [] |
dovecot_conf_dir |
dovecot.conf のあるディレクトリのパス |
{{ __dovecot_conf_dir }} |
dovecot_confd_dir |
conf.d のパス |
{{ dovecot_conf_dir }}/conf.d |
dovecot_conf_file |
dovecot.conf(5) のパス |
{{ __dovecot_conf_dir }}/dovecot.conf |
dovecot_flags |
dovecot デーモンへの追加フラグ |
"" |
dovecot_base_dir |
dovecot.conf(5) の base_dir |
{{ __dovecot_base_dir }} |
dovecot_config |
dovecot.conf(5) の内容 |
"" |
dovecot_config_fragments |
追加の設定ファイルフラグメントの辞書リスト | [] |
dovecot_login_class |
login.conf(5) に追加するログインクラス。ansible_os_family が OpenBSD のときのみ使用 |
{{ __dovecot_login_class }} |
dovecot_extra_groups |
dovecot ユーザーに追加するグループのリスト |
[] |
dovecot_include_role_x509_certificate |
プレイ中に trombik.x509_certificate ロールを含める |
no |
dovecot_config_fragments
この変数は dovecot_confd_dir
の下にある追加の設定ファイルフラグメントの辞書リストです。
キー | 説明 | 必須か |
---|---|---|
name |
ファイル名 | はい |
state |
absent または present |
はい |
content |
ファイルの内容 | はい |
mode |
ファイルモード | いいえ |
owner |
ファイルの所有者 | いいえ |
group |
ファイルのグループ | いいえ |
FreeBSD
変数 | デフォルト |
---|---|
__dovecot_user |
dovecot |
__dovecot_group |
dovecot |
__dovecot_conf_dir |
/usr/local/etc/dovecot |
__dovecot_service |
dovecot |
__dovecot_package |
mail/dovecot |
__dovecot_base_dir |
/var/run/dovecot |
__dovecot_login_class |
"" |
OpenBSD
変数 | デフォルト |
---|---|
__dovecot_user |
_dovecot |
__dovecot_group |
_dovecot |
__dovecot_conf_dir |
/etc/dovecot |
__dovecot_service |
dovecot |
__dovecot_package |
dovecot |
__dovecot_base_dir |
/var/run/dovecot |
__dovecot_login_class |
下記参照 |
dovecot:\
:openfiles-cur=512:\
:openfiles-max=2048:\
:tc=daemon:
Debian
変数 | デフォルト |
---|---|
__dovecot_user |
dovecot |
__dovecot_group |
dovecot |
__dovecot_conf_dir |
/etc/dovecot |
__dovecot_service |
dovecot |
__dovecot_package |
dovecot-core |
__dovecot_base_dir |
/var/run/dovecot |
__dovecot_login_class |
"" |
TLS/SSL サポート
このロールは、プレイ中に trombik.x509_certificate
をインポートすることで TLS/SSL サポートを実装しています。
trombik.x509_certificate
は requirements.yml
にリストされている必要があり、dovecot_include_role_x509_certificate
を yes
に設定します。
例は tests/serverspec/default.yml を参照してください。
依存関係
なし
例のプレイブック
- hosts: localhost
roles:
- ansible-role-dovecot
vars:
x509_certificate_debug_log: yes
x509_certificate:
- name: dovecot
state: present
public:
path: "{{ dovecot_conf_dir }}/ssl/dovecot_pub.pem"
owner: "{{ dovecot_user }}"
key: |
-----BEGIN CERTIFICATE-----
MIIFjTCCA3WgAwIBAgIJAOWEMp5KrvqIMA0GCSqGSIb3DQEBCwUAMF0xCzAJBgNV
BAYTAlRIMRAwDgYDVQQIDAdCYW5na29rMSEwHwYDVQQKDBhJbnRlcm5ldCBXaWRn
aXRzIFB0eSBMdGQxGTAXBgNVBAMMEGEubXgudHJvbWJpay5vcmcwHhcNMTcxMjAx
MDM1NzA5WhcNMTgxMjAxMDM1NzA5WjBdMQswCQYDVQQGEwJUSDEQMA4GA1UECAwH
QmFuZ2tvazEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMRkwFwYD
VQQDDBBhLm14LnRyb21iaWsub3JnMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC
CgKCAgEAsqn3qdkjpvXn3vWIdPCCwGCQdaPhOxiyR0lVd3HfZOZpUM9u2Y+alXZx
exaOeMVIc8Ucazz49e1cgAYW+j4Y7roortcWpGJxUqY0LL3i4rBXJMsIjMDQ8gC9
ymC4ktPelzxWX1evs1j35ZJXynYTVYztLkSLnJuVjqUqjEj/EhjqQFqgRKlhKtED
9JeNM2NGTihYe4o2pTNoosNSsDsvy6liBi2Soko3D0XFkqD7hgCBn6NwJuzCvLQr
ypftGS7Bb1vsq9mEXSDeGZE1zZ170CtJ5/bKfsj66ecUBkt7X4qiFxos8vwb+k9M
WHgTtwipYrXr214aymdEP5t8ze0z6MhFJQU9FYfJ/VqaxV6ug+NH995uKaalY3np
X1vPANODi33wVIze0AiAYCu/bimfw4imG5AiTe7yJZLTa7tUcJ+HgHyZ6kV1Z4MM
CvqqMRKR//yELwFunJ8smDneKV5KnEB1aiH2RcmhplXIcrBtNIGnoOPH84SNJ/Hx
ji3H5meQLYQ0hv5NUXSHDr0bykrHvk5s1fBxG2/CORrMcwTY3dN+1oGDn7o56Wzl
nQ5VGYHWhVyBbfx2utSFeyMgDFrO/NKQBo8jS1UrUW5smYWcCV3LPo+dw3SShIEc
Y/kmbiljQ9+989oLQMvWbYunPzOUrMJUL6XB6We+nuEWnWRDCncCAwEAAaNQME4w
HQYDVR0OBBYEFBdZboL9VDGD0csUCItPSFX+DSQzMB8GA1UdIwQYMBaAFBdZboL9
VDGD0csUCItPSFX+DSQzMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggIB
AGiG1DxpTue9Ji9VnkDmrf1uMWi+Xv+adGBjETR3ojR6H8VaMhPZUrGAcTeB3C8h
C6mS0uTm6gAthPP0b25GgYRuZn2TSsWaURH6fXJJISrvZVNfY7CrN7eyK19BYSf+
31KREZOftm/0q8E+dpmUxKXSgvn4NmXG5TD7gOU9d2v9n9RtyNVrXyOWVWMcP73u
StVHHONGwQcm5E7oyQsVcmqKziy7KZxMQwCQ13qzfwlALKDJN19uA/cBBySov05y
NxNHKnhXnzxI57kmm+J7qy7D+XFzEsZZmZVS5J9mOOos19EHXx/qepRtPdxtJgFO
HJV+4tR7gtMCTC84ZkvRC8mUKCcbkzVniutKzdKSZ0uUeDHpAHp/Sv3+5qaevZ9D
2CcbxfqtSfEXr6VHBnBacLBF25P/d3gPN0TqXpR9fhhL1Q8LPW2VrEH9zfLDUDRA
argrFehyERw1WvSIhnz33kicpGC11viN6ITdAChNALttnBYOOPWaBSJL0HCw4HfN
DuUckexsq3zK5oNCCc3bua7tJCB/Jv0lgMZt7sRR7t2UY7Dy/EZH5Zfk9FxUKY/C
98XdGs+SkGrSHyXaHBmcUfFtUW7JfYEcAFrIWLV6E7e1BBjExn53Z97xZgwOvq1x
m0f30I/wnrEVBZwTF/pl5dDLq3a3Pm0kEIcZkzwXve4+
-----END CERTIFICATE-----
secret:
path: "{{ dovecot_conf_dir }}/ssl/dovecot_key.pem"
owner: "{{ dovecot_user }}"
key: |
-----BEGIN RSA PRIVATE KEY-----
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
NqCNKZf/MblRTrsWn823yA
-----END RSA PRIVATE KEY-----
dovecot_include_role_x509_certificate: true
dovecot_extra_packages: "{% if ansible_os_family == 'Debian' %}[ 'dovecot-imapd' ]{% else %}[]{% endif %}"
dovecot_extra_groups: "{% if ansible_os_family == 'Debian' %}[ 'nogroup' ]{% else %}[ 'nobody' ]{% endif %}"
dovecot_config: |
protocols = {% if ansible_os_family == 'Debian' %}imap{% else %}imaps{% endif %}
listen = *
base_dir = "{{ dovecot_base_dir }}"
{% for i in dovecot_config_fragments %}
{% if i.state == 'present' %}
!include {{ dovecot_confd_dir }}/{{ i.name }}
{% endif %}
{% endfor %}
dovecot_config_fragments:
- name: foo.conf
state: absent
- name: auth.conf
state: present
mode: "0640"
content: |
disable_plaintext_auth = yes
passdb {
driver = {% if ansible_os_family == 'FreeBSD' or ansible_os_family == 'Debian' %}pam{% elif ansible_os_family == 'OpenBSD' %}bsdauth{% endif %}
}
userdb {
driver = passwd
}
- name: ssl.conf
state: present
mode: "0640"
content: |
{% if ansible_os_family == 'Debian' %}
# 古い dovecot は次のように警告します:
# 'imaps' プロトコルはもう指定できません(protocols=imap を使用)
service imap-login {
inet_listener imap {
port = 0
}
}
{% endif %}
ssl = required
ssl_cert = <{{ dovecot_conf_dir }}/ssl/dovecot_pub.pem
ssl_key = <{{ dovecot_conf_dir }}/ssl/dovecot_key.pem
ライセンス
Copyright (c) 2017 Tomoyuki Sakurai <y@trombik.org>
このソフトウェアを無償で使用、コピー、修正、配布する権限が付与されます。
ただし、上記の著作権表示とこの許可通知はすべてのコピーに表示されるものとします。
このソフトウェアは「現状のまま」提供され、著作者はこのソフトウェアに関して
明示または暗示の保証を一切行いません。著作者は、契約、過失、またはその他の
不法行為に起因または関連する、使用、データまたは利益の損失から生じる任意の
特別、直接、間接、または結果的な損害について一切責任を負いません。
作者情報
Tomoyuki Sakurai y@trombik.org
この README は qansible によって作成されました。
インストール
ansible-galaxy install trombik.dovecot
ライセンス
isc
ダウンロード
449
所有者
PGP finger print: 03EB 3D97 5E04 9B0C AB21 93A2 D693 42A9 EFBC 3577
Makerspace and Coliving in Siem Reap, Cambodia: http://info.mkrsgh.org/