Failed installation on Ubuntu with Postfix/Dovecot/Squirrelmail

ghalvors78 at hushmail.com ghalvors78 at hushmail.com
Mon Dec 15 16:28:29 UTC 2014


Hello all,

I did an install following a HOWTO document that has a fair number of positive reviews, but something went wrong along the way:

https://www.digitalocean.com/community/tutorials/how-to-configure-a-mail-server-using-postfix-dovecot-mysql-and-spamassasin

I made a couple deviations.  I opted to not use StartSSL keys, and decided to stay with the default keys.  Also, I chose to use Squirrelmail, but not Spamassassin.

I tried to ensure that there are no issues with the Postfix installation (Dr. Venama and the team were quite helpful).  I also had two Postfix book at my side, but I have none for Dovecot.  While my goal is to get my server running, I would like to gain an understanding of Dovecot along the way, because sooner or later, it will break and I'll need to revisit the installation.

First hint of a problem was that Squirrelmail would say the IMAP server dropped the connection on a successful login.

So I went to a command line and used 'mail' to compose a test message from my laptop and see how the machine at Digital Ocean handled it.  It didn't go over so well, in fact, it's generating errors as I'm writing this (every 5 minutes).  For privacy, I swapped my domain name, for the generic example.com.

Dec 14 20:24:18 example postfix/qmgr[13624]: EF3C0C0A17: from=<gary at Garys-MacBook-Pro.local>, size=597, nrcpt=1 (queue active)
Dec 14 20:24:18 example dovecot: lmtp(21652): Connect from local
Dec 14 20:24:18 example dovecot: lmtp(21652, bob at example.com): Error: user bob at example.com: Initialization failed: namespace configuration error: inbox=yes namespace missing
Dec 14 20:24:18 example dovecot: lmtp(21652): Disconnect from local: Successful quit
Dec 14 20:24:18 example postfix/lmtp[21651]: EF3C0C0A17: to=<bob at example.com>, relay=mail.example.com[private/dovecot-lmtp], delay=168169, delays=168169/0.01/0.01/0.01, dsn=4.3.0, status=deferred (host mail.example.com[private/dovecot-lmtp] said: 451 4.3.0 <bob at example.com> Temporary internal error (in reply to end of DATA command))

Now when I was checking that Postfix wasn't the likely problem, one of them mentioned:

http://archives.neohapsis.com/archives/postfix/2014-12/0189.html  (Postfix-users archive)

that I needed:

namespace inbox { 
    inbox = yes 
} 

But I'm curious why that I'm the only one that seems to have been nailed by this omission.  A keyword search on 'namespace' only brought up a single comment.  What are your thoughts?  Below, I appended the configuration files that I modified.  I tried to compress them to a minimum space for the list by omitting the comments.

#
# /etc/dovecot/dovecot.conf
#
!include_try /usr/share/dovecot/protocols.d/*.protocol
protocols = imap lmtp pop3
dict {
}
!include conf.d/*.conf
!include_try local.conf
# eof

#
# /etc/dovecot/dovecot-sql.conf.ext
#
driver = mysql
connect = host=127.0.0.1 dbname=servermail user=usermail password=changed_it
default_pass_scheme = SHA512-CRYPT
password_query = SELECT email as user, password FROM virtual_users WHERE email='%u';
# eof

#
# /etc/dovecot/conf.d/10-auth.conf
#
!include auth-sql.conf.ext
# eof

#
# /etc/dovecot/conf.d/10-mail.conf
#
mail_location = maildir:/var/mail/vhosts/%d/%n
mail_privileged_group = mail
# eof

#
# /etc/dovecot/conf.d/10-master.conf
#
service imap-login {
   inet_listener imap {
      port = 143
   }
   inet_listener imaps {
   }
}

service pop3-login {
   inet_listener pop3 {
   }
   inet_listener pop3s {
   }
}

service lmtp {
   unix_listener /var/spool/postfix/private/dovecot-lmtp {
      mode = 0600
      user = postfix
      group = postfix
   }
}

service imap {
}

service pop3 {
}

service auth {
   unix_listener /var/spool/postfix/private/auth {
      mode = 0666
      user = postfix
      group = postfix
   }

   unix_listener auth-userdb {
      mode = 0600
      user = vmail
   }
   user = dovecot
}

service auth-worker {
   user = vmail
}

service dict {
   unix_listener dict {
   }
}
# eof

#
# /etc/dovecot/conf.d/10-ssl.conf
#
ssl=required
ssl_cert = </etc/dovecot/dovecot.pem
ssl_key = </etc/dovecot/private/dovecot.pem
# eof


Thanks for making it all the way down here!



More information about the dovecot mailing list