Dovecotが動いていないことに気付いたのは、前回の最後の方。
portが全く開いていなかった。汗
古い環境と付き合わせ直そうと思い、doveconfの出力結果を両者で比べることにした。
そうしたら、こうだ。
|
1 2 |
doveconf: Error: protocols: Unknown protocol: sieve doveconf: Fatal: Error in configuration file /opt/local/etc/dovecot/dovecot.conf: protocols: Unknown protocol: sieve |
どっかのサイトでsieveが入っていたのを見て追加した。ら、対応していない?プロトコルらしい。(よく判らん)
判らないのに追加する。これがにわ管クオリティ!(どやっ)
あ、imapでログインできた。
でも読み込めない……
error_logを読んでみた。
初っ端から出てくる出てくる。
|
1 2 3 4 |
Apr 12 05:30:00 config: Warning: NOTE: You can get a new clean config file with: doveconf -Pn > dovecot-new.conf Apr 12 05:30:00 config: Warning: Obsolete setting in /opt/local/etc/dovecot/conf.d/10-ssl.conf:81: ssl_protocols has been replaced by ssl_min_protocol Apr 12 05:30:00 config: Error: Could not find a minimum ssl_min_protocol setting from ssl_protocols = !SSLv2 !SSLv3: Unrecognized protocol 'SSLv2' Apr 12 05:30:00 config: Warning: Obsolete setting in /opt/local/etc/dovecot/conf.d/10-ssl.conf:81: ssl_protocols has been replaced by ssl_min_protocol |
最初のはconfig fileをすっきりっせろってことかな?
どれが正しいのか判らんが……動いていた方に合わせることとしよう。
あれ、合わせてあるのに、SSLv2とかは認識できないプロトコルと返されているのか。
何がいけないのか判らん。
ついでにググっていたら見つけたDovecot 2.2 から 2.3 にアップグレードするときに必要な設定にあった通り、dh.pemを作り、10-ssl.confのコメントを外してみる。
サーバーのSSL/TLS設定をテストするssltest.shでの結果に対処する dovecotを読んだらssl_protocols = !SSLv2 !SSLv3 !TLSv1 !TLSv1.1はDovecot version 2.2までで、2.3からはssl_min_protocol = = TLSv1.2を使うらしい。
これは吃驚。全く考えが及ばなかった。
さて、再起動だ。
ssl_protocolsのエラーは無くなったみたいだ。dovecot.confを作り直せとも言われなくなった。
が、クライアント側からメールチェックをすると次が出た。
|
1 |
Apr 12 11:37:25 imap(admin)<15733><BCICfRr5yO7AqAAk>: Error: namespace configuration error: All list=yes namespaces must use the same separator |
名前空間の設定にエラーがあるのかも知れない。
それが何処で定義されているのかは判らない。
関係無いが気分的に10024と10025の二つのportがunknownなのが気持ち悪くて/etc/servisファイルを書き加えることにした。
|
1 2 3 4 |
#### insert local port names ### # smtp-amavis 10024/tcp # amavisd-new postfix-filter 10025/tcp # back to postfix from amavis |
が、nmapの出力結果は変わらない。何故?
まぁ、いいかぁ。
さて、新旧のサーバーでdoveconfの出力をdiffし、差分から要らない所を取り払って違いを出した。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
< auth_mechanisms = cram-md5 plain login apop digest-md5 gssapi --- > auth_mechanisms = plain login apop gssapi > auth_policy_check_after_auth = yes > auth_policy_check_before_auth = yes > auth_policy_hash_mech = sha256 > auth_policy_hash_nonce = > auth_policy_hash_truncate = 12 > auth_policy_log_only = no > auth_policy_reject_on_fail = no > auth_policy_report_after_auth = yes > auth_policy_request_attributes = login=%{requested_username} pwhash=%{hashed_password} remote=%{rip} device_id=%{client_id} protocol=%s session_id=%{session} > auth_policy_server_api_header = > auth_policy_server_timeout_msecs = 2000 > auth_policy_server_url = |
一行だった処が目一杯増えている。
auth_mechanismsはエラーが出た為dm5系は外した。(正しいのかは知らない)
auth_realmsとauth_socket_pathは環境の違いだから詮索不要とする。
旧版に無いものたちは基本放置する。(何を入れて良いかも判らない)
|
1 2 3 4 |
< auth_verbose = no --- > auth_stats = no > auth_verbose = yes |
auth_statsが追加されていた。
auth_verboseはテスト用なのでyes。
こいつは何処かのサイトを見て試してみようとした結果放置されていたらしい。早速コメントアウト。
|
1 2 3 |
> dict { > quota = mysql:/opt/local/etc/dovecot/dovecot-dict-sql.conf.ext > } |
|
1 2 3 |
< mail_plugins = quota zlib acl fts fts_sk --- > mail_plugins = quota zlib acl |
mail_pluginsはエラーになったものを外していった。(後日確認?)
|
1 2 3 |
< mailbox_list_index = no --- > mailbox_list_index = yes |
mailbox_list_indexも良く判らずにyesにしていた様だ。(defaultでした)
バッサリ切られているものもあった。managesieve関連がそう。
|
1 2 3 4 5 6 7 8 |
< managesieve_client_workarounds = < managesieve_implementation_string = Dovecot Pigeonhole < managesieve_logout_format = bytes=%i/%o < managesieve_max_compile_errors = 5 < managesieve_max_line_length = 65536 < managesieve_notify_capability = mailto < managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date ihave < master_user_separator = |
気になっているところは次。基本separatorは.(dot)らしい。が、其の儘いたらエラーが出た記憶が僅かに……戻した方が良いのだろうか?
|
1 2 3 4 5 6 |
< prefix = shared.%%u. < separator = . --- > order = 0 > prefix = shared/%%u/ > separator = / |
未だまだ一杯ある……暫く離れよう。dovecot判らないよ。


