Serveur Parfait · 7 min read · Nov 09, 2025
Le Serveur Parfait - CentOS 6.0 x86_64 [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, nous devons donc les construire nous-mêmes.
Tout d’abord, supprimez Dovecot (CentOS 6.0 est livré avec Dovecot 2.x ; malheureusement, ISPConfig 3 prend en charge Dovecot 1.2.x, mais pas 2.x) :
yum remove dovecot dovecot-mysqlEnsuite, installez les prérequis dont nous avons besoin pour construire les paquets rpm de Courier :
yum install rpm-build gcc mysql-devel openssl-devel cyrus-sasl-devel pkgconfig zlib-devel pcre-devel openldap-devel postgresql-devel expect libtool-ltdl-devel openldap-servers libtool gdbm-devel pam-devel gamin-devel libidn-devel 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. Nous créons donc un compte utilisateur normal maintenant (falko dans cet exemple) et lui donnons un mot de passe :
useradd -m -s /bin/bash falko
passwd falko
Nous aurons besoin de la commande sudo plus tard afin que l’utilisateur falko puisse compiler et installer les paquets rpm. Mais d’abord, nous devons permettre à falko d’exécuter toutes les commandes en utilisant sudo :
Exécutez
visudoDans le fichier qui s’ouvre, il y a une ligne root ALL=(ALL) ALL. Ajoutez une ligne similaire pour falko juste en dessous de cette ligne :
| [...] ## Autoriser root à exécuter toutes les commandes partout root ALL=(ALL) ALL falko ALL=(ALL) ALL [...] |
Maintenant, nous sommes prêts à construire notre paquet rpm. Devenez d’abord l’utilisateur falko :
su falkoEnsuite, 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/BUILDROOT
mkdir $HOME/rpm/SRPMS
mkdir $HOME/rpm/RPMS
mkdir $HOME/rpm/RPMS/i386
mkdir $HOME/rpm/RPMS/x86_64
echo "%_topdir $HOME/rpm" >> $HOME/.rpmmacrosMaintenant, nous créons un répertoire de téléchargements et téléchargeons les fichiers sources depuis http://www.courier-mta.org/download.php :
mkdir $HOME/downloads
cd $HOME/downloads
wget https://sourceforge.net/projects/courier/files/authlib/0.63.0/courier-authlib-0.63.0.tar.bz2/download
wget https://sourceforge.net/projects/courier/files/imap/4.9.3/courier-imap-4.9.3.tar.bz2/download
wget https://sourceforge.net/projects/courier/files/maildrop/2.5.4/maildrop-2.5.4.tar.bz2/download
Maintenant (toujours dans $HOME/downloads), nous pouvons construire courier-authlib :
sudo rpmbuild -ta courier-authlib-0.63.0.tar.bz2Après le processus de construction, les paquets rpm peuvent être trouvés dans /root/rpmbuild/RPMS/x86_64 (/root/rpmbuild/RPMS/i686 si vous êtes sur un système i686). La commande
sudo ls -l /root/rpmbuild/RPMS/x86_64vous montre les paquets rpm disponibles :
[falko@server1 downloads]$ sudo ls -l /root/rpmbuild/RPMS/x86_64
total 516
-rw-r–r– 1 root root 124296 Jul 11 17:27 courier-authlib-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 259620 Jul 11 17:27 courier-authlib-debuginfo-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 35044 Jul 11 17:27 courier-authlib-devel-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 17416 Jul 11 17:27 courier-authlib-ldap-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 13944 Jul 11 17:27 courier-authlib-mysql-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 13112 Jul 11 17:27 courier-authlib-pgsql-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 8316 Jul 11 17:27 courier-authlib-pipe-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 34168 Jul 11 17:27 courier-authlib-userdb-0.63.0-1.el6.x86_64.rpm
[falko@server1 downloads]$
Sélectionnez ceux que vous souhaitez installer et installez-les comme ceci :
sudo rpm -ivh /root/rpmbuild/RPMS/x86_64/courier-authlib-0.63.0-1.el6.x86_64.rpm /root/rpmbuild/RPMS/x86_64/courier-authlib-mysql-0.63.0-1.el6.x86_64.rpm /root/rpmbuild/RPMS/x86_64/courier-authlib-devel-0.63.0-1.el6.x86_64.rpmMaintenant, nous retournons à notre répertoire de téléchargements :
cd $HOME/downloadsExécutez les commandes suivantes pour créer les répertoires requis/changer les permissions des répertoires (sinon, le processus de construction pour Courier-Imap échouera) :
sudo mkdir -p /var/cache/ccache/tmp
sudo chmod o+rwx /var/cache/ccache/
sudo chmod 777 /var/cache/ccache/tmp
Maintenant, exécutez rpmbuild à nouveau, cette fois sans sudo, sinon la compilation échouera car elle a été exécutée en tant que root :
rpmbuild -ta courier-imap-4.9.3.tar.bz2Après le processus de construction, les paquets rpm peuvent être trouvés dans $HOME/rpm/RPMS/x86_64 ($HOME/rpm/RPMS/i686 si vous êtes sur un système i686) :
cd $HOME/rpm/RPMS/x86_64La commande
ls -lvous montre les paquets rpm disponibles :
[falko@server1 x86_64]$ ls -l
total 1088
-rw-r–r– 1 falko falko 333540 Jul 11 17:38 courier-imap-4.9.3-1.x86_64.rpm
-rw-r–r– 1 falko falko 776112 Jul 11 17:38 courier-imap-debuginfo-4.9.3-1.x86_64.rpm
[falko@server1 x86_64]$
Vous pouvez installer courier-imap comme ceci :
sudo rpm -ivh courier-imap-4.9.3-1.x86_64.rpmMaintenant, nous retournons à notre répertoire de téléchargements :
cd $HOME/downloadset exécutons rpmbuild à nouveau, cette fois pour construire un paquet maildrop :
sudo rpmbuild -ta maildrop-2.5.4.tar.bz2Après le processus de construction, les paquets rpm peuvent être trouvés dans /root/rpmbuild/RPMS/x86_64 (/root/rpmbuild/RPMS/i686 si vous êtes sur un système i686). La commande
sudo ls -l /root/rpmbuild/RPMS/x86_64vous montre les paquets rpm disponibles :
[falko@server1 downloads]$ sudo ls -l /root/rpmbuild/RPMS/x86_64
total 1660
-rw-r–r– 1 root root 124296 Jul 11 17:27 courier-authlib-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 259620 Jul 11 17:27 courier-authlib-debuginfo-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 35044 Jul 11 17:27 courier-authlib-devel-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 17416 Jul 11 17:27 courier-authlib-ldap-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 13944 Jul 11 17:27 courier-authlib-mysql-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 13112 Jul 11 17:27 courier-authlib-pgsql-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 8316 Jul 11 17:27 courier-authlib-pipe-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 34168 Jul 11 17:27 courier-authlib-userdb-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 281328 Jul 11 17:47 maildrop-2.5.4-1.x86_64.rpm
-rw-r–r– 1 root root 717476 Jul 11 17:47 maildrop-debuginfo-2.5.4-1.x86_64.rpm
-rw-r–r– 1 root root 101156 Jul 11 17:47 maildrop-devel-2.5.4-1.x86_64.rpm
-rw-r–r– 1 root root 63744 Jul 11 17:47 maildrop-man-2.5.4-1.x86_64.rpm
[falko@server1 downloads]$
Vous pouvez maintenant installer maildrop comme ceci :
sudo rpm -ivh /root/rpmbuild/RPMS/x86_64/maildrop-2.5.4-1.x86_64.rpmAprès avoir compilé et installé tous les paquets nécessaires, vous pouvez redevenir root en tapant
exitMaintenant, démarrez Courier-IMAP/-POP3 comme suit :
/etc/init.d/courier-imap start 11 Installer Postfix
Postfix peut être installé comme suit :
yum install postfixEnsuite, désactivez Sendmail et démarrez Postfix et MySQL :
chkconfig –levels 235 mysqld on
/etc/init.d/mysqld start
chkconfig –levels 235 sendmail off
chkconfig –levels 235 postfix on
/etc/init.d/sendmail stop
/etc/init.d/postfix start
12 Installer Getmail
Il n’y a pas de paquet rpm pour getmail, nous devons donc l’installer à partir des sources. Cela peut être fait comme suit :
cd /tmp
wget http://pyropus.ca/software/getmail/old-versions/getmail-4.20.3.tar.gz
tar xvfz getmail-4.20.3.tar.gz
cd getmail-4.20.3
python setup.py build
python setup.py install
13 Définir les Mots de Passe MySQL Et Configurer phpMyAdmin
Définissez des mots de passe pour le compte root MySQL :
mysql_secure_installation[root@server1 tmp]# mysql_secure_installation
NOTE : L’EXÉCUTION DE TOUTES LES PARTIES DE CE SCRIPT EST RECOMMANDÉE POUR TOUS LES SERVEURS MySQL EN UTILISATION EN PRODUCTION ! VEUILLEZ LIRE CHAQUE ÉTAPE ATTENTIVEMENT !
Pour se connecter à MySQL pour le sécuriser, nous aurons besoin du mot de passe actuel pour l’utilisateur root. Si vous venez d’installer MySQL, et que vous n’avez pas encore défini le mot de passe root, le mot de passe sera vide, donc vous devriez simplement appuyer sur entrer ici.
Entrez le mot de passe actuel pour root (appuyez sur entrer pour aucun) :
OK, mot de passe utilisé avec succès, passage à l’étape suivante…
Définir le mot de passe root garantit que personne ne peut se connecter à l’utilisateur root MySQL sans la bonne autorisation.
Définir le mot de passe root ? [Y/n] <– ENTRER
Nouveau mot de passe : <– votremotdepasseMySQLroot
Ressaisissez le nouveau mot de passe : <– votremotdepasseMySQLroot
Mot de passe mis à jour avec succès !
Rechargement des tables de privilèges..
… Succès !
Par défaut, une installation MySQL a un utilisateur anonyme, permettant à quiconque de se connecter à MySQL sans avoir à avoir un compte utilisateur créé pour eux. Cela est destiné uniquement à des fins de test, et pour rendre l’installation un peu plus fluide. Vous devriez les supprimer avant de passer à un environnement de production.
Supprimer les utilisateurs anonymes ? [Y/n] <– ENTRER
… Succès !
Normalement, root ne devrait être autorisé à se connecter que depuis ‘localhost’. Cela garantit que quelqu’un ne peut pas deviner le mot de passe root depuis le réseau.
Interdire la connexion root à distance ? [Y/n] <– ENTRER
… Succès !
Par défaut, MySQL est livré avec une base de données nommée ‘test’ à laquelle quiconque peut accéder. Cela est également destiné uniquement à des fins de test, et devrait être supprimé avant de passer à un environnement de production.
Supprimer la base de données de test et l’accès à celle-ci ? [Y/n] <– ENTRER
- Suppression de la base de données de test…
… Succès ! - Suppression des privilèges sur la base de données de test…
… Succès !
Le rechargement des tables de privilèges garantira que tous les changements effectués jusqu’à présent prendront effet immédiatement.
Recharger les tables de privilèges maintenant ? [Y/n] <– ENTRER
… Succès !
Nettoyage…
Tout est fait ! Si vous avez complété toutes les étapes ci-dessus, votre installation MySQL devrait maintenant être sécurisée.
Merci d’utiliser MySQL !
[root@server1 tmp]#
Maintenant, nous configurons phpMyAdmin. Nous changeons la configuration d’Apache afin que phpMyAdmin autorise les connexions non seulement depuis localhost (en commentant la section
vi /etc/httpd/conf.d/phpmyadmin.conf| # # Application Web pour gérer MySQL # # |
Ensuite, nous changeons l’authentification dans phpMyAdmin de cookie à http :
vi /usr/share/phpmyadmin/config.inc.php| [...] /* Type d'authentification */ $cfg['Servers'][$i]['auth_type'] = 'http'; [...] |
Ensuite, nous créons les liens de démarrage système pour Apache et le démarrons :
chkconfig –levels 235 httpd on
/etc/init.d/httpd start
Maintenant, vous pouvez diriger votre navigateur vers http://server1.example.com/phpmyadmin/ ou http://192.168.0.100/phpmyadmin/ et vous connecter avec le nom d’utilisateur root et votre nouveau mot de passe root MySQL.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.