Serveur Web · 9 min read · Oct 07, 2025

Le Serveur Parfait - CentOS 6.3 x86_64 (nginx, Dovecot, ISPConfig 3) - Page 5

16 Installer phpMyAdmin

Ensuite, nous installons phpMyAdmin :

yum install phpmyadmin

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'; [...] |

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 :

Les applications ISPConfig vhost sur le port 8081 pour nginx sont livrées avec une configuration phpMyAdmin, donc vous pouvez 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, cela 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 devez ajouter la section suivante à la section http {} dans /etc/nginx/nginx.conf (avant toute ligne include) qui détermine si le visiteur utilise http ou https et définit la variable $fastcgi_https (que nous utiliserons dans notre configuration phpMyAdmin) en conséquence :

vi /etc/nginx/nginx.conf

| [...] http { [...] ## Détecter quand HTTPS est utilisé map $scheme $fastcgi_https { default off; https on; } [...] } [...] |

N’oubliez pas de recharger nginx par la suite :

/etc/init.d/nginx reload 

Ensuite, allez à nouveau dans le champ Directives nginx, et au lieu de fastcgi_param HTTPS on; vous ajoutez la ligne fastcgi_param HTTPS $fastcgi_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 $fastcgi_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; } |

17 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 install mailman

Avant de pouvoir démarrer Mailman, une première liste de diffusion appelée mailman doit être créée :

/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’administrateur, par exemple [email protected]
Mot de passe initial de mailman : <– mot de passe administrateur 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 entrée pour notifier le propriétaire de mailman… <– ENTRER

[root@server1 tmp]#

Ouvrez ensuite /etc/aliases…

vi /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 :

/etc/init.d/postfix restart

Créez les liens de démarrage système pour Mailman et démarrez-le :

chkconfig –levels 235 mailman on
/etc/init.d/mailman start

Maintenant, nous devons 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, cela 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:///cgi-bin/mailman/admin/, et la page web pour les utilisateurs d’une liste de diffusion peut être trouvée à http:///cgi-bin/mailman/listinfo/.

Sous http:///pipermail, vous pouvez trouver les archives de la liste de diffusion.

18 Installer PureFTPd

PureFTPd peut être installé avec la commande suivante :

yum install pure-ftpd

Ensuite, créez les liens de démarrage système et démarrez PureFTPd :

chkconfig –levels 235 pure-ftpd on
/etc/init.d/pure-ftpd start

Maintenant, nous configurons PureFTPd pour permettre 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 install openssl

Ouvrez /etc/pure-ftpd/pure-ftpd.conf…

vi /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) [Default City] : <– Entrez votre ville.
Nom de l’organisation (par exemple, entreprise) [Default Company 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, “Service informatique”).
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 :

 /etc/init.d/pure-ftpd restart

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.

19 Installer BIND

Nous pouvons installer BIND comme suit :

yum install bind bind-utils

Ensuite, ouvrez /etc/sysconfig/named…

vi /etc/sysconfig/named

… et assurez-vous que la ligne ROOTDIR=/var/named/chroot est commentée :

| # Options du processus BIND nommé # ~~~~~~~~~~~~~~~~~~~~~~~~~~ # Actuellement, vous pouvez utiliser les options suivantes : # # ROOTDIR="/var/named/chroot" -- exécutera named dans un environnement chroot. # vous devez configurer l'environnement chroot # (installer le package bind-chroot) avant # de faire cela. # REMARQUE : # Ces répertoires sont automatiquement montés dans chroot s'ils sont # vides dans le répertoire ROOTDIR. Cela simplifiera la maintenance de votre # environnement chroot. # - /var/named # - /etc/pki/dnssec-keys # - /etc/named # - /usr/lib64/bind ou /usr/lib/bind (dépendant de l'architecture) # # Ces fichiers sont également montés si le fichier cible n'existe pas dans # chroot. # - /etc/named.conf # - /etc/rndc.conf # - /etc/rndc.key # - /etc/named.rfc1912.zones # - /etc/named.dnssec.keys # - /etc/named.iscdlv.key # # N'oubliez pas d'ajouter la ligne "$AddUnixListenSocket /var/named/chroot/dev/log" # à votre fichier /etc/rsyslog.conf. Sinon, votre journalisation devient # cassée lorsque le démon rsyslogd est redémarré (en raison d'une mise à jour, par exemple). # # OPTIONS="whatever" -- Ces options supplémentaires seront passées à named # au démarrage. N'ajoutez pas -t ici, utilisez ROOTDIR à la place. # # KEYTAB_FILE="/dir/file" -- Spécifiez le fichier de clé de service nommé (pour GSS-TSIG) # # DISABLE_ZONE_CHECKING -- Par défaut, le script d'initialisation appelle l'utilitaire named-checkzone # pour chaque zone afin de s'assurer que toutes les zones sont # valides avant que named ne démarre. Si vous définissez cette option # sur 'yes', alors le script d'initialisation ne réalise pas ces # vérifications. |

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
vi /etc/named.conf

| // named.conf // // Fournit par le package bind de Red Hat pour configurer le serveur DNS ISC BIND nommé(8) // comme un serveur de noms uniquement en cache (comme un résolveur DNS localhost uniquement). // // Voir /usr/share/doc/bind*/sample/ pour des exemples de fichiers de configuration nommés. options { listen-on port 53 { any; }; listen-on-v6 port 53 { any; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { any; }; recursion no; allow-recursion { none; }; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; zone "." IN { type hint; file "named.ca"; }; include "/etc/named.conf.local"; |

Créez le fichier /etc/named.conf.local qui est inclus à la fin de /etc/named.conf ( /etc/named.conf.local sera ensuite 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 :

chkconfig –levels 235 named on
/etc/init.d/named start

20 Installer Webalizer et AWStats

Webalizer et AWStats peuvent être installés comme suit :

yum install webalizer awstats perl-DateTime-Format-HTTP perl-DateTime-Format-Builder
Share: X/Twitter LinkedIn

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

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