我正在构建一个托管多个网站的Web服务器。除了邮件服务器,我得到了一切。我正在使用linode来托管我的vps而且我一直在关注他们的教程。仅供参考,我使用的是Ubuntu 11.10。
以下是我一直关注的链接http://library.linode.com/email/postfix/dovecot-mysql-ubuntu-10.04-lucid。我到达了它告诉我重新启动dovecot的部分,所以我尝试了“service dovecot restart”。但后来我得到了这个“重启:未知实例:”。我以root身份登录,所以我没有使用sudo。
由于那不起作用,我尝试了“/etc/init.d/dovecot restart”,我得到“dovecot开始/运行,过程4760”。所以我尝试“/etc/init.d/dovecot status”,我得到“dovecot停止/等待”。
所以我尝试了“服务dovecot开始”,我得到“dovecot开始/运行,过程4781”。所以我试图获得状态,所以我厌倦了“服务dovecot状态”并得到“dovecot停止/等待”
然后我累了“/etc/init.d/dovecot start”,我得到“dovecot开始/运行,进程4794”。所以我厌倦了获得状态,所以我累了“/etc/init.d/dovecot status”并得到了“dovecot停止/等待”
只是因为踢腿和咯咯笑我厌倦了杀死这个过程,我使用了当我做“服务dovecot start”时得到的PID,这是命令“kill -9 4444”,我得到这个“bash:kill: (4805) - 没有这样的过程“
我做错了吗?
- 编辑1 -
以下是在/ var / log / syslog中找到的涉及dovecot
的日志dovecot: master: Dovecot v2.0.13 starting up (core dumps disabled)
dovecot: ssl-params: Generating SSL parameters
dovecot: ssl-params: SSL parameters regeneration completed
dovecot: master: Warning: Killed with signal 15 (by pid=1 uid=0 code=kill)
dovecot: config: Warning: Killed with signal 15 (by pid=1 uid=0 code=kill)
dovecot: anvil: Warning: Killed with signal 15 (by pid=1 uid=0 code=kill)
dovecot: log: Warning: Killed with signal 15 (by pid=1 uid=0 code=kill)
kernel: init: dovecot main process (10276) terminated with status 89
kernel: init: dovecot main process (10289) terminated with status 89
kernel: init: dovecot main process (10452) terminated with status 89
kernel: init: dovecot main process (2275) terminated with status 89
kernel: init: dovecot main process (3028) terminated with status 89
kernel: init: dovecot main process (3216) terminated with status 89
kernel: init: dovecot main process (3230) terminated with status 89
kernel: init: dovecot main process (3254) terminated with status 89
kernel: init: dovecot main process (3813) terminated with status 89
kernel: init: dovecot main process (3845) terminated with status 89
kernel: init: dovecot main process (4664) terminated with status 89
kernel: init: dovecot main process (4760) terminated with status 89
kernel: init: dovecot main process (4781) terminated with status 89
kernel: init: dovecot main process (4794) terminated with status 89
kernel: init: dovecot main process (4805) terminated with status 89
- 编辑2(/etc/dovecot/dovecot.conf) -
以下是dovecot.conf文件
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 = postmaster@[mydomainname.com]
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
}
}
}
- 编辑3(/var/log/mail.log) -
以下是/var/log/mail.log
中的内容dovecot: master: Dovecot v2.0.13 starting up (core dumps disabled)
dovecot: ssl-params: Generating SSL parameters
postfix/master[9917]: daemon started -- version 2.8.5, configuration /etc/postfix
dovecot: ssl-params: SSL parameters regeneration completed
postfix/master[9917]: terminating on signal 15
postfix/master[10196]: daemon started -- version 2.8.5, configuration /etc/postfix
dovecot: master: Warning: Killed with signal 15 (by pid=1 uid=0 code=kill)
dovecot: config: Warning: Killed with signal 15 (by pid=1 uid=0 code=kill)
dovecot: anvil: Warning: Killed with signal 15 (by pid=1 uid=0 code=kill)
dovecot: log: Warning: Killed with signal 15 (by pid=1 uid=0 code=kill)
postfix/master[2435]: daemon started -- version 2.8.5, configuration /etc/postfix
postfix/master[2435]: terminating on signal 15
postfix/master[2965]: daemon started -- version 2.8.5, configuration /etc/postfix
答案 0 :(得分:19)
作为一般提示,请尝试直接在前台运行dovecot:
dovecot -F
原因是前台经常会将加载错误消息直接输出到控制台,这通常会让您快速找到通常不会记录的错误(例如配置解析错误)。
答案 1 :(得分:3)
这意味着它启动,尝试解析配置并失败。在/ var / log中查找累积dovecot日志记录的日志,以确定问题所在。它的日志取决于您正在使用的Linux发行版。
- 编辑 -
状态89表示配置中存在与解析器相关的错误。请先查看是否已终止所有{}花花环腕。这将是我的第一次预感。
答案 2 :(得分:0)
本教程于2010年5月9日开始
看看dovecots changelog,你看......
v1.2.6 2009-10-05
该日期之前的最后一个鸽舍版本
v2.0.rc1 2010-07-02
该日期之后的下一个鸽舍版本
因此教程可能会使用1.x配置,而现在我们将使用dovecot 2.x。
现在我发现了http://wiki2.dovecot.org/Upgrading/2.0 在其他一些信息旁边,它提供了一种将配置从1.2转换为2.0的方法。
以下是有关升级http://wiki2.dovecot.org/Upgrading
的更多信息虽然我还没有解决方案
编辑:(解决方案)
首先,您还需要安装:
apt-get install dovecot-sieve
apt-get install dovecot-managesieved
apt-get install dovecot-mysql
如果您愿意,请阅读有关升级旧1.x配置的提示 http://wiki2.dovecot.org/Upgrading
我的dovecot.conf:
log_timestamp = "%Y-%m-%d %H:%M:%S "
mail_location = maildir:/home/vmail/%d/%n/Maildir
namespace {
inbox = yes
location =
prefix = INBOX.
separator = .
type = private
}
passdb {
args = /etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
protocols = imap pop3
service auth {
unix_listener /var/spool/postfix/private/auth {
group = postfix
mode = 0660
user = postfix
}
unix_listener auth-master {
mode = 0600
user = vmail
}
user = root
}
ssl_cert = </etc/ssl/certs/dovecot.pem
ssl_key = </etc/ssl/private/dovecot.pem
#userdb {
# args = uid=5000 gid=5000 home=/home/vmail/%d/%n allow_all_users=yes
# driver = static
#}
userdb {
args = /etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
protocol lda {
auth_socket_path = /var/run/dovecot/auth-master
log_path = /home/vmail/dovecot-deliver.log
mail_plugins = sieve
postmaster_address = postmaster@example.com
plugin {
sieve_global_path = /var/vmail/globalsieverc
# The include extension fetches the :personal scripts from this
# directory. When ManageSieve is used, this is also where scripts
# are uploaded.
sieve_dir = ~/sieve
# The location of the user's active script:
sieve = ~/.dovecot.sieve
# Directory for :global include scripts (for v1.1 include extension)
sieve_global_dir = /var/vmail/sieve
sieve_maxscriptsize = 128
}
}
protocol pop3 {
pop3_uidl_format = %08Xu%08Xv
}
我的dovecot-db.conf.ext
driver = mysql
connect = host=127.0.0.1 dbname=mail user=mail_admin password=your_password
default_pass_scheme = PLAIN-MD5
#password_query = SELECT email as user, password FROM users WHERE email='%u';
#user_query = SELECT email as user, password, 5000 as uid, 5000 as gid, '/var/vmail/%d/%n' as home FROM view_users WHERE email='%u';
password_query = SELECT email AS user, password, 5000 AS userdb_uid, 5000 AS userdb_gid, '/var/vmail/%d/%n' AS userdb_home FROM users WHERE email = '%u';
user_query = SELECT email AS user, password, 5000 AS uid, 5000 AS gid, '/var/vmail/%d/%n' AS home FROM users WHERE email = '%u';
同时编辑您的/etc/postfix/master.cf
,使其包含smtps(在465上使用SSL / TLS进行smtp)。我必须激活它才能从家里到达smtp,因为端口25被我的isp阻塞了(这很常见)。我也更喜欢带传输层安全性的smtp。
smtps inet n - - - - smtpd
并运行service postfix restart
<强>来源:强>
我通过谷歌搜索收集了所有这些信息,不知道我到处都是,但最后一个问题
2013-01-03 16:43:27 lda: Error: userdb lookup(info@example.com): Disconnected unexpectedly
2013-01-03 16:43:27 lda: Fatal: Internal error occurred. Refer to server log for more information.
我解决了一些http://workaround.org/ispmail/lenny/configure-dovecot的问题 基本上,我发现当你谷歌获得你在这里得到的任何错误输出时,你会得到很好的结果:
/home/vmail/dovecot-deliver.log
/var/log/mail.log
/var/log/mail.err
/var/log/syslog
答案 3 :(得分:0)
如果syslog中没有相关消息,并且dovecot在Upstart下运行,则可能会在/var/log/upstart/dovecot.log
中找到配置错误。
答案 4 :(得分:-2)
尝试删除dovecot-postfix包和/etc/dovecot/conf.d/99-*.conf文件 这对我有帮助