web-dev-qa-db-ja.com

アップグレード以降のDovecot.confの支援

私はこのサイトのガイドに従っています:

http://oskarhane.com/setup-your-own-mail-hosting-with-linux-postfix-dovecot-and-mysql/

Linuxサーバーにdovecotとmysqlを使用してpostfixをインストールするには。すべてが泳ぎに行きます。唯一の問題は、次のコード(ステップ8から取得)が古いバージョンのDovecotを参照していることです。できることを更新するのに十分なエラーメッセージをたどることができましたが、ソケットの宣言でエラーが発生し、困惑しています。提案されたコードは次のとおりです。

protocols = imap imaps pop3 pop3s
log_timestamp = "%Y-%m-%d %H:%M:%S "
mail_location = maildir:/home/vmail/%d/%n/Maildir

ssl_cert_file = /etc/ssl/certs/dovecot.pem
ssl_key_file = /etc/ssl/private/dovecot.pem

namespace private {
    separator = .
    prefix = INBOX.
    inbox = yes
}

protocol lda {
    log_path = /home/vmail/dovecot-deliver.log
    auth_socket_path = /var/run/dovecot/auth-master
    postmaster_address = [email protected]
    mail_plugins = sieve
    global_script_path = /home/vmail/globalsieverc
}

protocol pop3 {
    pop3_uidl_format = %08Xu%08Xv
}

auth default {
    user = root

    passdb sql {
        args = /etc/dovecot/dovecot-sql.conf
    }

    userdb static {
        args = uid=5000 gid=5000 home=/home/vmail/%d/%n allow_all_users=yes
    }

    socket listen {
        master {
            path = /var/run/dovecot/auth-master
            mode = 0600
            user = vmail
        }

        client {
            path = /var/spool/postfix/private/auth
            mode = 0660
            user = postfix
            group = postfix
        }
    }
}

私がこれを更新することに成功したのは:

protocols = imap pop3
log_timestamp = "%Y-%m-%d %H:%M:%S "
mail_location = maildir:/home/vmail/%d/%n/Maildir

ssl_cert = /path/to/cert
ssl_key = /path/to/cert

namespace {
    type = private
    separator = .  
    prefix = INBOX. 
    inbox = yes
}

protocol lda {
    log_path = /home/vmail/dovecot-deliver.log
    auth_socket_path = /var/run/dovecot/auth-master
    postmaster_address = [email protected]
    mail_plugins = sieve
    sieve = /home/vmail/globalsieverc
}

protocol pop3 {
    pop3_uidl_format = %08Xu%08Xv
}

service auth {
    user=root
}

passdb {
    driver=sql
    args=/etc/dovecot/dovecot-sql.conf
}

userdb {
    driver=static
    args = uid=5000 gid=5000 home=/home/vmail/%d/%n allow_all_users=yes
}

socket listen {
    master {
        path = /var/run/dovecot/auth-master
        mode = 0600
        user = vmail
    }

    client {
        path = /var/spool/postfix/private/auth
        mode = 0660
        user = postfix
        group = postfix
    }
}

最後に「ソケットリッスン」機能でエラーが発生します。 Dovecotのドキュメントを確認しましたが、何に置き換える必要があるのか​​理解できませんでした。

私が得ているエラーは次のとおりです。

doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:108: sieve has been moved into plugin {} section
doveconf: Fatal: Error in configuration file /etc/dovecot/dovecot.conf line 129: Unknown setting: socket

誰かがこれに光を当てることができますか?

2
tadywankenobi

私は実際にそれを解決したと思います。私はこのページをDovecotのドキュメントで見つけました(あまり強調されていません。認めなければなりません!ページ上部のタブを完全に見逃しました):

http://wiki2.dovecot.org/Upgrading/2.0?highlight=%28unix_listener%29

Webサイトに最初に記載されていた元のコードブロックに戻しました。

protocol lda {
    log_path = /home/vmail/dovecot-deliver.log
    auth_socket_path = /var/run/dovecot/auth-master
    postmaster_address = [email protected]
    mail_plugins = sieve
    global_script_path = /home/vmail/globalsieverc
}

Global_script_pathはさらに古い関数であるため、次のように変更する必要がありました。

protocol lda {
    log_path = /home/vmail/dovecot-deliver.log
    auth_socket_path = /var/run/dovecot/auth-master
    postmaster_address = [email protected]
    mail_plugins = sieve
} 

plugin {
    sieve_global_path = /home/vmail/globalsieverc
}

そして、変換を行います。それは機能し(いくつかのエラーがありましたが、修正を適用しているように見えました)、Dovecotの再起動は問題なく機能しました。

うまくいけば、それは今です!

2
tadywankenobi