Installation d'un serveur de mail Zimbra 7.0 sous ubuntu server 10.04 LTS
Prérequis
Pour commencer, installer les paquets nécessaire à zimbra ainsi que le paquet file :
aptitude install sysstat sqlite3 libperl5.10 libidn11 libpcre3 libexpat1 file
Installation
Téléchargez la dernière version de zimbra 7 pour ubuntu 10.04 LTS sur http://www.zimbra.com/downloads/os-downloads.html
Extrayez l'archive et lancez l'installeur :
tar -xf zcs-7.0.0_GA_3077.UBUNTU10_64.20110127202143.tgz cd zcs-7.0.0_GA_3077.UBUNTU10_64.20110127202143 ./install.sh
L'installation est assez triviale.
Lors de la configuration, pensez à définir le mode http en redirect
. Ainsi, zimbra forcera l'utilisation de https. Une fois l'installation terminée, Zimbra sera lancé automatiquement. Les différents fichiers ont été installés dans /opt/zimbra
.
Ajoutez l'utilisateur zimbra
à la liste des utilisateurs autorisés a se connecter en ssh dans la configuration de openssh (directive allowusers
) (c'est nécessaire pour certaines fonctions de l'interface d'administration de zimbra).
Redémarrez ssh et zimbra :
/etc/init.d/ssh restart
Création de son propre certificat ssl signé par son autorité de certification
Nous allons supposer que vous avez déjà créé votre autorité de certification root ainsi qu'une autorité intermédiaire (nommée onyx
dans mon cas). Si ce n'est pas le cas, je vous renvoi ici.
Ajouter les lignes suivante dans la configuration de openssl :
[ZIMBRA] nsComment = "ONYX Zimbra Server" subjectKeyIdentifier = hash authorityKeyIdentifier = keyid,issuer:always issuerAltName = issuer:copy subjectAltName = DNS:onyx.csnu.org, DNS:imap.csnu.org, DNS: pop.csnu.org, DNS: smtp.csnu.org, DNS:webmail.csnu.org, DNS:mail.csnu.org basicConstraints = critical,CA:FALSE keyUsage = digitalSignature, nonRepudiation, keyEncipherment nsCertType = server extendedKeyUsage = serverAuth
Puis créez le certificat et signés le avec votre autorité intermédiaire :
cd /etc/ssl/ca_onyx/ openssl req -config /etc/ssl/openssl.cnf -nodes -newkey rsa:2048 -keyout zimbra.key -out zimbra.req openssl ca -config /etc/ssl/openssl.cnf -name onyx_ca -extensions ZIMBRA -in zimbra.req -out zimbra.pem
Les fichiers nécessaires au déploiement du certificat ssl dans zimbra sont les suivants :
root_ca.pem
: le certificat rootonyx_ca.pem
: le certificat de l'autorité intermédiaire ayant déployé le certificat zimbrazimbra.pem
: le certificat zimbra généré précédemmentzimbra.key
: la clé privé zimbra générée précédemment
Attention, veillez a ce que ces différents fichiers ne contiennent rien d'autre que les certificats et clés pures (entre le begin
et le end
inclut) sans aucun commentaire ou autre !
Pour un certificat :
-----BEGIN CERTIFICATE----- blahblah -----END CERTIFICATE-----
Pour une clé :
-----BEGIN RSA PRIVATE KEY----- blahlah -----END RSA PRIVATE KEY-----
Nous allons maintenant déployer le certificat ssl dans zimbra.
Pour commencer, créez le fichier ca_chain.pem
contenant la chaine de certification complète :
cat root_ca.pem onyx_ca.pem > ca_chain.pem
Déplacez la clé privée :
mv zimbra.key /opt/zimbra/ssl/zimbra/commercial/commercial.key
Vous pouvez vérifier que vos certificats sont valides avec zmcertmgr
:
/opt/zimbra/bin/zmcertmgr verifycrt comm /opt/zimbra/ssl/zimbra/commercial/commercial.key zimbra.pem ca_chain.pem
Puis déployez le certificat dans zimbra avec zmcertmgr
:
/opt/zimbra/bin/zmcertmgr deploycrt comm zimbra.pem ca_chain.pem
Enfin, ajoutez manuellement les certificats dans la base de donnée de zimbra (et oui, le password est bien changeit
par défaut) :
/opt/zimbra/java/bin/keytool -import -alias onyxzimbra -keystore /opt/zimbra/java/jre/lib/security/cacerts -storepass changeit -file /opt/zimbra/conf/ca/commercial_ca.pem /opt/zimbra/java/bin/keytool -import -alias rootca -keystore /opt/zimbra/java/jre/lib/security/cacerts -storepass changeit -file root_ca.pem /opt/zimbra/java/bin/keytool -import -alias onyxca -keystore /opt/zimbra/java/jre/lib/security/cacerts -storepass changeit -file onyx_ca.pem
Redémarrez zimbra :
/etc/init.d/zimbra restart