Serveur Web · 6 min read · Jan 20, 2026

Le Serveur Parfait - CentOS 6.0 x86_64 [ISPConfig 2] - Page 4

10 MySQL (5.1)

Pour installer MySQL, nous faisons ceci :

yum install mysql mysql-devel mysql-server

Ensuite, nous créons les liens de démarrage système pour MySQL (afin que MySQL démarre automatiquement chaque fois que le système démarre) et démarrons le serveur MySQL :

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

Maintenant, vérifiez que le réseau est activé. Exécutez

netstat -tap | grep mysql

Cela devrait afficher une ligne comme ceci :

[root@server1 ~]# netstat -tap | grep mysql
tcp 0 0 :mysql :* LISTEN 2044/mysqld
[root@server1 ~]#

Si ce n’est pas le cas, éditez /etc/my.cnf et commentez l’option skip-networking :

vi /etc/my.cnf

| [...] #skip-networking [...] |

et redémarrez votre serveur MySQL :

/etc/init.d/mysqld restart 

Définissez des mots de passe pour le compte root MySQL :

mysql_secure_installation

[root@server1 ~]# mysql_secure_installation

NOTE : L’EXÉCUTION DE TOUTES LES PARTIES DE CE SCRIPT EST RECOMMANDÉE POUR TOUS LES SERVEURS MySQL EN USAGE PRODUCTION ! VEUILLEZ LIRE CHAQUE ÉTAPE ATTENTIVEMENT !

Pour se connecter à MySQL afin de 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 à la suite…

Définir le mot de passe root ? [Y/n] <– ENTRER
Nouveau mot de passe : <– votremotdepasseRootSQL
Ressaisissez le nouveau mot de passe : <– votremotdepasseRootSQL
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 !

Recharger les 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 ~]#

11 Postfix Avec SMTP-AUTH Et TLS

Maintenant, nous installons Postfix et Dovecot (Dovecot sera notre serveur POP3/IMAP) :

yum install cyrus-sasl cyrus-sasl-devel cyrus-sasl-gssapi cyrus-sasl-md5 cyrus-sasl-plain postfix dovecot

Ensuite, nous configurons SMTP-AUTH et TLS :

postconf -e ‘smtpd_sasl_local_domain =’
postconf -e ‘smtpd_sasl_auth_enable = yes’
postconf -e ‘smtpd_sasl_security_options = noanonymous’
postconf -e ‘broken_sasl_auth_clients = yes’
postconf -e ‘smtpd_sasl_authenticated_header = yes’
postconf -e ‘smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination’
postconf -e ‘inet_interfaces = all’
postconf -e ‘mynetworks = 127.0.0.0/8’

Ensuite, nous créons les certificats pour TLS :

mkdir /etc/postfix/ssl
cd /etc/postfix/ssl/
openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024

chmod 600 smtpd.key
openssl req -new -key smtpd.key -out smtpd.csr

openssl x509 -req -days 3650 -in smtpd.csr -signkey smtpd.key -out smtpd.crt
openssl rsa -in smtpd.key -out smtpd.key.unencrypted

mv -f smtpd.key.unencrypted smtpd.key
openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650

Ensuite, nous configurons Postfix pour TLS :

postconf -e ‘smtpd_tls_auth_only = no’
postconf -e ‘smtp_use_tls = yes’
postconf -e ‘smtpd_use_tls = yes’
postconf -e ‘smtp_tls_note_starttls_offer = yes’
postconf -e ‘smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key’
postconf -e ‘smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt’
postconf -e ‘smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem’
postconf -e ‘smtpd_tls_loglevel = 1’
postconf -e ‘smtpd_tls_received_header = yes’
postconf -e ‘smtpd_tls_session_cache_timeout = 3600s’
postconf -e ‘tls_random_source = dev:/dev/urandom’

Ensuite, nous définissons le nom d’hôte dans notre installation Postfix (assurez-vous de remplacer server1.example.com par votre propre nom d’hôte) :

postconf -e 'myhostname = server1.example.com'

Après ces étapes de configuration, vous devriez maintenant avoir un /etc/postfix/main.cf qui ressemble à ceci (j’ai supprimé tous les commentaires) :

cat /etc/postfix/main.cf

| queue_directory = /var/spool/postfix command_directory = /usr/sbin daemon_directory = /usr/libexec/postfix data_directory = /var/lib/postfix mail_owner = postfix inet_interfaces = all inet_protocols = all mydestination = $myhostname, localhost.$mydomain, localhost unknown_local_recipient_reject_code = 550 alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases debug_peer_level = 2 debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5 sendmail_path = /usr/sbin/sendmail.postfix newaliases_path = /usr/bin/newaliases.postfix mailq_path = /usr/bin/mailq.postfix setgid_group = postdrop html_directory = no manpage_directory = /usr/share/man sample_directory = /usr/share/doc/postfix-2.6.6/samples readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES smtpd_sasl_local_domain = smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous broken_sasl_auth_clients = yes smtpd_sasl_authenticated_header = yes smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination mynetworks = 127.0.0.0/8 smtpd_tls_auth_only = no smtp_use_tls = yes smtpd_use_tls = yes smtp_tls_note_starttls_offer = yes smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem smtpd_tls_loglevel = 1 smtpd_tls_received_header = yes smtpd_tls_session_cache_timeout = 3600s tls_random_source = dev:/dev/urandom myhostname = server1.example.com |

Par défaut, le démon Dovecot de CentOS fournit uniquement des services IMAP et IMAPs. Comme nous voulons également POP3 et POP3s, nous devons configurer Dovecot pour le faire. Nous éditons /etc/dovecot/dovecot.conf et activons la ligne protocols = imap pop3 :

vi /etc/dovecot/dovecot.conf

| [...] # Protocoles que nous voulons servir. protocols = imap pop3 [...] |

Ensuite, nous devons activer l’authentification en texte clair :

vi /etc/dovecot/conf.d/10-auth.conf

| [...] # Désactiver la commande LOGIN et toutes les autres authentifications en texte clair à moins que # SSL/TLS ne soit utilisé (capacité LOGINDISABLED). Notez que si l'IP distante # correspond à l'IP locale (c'est-à-dire que vous vous connectez depuis le même ordinateur), la # connexion est considérée comme sécurisée et l'authentification en texte clair est autorisée. disable_plaintext_auth = no [...] |

Maintenant, démarrez Postfix, saslauthd, et Dovecot :

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

Pour voir si SMTP-AUTH et TLS fonctionnent correctement, exécutez la commande suivante :

telnet localhost 25 

Après avoir établi la connexion à votre serveur de messagerie Postfix, tapez

ehlo localhost 

Si vous voyez les lignes

250-STARTTLS 

et

250-AUTH PLAIN LOGIN 

tout va bien.

[root@server1 ssl]# telnet localhost 25
Trying ::1…
Connected to localhost.
Escape character is ‘^]’.
220 server1.example.com ESMTP Postfix
<– ehlo localhost
250-server1.example.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
<– quit
221 2.0.0 Bye
Connection closed by foreign host.
[root@server1 ssl]#

Tapez

quit 

pour revenir à l’invite de commande du système.

11.1 Maildir

Dovecot utilise le format Maildir (pas mbox), donc si vous installez ISPConfig sur le serveur, veuillez vous assurer d’activer Maildir sous Gestion -> Serveur -> Paramètres -> Email. ISPConfig fera alors la configuration nécessaire.

Si vous ne souhaitez pas installer ISPConfig, vous devez configurer Postfix pour livrer les emails dans le Maildir d’un utilisateur (vous pouvez également faire cela si vous utilisez ISPConfig - cela ne fait pas de mal ;-)) :

postconf -e ‘home_mailbox = Maildir/‘
postconf -e ‘mailbox_command =’
/etc/init.d/postfix restart

Share: X/Twitter LinkedIn

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

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