Bonne et heureuse année 2009 a la liste. Que cette année soit aussi
meilleurs que feu 2008 ;)

Depuis ce matin, je me suis lancé dans l'installation de POSTFIX + POSTFIX
Admin + DOVECOT en virtual user avec le support de Mysql.

Entre postfix et Postfix Admin tout fonctionne parfaitement.

Un extrait de mon fichier main.cf:
virtual_alias_maps = proxy:mysql:/etc/postfix/sql/
mysql_virtual_alias_maps.cf
virtual_mailbox_domains = proxy:mysql:/etc/postfix/sql/
mysql_virtual_domains_maps.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/sql/
mysql_virtual_mailbox_maps.cf
virtual_mailbox_base = /home/vmail
virtual_gid_maps = static:106
virtual_uid_maps = static:102

Un extrait du fichier mysql_virtual_mailbox_maps.cf:
user = emailAdmin
password = password
hosts = mysql.domain.com
dbname = email
query           = SELECT CONCAT(domain,'/',maildir) FROM mailbox WHERE
username='%s' AND active = '1'

Par une simple requette je peux verifier que mon utilisateur virtuel existe
dans la base de données.
mysql> SELECT CONCAT(domain,'/',maildir) FROM mailbox WHERE username='
em...@domain.com' AND active = '1';
+------------------------------------+
| CONCAT(domain,'/',maildir)         |
+------------------------------------+
| domain.com/u...@domain.com/ |
+------------------------------------+

Et j'ai bien les email d'acheminé dans mon répertoire /home/vmail

Du coté de Dovecot tout se gatte par contre, j'ai configuré dovecot.conf de
la sorte de maniere a activer POP3 et IMAP:
protocols = imap pop3

info_log_path = /etc/dovecot/dovecot2.log

log_timestamp = "%Y-%m-%d %H:%M:%S "

auth default {
  mechanisms = digest-md5
  passdb sql {
   args = /etc/dovecot/dovecot-mysql.conf
  }
  userdb sql {
   args = /etc/dovecot/dovecot-mysql.conf
  }
}

Et le fichier
db_host = mysql.domain.com
db_port = 3306
db = email
db_user = emailAdmin
db_passwd = password
db_client_flags = 0
default_pass_scheme = MD5-CRYPT
password_query = SELECT password FROM mailbox WHERE username = '%u'
user_query = SELECT CONCAT(domain,'/',maildir) AS maildir, 102 AS uid, 106
AS gid FROM mailbox WHERE username = '%u'

Et de la même manière les deux requetes ci-dessus peuvent etre vérifiées
m'ont sorti de bon résultat donc la configuration est bonne. De plus les UID
et GID sont corrects:
# id postfix
uid=102(postfix) gid=106(postfix) groups=106(postfix)

Et pire encore lors que je vérifie la liste des ports ouverts le port IMAP
et POP ne le sont pas.
Comment faire pour obliger Dovecot a écouter sur ces ports? (en supposant
que ce soit le problème)

Répondre à