Serveur · 9 min read · Jan 07, 2026
Le Serveur Parfait - CentOS 7 x86_64 (nginx, Dovecot, ISPConfig 3) - Page 2
15 Installer phpMyAdmin
Ensuite, nous installons phpMyAdmin :
yum -y install phpmyadmin
Ensuite, nous changeons l’authentification dans phpMyAdmin de cookie à http :
nano /etc/phpMyAdmin/config.inc.php
[...]
/* Type d'authentification */
$cfg['Servers'][$i]['auth_type'] = 'http';
[...]Vous pouvez maintenant trouver phpMyAdmin dans le répertoire /usr/share/phpMyAdmin/.
Après avoir installé ISPConfig 3, vous pouvez accéder à phpMyAdmin comme suit :
L’application vhost ISPConfig sur le port 8081 pour nginx est livrée avec une configuration phpMyAdmin, vous pouvez donc utiliser http://server1.example.com:8081/phpmyadmin ou http://server1.example.com:8081/phpMyAdmin pour accéder à phpMyAdmin.
Si vous souhaitez utiliser un alias /phpmyadmin ou /phpMyAdmin que vous pouvez utiliser depuis vos sites web, c’est un peu plus compliqué que pour Apache car nginx n’a pas d’alias globaux (c’est-à-dire des alias qui peuvent être définis pour tous les vhosts). Par conséquent, vous devez définir ces alias pour chaque vhost à partir duquel vous souhaitez accéder à phpMyAdmin.
Pour ce faire, collez ce qui suit dans le champ Directives nginx de l’onglet Options du site web dans ISPConfig :
location /phpmyadmin {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/phpmyadmin/(.+\.php)$ {
try_files $uri =404;
root /usr/share/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $request_filename;
include /etc/nginx/fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_buffer_size 128k;
fastcgi_buffers 256 4k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
}
location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}
location /phpMyAdmin {
rewrite ^/* /phpmyadmin last;
}Si vous utilisez http s au lieu de http pour votre vhost, vous devez ajouter la ligne fastcgi_param HTTPS on; à votre configuration phpMyAdmin comme ceci :
location /phpmyadmin {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/phpmyadmin/(.+\.php)$ {
try_files $uri =404;
root /usr/share/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param HTTPS on; # <-- ajoutez cette ligne
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $request_filename;
include /etc/nginx/fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_buffer_size 128k;
fastcgi_buffers 256 4k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
}
location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}
location /phpMyAdmin {
rewrite ^/* /phpmyadmin last;
}Si vous utilisez à la fois http et https pour votre vhost, vous pouvez utiliser la variable $https - retournez dans le champ Directives nginx, et au lieu de fastcgi_param HTTPS on; vous ajoutez la ligne fastcgi_param HTTPS $https; afin que vous puissiez utiliser phpMyAdmin pour les requêtes http et https :
location /phpmyadmin {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/phpmyadmin/(.+\.php)$ {
try_files $uri =404;
root /usr/share/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param HTTPS $https; # <-- ajoutez cette ligne
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $request_filename;
include /etc/nginx/fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_buffer_size 128k;
fastcgi_buffers 256 4k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
}
location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}
location /phpMyAdmin {
rewrite ^/* /phpmyadmin last;
}16 Installer Mailman
Depuis la version 3.0.4, ISPConfig permet également de gérer (créer/modifier/supprimer) des listes de diffusion Mailman. Si vous souhaitez utiliser cette fonctionnalité, installez Mailman comme suit :
yum -y install mailman
Avant de pouvoir démarrer Mailman, une première liste de diffusion appelée mailman doit être créée :
touch /var/lib/mailman/data/aliases
touch /etc/mailman/aliases
/usr/lib/mailman/bin/newlist mailman
[root@server1 tmp]# /usr/lib/mailman/bin/newlist mailman
Entrez l’email de la personne gérant la liste : <– adresse email de l’admin, par exemple [email protected]
Mot de passe initial de mailman : <– mot de passe admin pour la liste mailman
Pour terminer la création de votre liste de diffusion, vous devez éditer votre fichier /etc/aliases (ou équivalent) en ajoutant les lignes suivantes, et éventuellement en exécutant le programme newaliases :
liste de diffusion mailman
mailman: “|/usr/lib/mailman/mail/mailman post mailman”
mailman-admin: “|/usr/lib/mailman/mail/mailman admin mailman”
mailman-bounces: “|/usr/lib/mailman/mail/mailman bounces mailman”
mailman-confirm: “|/usr/lib/mailman/mail/mailman confirm mailman”
mailman-join: “|/usr/lib/mailman/mail/mailman join mailman”
mailman-leave: “|/usr/lib/mailman/mail/mailman leave mailman”
mailman-owner: “|/usr/lib/mailman/mail/mailman owner mailman”
mailman-request: “|/usr/lib/mailman/mail/mailman request mailman”
mailman-subscribe: “|/usr/lib/mailman/mail/mailman subscribe mailman”
mailman-unsubscribe: “|/usr/lib/mailman/mail/mailman unsubscribe mailman”
Appuyez sur entrer pour notifier le propriétaire de mailman… <– ENTRER
[root@server1 tmp]#
Ouvrez ensuite /etc/aliases…
nano /etc/aliases
… et ajoutez les lignes suivantes :
[...]
mailman: "|/usr/lib/mailman/mail/mailman post mailman"
mailman-admin: "|/usr/lib/mailman/mail/mailman admin mailman"
mailman-bounces: "|/usr/lib/mailman/mail/mailman bounces mailman"
mailman-confirm: "|/usr/lib/mailman/mail/mailman confirm mailman"
mailman-join: "|/usr/lib/mailman/mail/mailman join mailman"
mailman-leave: "|/usr/lib/mailman/mail/mailman leave mailman"
mailman-owner: "|/usr/lib/mailman/mail/mailman owner mailman"
mailman-request: "|/usr/lib/mailman/mail/mailman request mailman"
mailman-subscribe: "|/usr/lib/mailman/mail/mailman subscribe mailman"
mailman-unsubscribe: "|/usr/lib/mailman/mail/mailman unsubscribe mailman"Exécutez
newaliases
ensuite et redémarrez Postfix :
systemctl restart postfix.service
Créez les liens de démarrage système pour Mailman et démarrez-le :
systemctl enable mailman.service
systemctl start mailman.service
Nous devons maintenant créer ce lien symbolique pour faire fonctionner Mailman avec ISPConfig :
cd /usr/lib/mailman/cgi-bin/
ln -s ./ mailman
Si vous souhaitez utiliser Mailman depuis vos sites web créés via ISPConfig, c’est un peu plus compliqué que pour Apache car nginx n’a pas d’alias globaux (c’est-à-dire des alias qui peuvent être définis pour tous les vhosts). Par conséquent, vous devez définir ces alias pour chaque vhost à partir duquel vous souhaitez accéder à Mailman.
Pour ce faire, collez ce qui suit dans le champ Directives nginx de l’onglet Options du site web dans ISPConfig :
location /cgi-bin/mailman {
alias /usr/lib/mailman/cgi-bin;
fastcgi_split_path_info (^/cgi-bin/mailman/[^/]*)(.*)$;
include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_FILENAME /usr/lib/mailman$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED /usr/lib/mailman$fastcgi_path_info;
fastcgi_intercept_errors on;
fastcgi_pass unix:/var/run/fcgiwrap.socket;
}
location /images/mailman {
alias /usr/lib/mailman/icons;
}
location /pipermail {
alias /var/lib/mailman/archives/public;
autoindex on;
}Cela définit l’alias /cgi-bin/mailman/ pour votre vhost, ce qui signifie que vous pouvez accéder à l’interface d’administration de Mailman pour une liste à http://
Sous http://
17 Installer PureFTPd
PureFTPd peut être installé avec la commande suivante :
yum -y install pure-ftpd
Ensuite, créez les liens de démarrage système et démarrez PureFTPd :
systemctl enable pure-ftpd.service
systemctl start pure-ftpd.service
Maintenant, nous configurons PureFTPd pour autoriser les sessions FTP et TLS. FTP est un protocole très peu sécurisé car tous les mots de passe et toutes les données sont transférés en texte clair. En utilisant TLS, toute la communication peut être chiffrée, rendant ainsi FTP beaucoup plus sécurisé.
OpenSSL est nécessaire pour TLS ; pour installer OpenSSL, nous exécutons simplement :
yum -y install openssl
Ouvrez /etc/pure-ftpd/pure-ftpd.conf…
nano /etc/pure-ftpd/pure-ftpd.conf
Si vous souhaitez autoriser les sessions FTP et TLS, définissez TLS à 1 :
[...]
# Cette option peut accepter trois valeurs :
# 0 : désactiver la couche de chiffrement SSL/TLS (par défaut).
# 1 : accepter à la fois les sessions traditionnelles et chiffrées.
# 2 : refuser les connexions qui n'utilisent pas les mécanismes de sécurité SSL/TLS,
# y compris les sessions anonymes.
# Ne décommentez pas cela à la légère. Assurez-vous que :
# 1) Votre serveur a été compilé avec le support SSL/TLS (--with-tls),
# 2) Un certificat valide est en place,
# 3) Seuls des clients compatibles se connecteront.
TLS 1
[...]Pour utiliser TLS, nous devons créer un certificat SSL. Je le crée dans /etc/ssl/private/, donc je crée d’abord ce répertoire :
mkdir -p /etc/ssl/private/
Ensuite, nous pouvons générer le certificat SSL comme suit :
openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
Nom du pays (code à 2 lettres) [XX] : <– Entrez le nom de votre pays (par exemple, “FR”).
Nom de l’État ou de la province (nom complet) [] : <– Entrez le nom de votre État ou province.
Nom de la localité (par exemple, ville) [Ville par défaut] : <– Entrez votre ville.
Nom de l’organisation (par exemple, entreprise) [Société par défaut Ltd] : <– Entrez le nom de votre organisation (par exemple, le nom de votre entreprise).
Nom de l’unité organisationnelle (par exemple, section) [] : <– Entrez le nom de votre unité organisationnelle (par exemple, “Département IT”).
Nom commun (par exemple, votre nom ou le nom d’hôte de votre serveur) [] : <– Entrez le nom de domaine complet du système (par exemple, “server1.example.com”).
Adresse email [] : <– Entrez votre adresse email.
Changez les permissions du certificat SSL :
chmod 600 /etc/ssl/private/pure-ftpd.pem
Enfin, redémarrez PureFTPd :
systemctl restart pure-ftpd.service
C’est tout. Vous pouvez maintenant essayer de vous connecter en utilisant votre client FTP ; cependant, vous devez configurer votre client FTP pour utiliser TLS.
18 Installer BIND
Nous pouvons installer BIND comme suit :
yum -y install bind bind-utils
Ensuite, ouvrez /etc/sysconfig/named…
nano /etc/sysconfig/named
… et assurez-vous que la ligne ROOTDIR=/var/named/chroot est commentée :
# Options du processus BIND nommé
# ~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# OPTIONS="whatever" -- Ces options supplémentaires seront passées à named
# au démarrage. N'ajoutez pas -t ici, activez le fichier d'unité -chroot.service approprié.Faites une sauvegarde de l’ancien fichier /etc/named.conf et créez un nouveau comme suit :
cp /etc/named.conf /etc/named.conf_bak
cat /dev/null > /etc/named.conf
nano /etc/named.conf
\n//\n// named.conf\n//\n// Fournit par le package bind de Red Hat pour configurer le serveur DNS ISC BIND nommé(8)\n// en tant que serveur de noms uniquement en cache (comme un résolveur DNS localhost uniquement).\n//\n// Voir /usr/share/doc/bind*/sample/ pour des exemples de fichiers de configuration nommés.\n//\noptions {\n listen-on port 53 { any; };\n listen-on-v6 port 53 { any; };\n directory "/var/named";\n dump-file "/var/named/data/cache_dump.db";\n statistics-file "/var/named/data/named_stats.txt";\n memstatistics-file "/var/named/data/named_mem_stats.txt";\n allow-query { any; };\n recursion no;\n};\nlogging {\n channel default_debug {\n file "data/named.run";\n severity dynamic;\n };\n};\nzone "." IN {\n type hint;\n file "named.ca";\n};\ninclude "/etc/named.conf.local";\n
Créez le fichier /etc/named.conf.local qui est inclus à la fin de /etc/named.conf ( /etc/named.conf.local sera plus tard peuplé par ISPConfig si vous créez des zones DNS dans ISPConfig) :
touch /etc/named.conf.local
Ensuite, nous créons les liens de démarrage et démarrons BIND :
systemctl enable named.service
systemctl start named.service
19 Installer Webalizer Et AWStats
Webalizer et AWStats peuvent être installés comme suit :
yum -y install webalizer awstats perl-DateTime-Format-HTTP perl-DateTime-Format-Builder
20 Installer Jailkit
Jailkit est nécessaire uniquement si vous souhaitez chroot les utilisateurs SSH. Il peut être installé comme suit (important : Jailkit doit être installé avant ISPConfig - il ne peut pas être installé après !) :
cd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.17.tar.gz
tar xvfz jailkit-2.17.tar.gz
cd jailkit-2.17
./configure
make
make install
cd ..
rm -rf jailkit-2.17*
21 Installer fail2ban
C’est optionnel mais recommandé, car le moniteur ISPConfig essaie de montrer le journal :
yum -y install fail2ban
Nous devons configurer fail2ban pour enregistrer dans le fichier journal /var/log/fail2ban.log car c’est le fichier journal surveillé par le module Moniteur ISPConfig. Ouvrez /etc/fail2ban/fail2ban.conf…
nano /etc/fail2ban/fail2ban.conf
… et assurez-vous que logtarget = /var/log/fail2ban.log :
[...]
# Option : logtarget
# Notes : Définissez la cible de journalisation. Cela pourrait être un fichier, SYSLOG, STDERR ou STDOUT.
# Une seule cible de journalisation peut être spécifiée.
# Si vous changez logtarget de la valeur par défaut et que vous utilisez logrotate -- ajustez également ou désactivez la rotation dans le
# fichier de configuration correspondant
# (par exemple /etc/logrotate.d/fail2ban sur les systèmes Debian)
# Valeurs : [ STDOUT | STDERR | SYSLOG | FILE ] Par défaut : STDERR
#
logtarget = /var/log/fail2ban.log
[...]Ensuite, créez les liens de démarrage système pour fail2ban et démarrez-le :
systemctl enable fail2ban.service
systemctl start fail2ban.service
22 Installer rkhunter
rkhunter peut être installé comme suit :
yum -y install rkhunter
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.