Installation serveur · 4 min read · Nov 09, 2025

Le Serveur Parfait - CentOS 5.2 [ISPConfig 3] - Page 4

10 Installer Courier-IMAP, Courier-Authlib, Et Maildrop

Malheureusement, il n’y a pas de paquets rpm pour Courier-IMAP, Courier-Authlib, et Maildrop, donc nous devons les construire nous-mêmes.

Les paquets RPM ne doivent pas être construits en tant que root ; courier-imap refusera même de se compiler s’il détecte que la compilation est exécutée en tant qu’utilisateur root. Par conséquent, nous créons maintenant un compte utilisateur normal (compileuser dans cet exemple) et lui donnons un mot de passe :

useradd -m -s /bin/bash compileuser  
passwd compileuser

Nous aurons besoin de la commande sudo plus tard afin que l’utilisateur compileuser puisse compiler et installer les paquets rpm. Mais d’abord, nous devons permettre à compileuser d’exécuter toutes les commandes en utilisant sudo :

Exécutez

visudo

Dans le fichier qui s’ouvre, il y a une ligne root ALL=(ALL) ALL. Ajoutez une ligne similaire pour compileuser juste en dessous de cette ligne :

| [...] root ALL=(ALL) ALL compileuser ALL=(ALL) ALL [...] |

Maintenant, nous sommes prêts à construire notre paquet rpm. D’abord, devenons l’utilisateur compileuser :

su compileuser

Ensuite, nous créons notre environnement de construction :

mkdir $HOME/rpm  
mkdir $HOME/rpm/SOURCES  
mkdir $HOME/rpm/SPECS  
mkdir $HOME/rpm/BUILD  
mkdir $HOME/rpm/SRPMS  
mkdir $HOME/rpm/RPMS  
mkdir $HOME/rpm/RPMS/i386
echo "%_topdir $HOME/rpm" >> $HOME/.rpmmacros

Maintenant, nous téléchargeons les fichiers sources depuis http://www.courier-mta.org/download.php :

cd /tmp  
wget http://prdownloads.sourceforge.net/courier/courier-authlib-0.62.1.tar.bz2  
wget http://prdownloads.sourceforge.net/courier/courier-imap-4.4.1.tar.bz2  
wget http://prdownloads.sourceforge.net/courier/maildrop-2.0.4.tar.bz2

Maintenant (toujours dans /tmp), nous pouvons construire courier-authlib :

sudo rpmbuild -ta courier-authlib-0.62.1.tar.bz2

Après le processus de construction, les paquets rpm peuvent être trouvés dans $HOME/rpm/RPMS/i386 ( $HOME/rpm/RPMS/x86_64 si vous êtes sur un système x86_64) :

cd $HOME/rpm/RPMS/i386

La commande

ls -l

vous montre les paquets rpm disponibles :

[compileuser@server1 i386]$ ls -l
total 584
-rw-r–r– 1 root root 140978 Feb 26 03:00 courier-authlib-0.62.1-1.i386.rpm
-rw-r–r– 1 root root 309196 Feb 26 03:00 courier-authlib-debuginfo-0.62.1-1.i386.rpm
-rw-r–r– 1 root root  34672 Feb 26 03:00 courier-authlib-devel-0.62.1-1.i386.rpm
-rw-r–r– 1 root root  17855 Feb 26 03:00 courier-authlib-ldap-0.62.1-1.i386.rpm
-rw-r–r– 1 root root  14048 Feb 26 03:00 courier-authlib-mysql-0.62.1-1.i386.rpm
-rw-r–r– 1 root root  13214 Feb 26 03:00 courier-authlib-pgsql-0.62.1-1.i386.rpm
-rw-r–r– 1 root root   8175 Feb 26 03:00 courier-authlib-pipe-0.62.1-1.i386.rpm
-rw-r–r– 1 root root  35927 Feb 26 03:00 courier-authlib-userdb-0.62.1-1.i386.rpm
[compileuser@server1 i386]$

Sélectionnez ceux que vous souhaitez installer, et installez-les comme ceci :

sudo rpm -ivh courier-authlib-0.62.1-1.i386.rpm courier-authlib-mysql-0.62.1-1.i386.rpm courier-authlib-devel-0.62.1-1.i386.rpm 

Maintenant, nous retournons dans le répertoire /tmp et exécutons rpmbuild à nouveau, cette fois sans sudo, sinon la compilation échouera car elle a été exécutée en tant que root :

cd /tmp  
rpmbuild -ta courier-imap-4.4.1.tar.bz2

Après le processus de construction, les paquets rpm peuvent être trouvés dans $HOME/rpm/RPMS/i386 ( $HOME/rpm/RPMS/x86_64 si vous êtes sur un système x86_64) :

cd $HOME/rpm/RPMS/i386

La commande

ls -l

vous montre les paquets rpm disponibles :

[compileuser@server1 i386]$ ls -l
total 1868
-rw-r–r– 1 root        root        140978 Feb 26 03:00 courier-authlib-0.62.1-1.i386.rpm
-rw-r–r– 1 root        root        309196 Feb 26 03:00 courier-authlib-debuginfo-0.62.1-1.i386.rpm
-rw-r–r– 1 root        root         34672 Feb 26 03:00 courier-authlib-devel-0.62.1-1.i386.rpm
-rw-r–r– 1 root        root         17855 Feb 26 03:00 courier-authlib-ldap-0.62.1-1.i386.rpm
-rw-r–r– 1 root        root         14048 Feb 26 03:00 courier-authlib-mysql-0.62.1-1.i386.rpm
-rw-r–r– 1 root        root         13214 Feb 26 03:00 courier-authlib-pgsql-0.62.1-1.i386.rpm
-rw-r–r– 1 root        root          8175 Feb 26 03:00 courier-authlib-pipe-0.62.1-1.i386.rpm
-rw-r–r– 1 root        root         35927 Feb 26 03:00 courier-authlib-userdb-0.62.1-1.i386.rpm
-rw-rw-r– 1 compileuser compileuser 395137 Feb 26 03:13 courier-imap-4.4.1-1.i386.rpm
-rw-rw-r– 1 compileuser compileuser 906775 Feb 26 03:13 courier-imap-debuginfo-4.4.1-1.i386.rpm
[compileuser@server1 i386]$

Vous pouvez installer courier-imap comme ceci :

sudo rpm -ivh courier-imap-4.4.1-1.i386.rpm

Maintenant, nous retournons dans le répertoire /tmp et exécutons rpmbuild à nouveau, cette fois pour construire un paquet maildrop :

cd /tmp  
sudo rpmbuild -ta maildrop-2.0.4.tar.bz2

Après le processus de construction, les paquets rpm peuvent être trouvés dans $HOME/rpm/RPMS/i386 ( $HOME/rpm/RPMS/x86_64 si vous êtes sur un système x86_64) :

cd $HOME/rpm/RPMS/i386

La commande

ls -l

vous montre les paquets rpm disponibles :

[compileuser@server1 i386]$ ls -l
total 3096
-rw-r–r– 1 root        root        140978 Feb 26 03:00 courier-authlib-0.62.1-1.i386.rpm
-rw-r–r– 1 root        root        309196 Feb 26 03:00 courier-authlib-debuginfo-0.62.1-1.i386.rpm
-rw-r–r– 1 root        root         34672 Feb 26 03:00 courier-authlib-devel-0.62.1-1.i386.rpm
-rw-r–r– 1 root        root         17855 Feb 26 03:00 courier-authlib-ldap-0.62.1-1.i386.rpm
-rw-r–r– 1 root        root         14048 Feb 26 03:00 courier-authlib-mysql-0.62.1-1.i386.rpm
-rw-r–r– 1 root        root         13214 Feb 26 03:00 courier-authlib-pgsql-0.62.1-1.i386.rpm
-rw-r–r– 1 root        root          8175 Feb 26 03:00 courier-authlib-pipe-0.62.1-1.i386.rpm
-rw-r–r– 1 root        root         35927 Feb 26 03:00 courier-authlib-userdb-0.62.1-1.i386.rpm
-rw-rw-r– 1 compileuser compileuser 395137 Feb 26 03:13 courier-imap-4.4.1-1.i386.rpm
-rw-rw-r– 1 compileuser compileuser 906775 Feb 26 03:13 courier-imap-debuginfo-4.4.1-1.i386.rpm
-rw-r–r– 1 root        root        303104 Feb 26 03:25 maildrop-2.0.4-1.i386.rpm
-rw-r–r– 1 root        root        739326 Feb 26 03:25 maildrop-debuginfo-2.0.4-1.i386.rpm
-rw-r–r– 1 root        root        134387 Feb 26 03:25 maildrop-devel-2.0.4-1.i386.rpm
-rw-r–r– 1 root        root         58837 Feb 26 03:25 maildrop-man-2.0.4-1.i386.rpm
[compileuser@server1 i386]$

Vous pouvez maintenant installer maildrop comme ceci :

sudo rpm -ivh maildrop-2.0.4-1.i386.rpm

Après avoir compilé et installé tous les paquets nécessaires, vous pouvez redevenir root en tapant

exit

11 Appliquer le Patch de Quota à Postfix

Nous devons obtenir le rpm source de Postfix, le patcher avec le patch de quota, construire un nouveau paquet rpm Postfix et l’installer.

cd /usr/src  
wget http://ftp-stud.fht-esslingen.de/pub/Mirrors/centos/5.2/os/SRPMS/postfix-2.3.3-2.src.rpm  
rpm -ivh postfix-2.3.3-2.src.rpm

La dernière commande affichera quelques avertissements que vous pouvez ignorer :

warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root

cd /usr/src/redhat/SOURCES  
wget http://vda.sourceforge.net/VDA/postfix-2.3.3-vda.patch.gz  
gunzip postfix-2.3.3-vda.patch.gz  
cd /usr/src/redhat/SPECS/

Maintenant, nous devons éditer le fichier postfix.spec :

vi postfix.spec

Changez %define MYSQL 0 en %define MYSQL 1, ajoutez Patch0: postfix-2.3.3-vda.patch à la strophe # Patches, et enfin ajoutez %patch0 -p1 -b .vda à la strophe %setup -q :

| [...] %define MYSQL 1 [...] # Patches Patch0: postfix-2.3.3-vda.patch Patch1: postfix-2.1.1-config.patch Patch3: postfix-alternatives.patch Patch6: postfix-2.1.1-obsolete.patch Patch7: postfix-2.1.5-aliases.patch Patch8: postfix-large-fs.patch Patch9: postfix-2.2.5-cyrus.patch [...] %setup -q # Appliquer les patches obligatoires %patch0 -p1 -b .vda %patch1 -p1 -b .config %patch3 -p1 -b .alternatives %patch6 -p1 -b .obsolete %patch7 -p1 -b .aliases %patch8 -p1 -b .large-fs %patch9 -p1 -b .cyrus [...] |

Ensuite, nous construisons notre nouveau paquet rpm Postfix avec support de quota et MySQL :

rpmbuild -ba postfix.spec

Notre paquet rpm Postfix est créé dans /usr/src/redhat/RPMS/i386 ( /usr/src/redhat/RPMS/x86_64 si vous êtes sur un système x86_64), donc nous y allons :

cd /usr/src/redhat/RPMS/i386

La commande

ls -l

vous montre les paquets disponibles :

[root@server1 i386]# ls -l
total 11292
-rw-r–r– 1 root root 3820393 Feb 27 18:16 postfix-2.3.3-2.i386.rpm
-rw-r–r– 1 root root 7666204 Feb 27 18:16 postfix-debuginfo-2.3.3-2.i386.rpm
-rw-r–r– 1 root root   50539 Feb 27 18:16 postfix-pflogsumm-2.3.3-2.i386.rpm
[root@server1 i386]#

Choisissez le paquet Postfix et installez-le comme ceci :

rpm -ivh postfix-2.3.3-2.i386.rpm

Ensuite, désactivez Sendmail et démarrez Postfix, saslauthd, et courier-authlib :

chkconfig --levels 235 courier-authlib on  
/etc/init.d/courier-authlib start

chkconfig --levels 235 sendmail off  
chkconfig --levels 235 postfix on  
chkconfig --levels 235 saslauthd on  
/etc/init.d/sendmail stop  
/etc/init.d/postfix start  
/etc/init.d/saslauthd start

12 Configurer Courier

Maintenant, nous créons les liens de démarrage système pour courier-imap :

chkconfig --levels 235 courier-imap on  
/etc/init.d/courier-authlib restart  
/etc/init.d/courier-imap restart

Lorsque courier-imap est démarré pour la première fois, il crée automatiquement les fichiers de certificat /usr/lib/courier-imap/share/imapd.pem et /usr/lib/courier-imap/share/pop3d.pem à partir des fichiers /usr/lib/courier-imap/etc/imapd.cnf et /usr/lib/courier-imap/etc/pop3d.cnf. Comme les fichiers .cnf contiennent la ligne CN=localhost, mais que notre serveur est nommé server1.example.com, les certificats pourraient causer des problèmes lorsque vous utilisez des connexions TLS. Pour résoudre cela, nous supprimons les deux certificats…

cd /usr/lib/courier-imap/share/  
rm -f imapd.pem  
rm -f pop3d.pem

… et remplaçons les lignes CN=localhost dans /usr/lib/courier-imap/etc/imapd.cnf et /usr/lib/courier-imap/etc/pop3d.cnf par CN=server1.example.com :

vi /usr/lib/courier-imap/etc/imapd.cnf

| [...] CN=server1.example.com [...] |

vi /usr/lib/courier-imap/etc/pop3d.cnf

| [...] CN=server1.example.com [...] |

Ensuite, nous recréons les deux certificats…

./mkimapdcert  
./mkpop3dcert

… et redémarrons courier-authlib et courier-imap :

/etc/init.d/courier-authlib restart  
/etc/init.d/courier-imap restart

13 Installer Getmail

Getmail peut être installé comme suit :

yum install getmail
Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.