Serveur Mail · 5 min read · Sep 20, 2025

Le Serveur Parfait - OpenSUSE 11.3 x86_64 [ISPConfig 2] - Page 4

8 MySQL

Pour installer MySQL, nous exécutons

yast2 -i mysql mysql-community-server mysql-client perl-DBD-mysql perl-DBI perl-Data-ShowTable libmysqlclient-devel libmysqlclient16 libmysqlclient16-32bit libmysqlclient_r16-32bit

Ensuite, nous ajoutons les liens de démarrage système pour MySQL et le démarrons :

chkconfig –add mysql
/etc/init.d/mysql start

Vérifiez maintenant que le réseau est activé. Exécutez

netstat -tap | grep mysql

Dans la sortie, vous devriez voir quelque chose comme ceci :

server1:~ # netstat -tap | grep mysql
tcp 0 0 :mysql :* LISTEN 5336/mysqld
server1:~ #

Si vous ne voyez pas une ligne comme celle-ci, éditez /etc/my.cnf, commentez l’option skip-networking :

vi /etc/my.cnf

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

et redémarrez votre serveur MySQL :

/etc/init.d/mysql restart

Pour sécuriser l’installation de MySQL, exécutez :

mysql_secure_installation

Maintenant, vous serez invité à répondre à plusieurs questions :

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 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
vous n’avez pas encore défini le mot de passe root,
le mot de passe sera vide,
vous devriez donc simplement appuyer sur entrer ici.

Entrez le mot de passe actuel pour root (appuyez sur entrer pour aucun) : <– ENTRER
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 : <– votremotdepassepourroot
Ressaisissez le nouveau mot de passe : <– votremotdepassepourroot
Mot de passe mis à jour avec succès !
Rechargement des tables de privilèges..
… Succès !

Par défaut, une installation de MySQL a un utilisateur anonyme,
permettant à quiconque de se connecter à MySQL
sans avoir à créer un compte utilisateur pour
lui. Cela est destiné uniquement à des fins de test,
et pour rendre l’installation
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
assure que personne ne peut 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 tout le monde peut
y 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
toutes les modifications effectuées 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 de MySQL devrait maintenant
être sécurisée.

Merci d’utiliser MySQL !

server1:~ #

Maintenant, votre configuration MySQL devrait être sécurisée.

Maintenant, nous devons faire ceci…

mkdir -p /usr/local/lib/mysql
ln -s /usr/include/mysql /usr/local/lib/mysql/include
ln -s /usr/lib64/mysql /usr/local/lib/mysql/lib
cd /usr/local/lib/mysql/lib
ln -s /usr/lib64/libmysqlclient.so.16.0.0 libmysqlclient.so
ln -s /usr/lib64/libmysqlclient.so.16.0.0 libmysqlclient.so.16
ln -s /usr/lib64/libmysqlclient.so.16.0.0 libmysqlclient.so.16.0.0
ln -s /usr/lib64/libmysqlclient_r.so.16.0.0 libmysqlclient_r.so
ln -s /usr/lib64/libmysqlclient_r.so.16.0.0 libmysqlclient_r.so.16
ln -s /usr/lib64/libmysqlclient_r.so.16.0.0 libmysqlclient_r.so.16.0.0

… car sinon nous obtiendrions l’erreur suivante lors de l’installation d’ISPConfig :

configure: error: Cannot find libmysqlclient under /usr/local/lib/mysql. 

9 Postfix Avec SMTP-AUTH Et TLS

Maintenant, installons Postfix et Cyrus-SASL :

yast2 -i postfix cyrus-sasl cyrus-sasl-crammd5 cyrus-sasl-digestmd5 cyrus-sasl-gssapi cyrus-sasl-otp cyrus-sasl-plain cyrus-sasl-saslauthd procmail

Ensuite, nous ajoutons les liens de démarrage système pour Postfix et saslauthd et les démarrons :

chkconfig –add postfix
/etc/init.d/postfix start

chkconfig –add saslauthd
/etc/init.d/saslauthd start

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 SMTP-AUTH et TLS :

postconf -e ‘mydomain = example.com’
postconf -e ‘myhostname = server1.$mydomain’
postconf -e ‘mynetworks = 127.0.0.0/8’
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,check_relay_domains’
postconf -e ‘inet_interfaces = all’
postconf -e ‘alias_maps = hash:/etc/aliases’
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’

(Assurez-vous d’utiliser le bon nom d’hôte/domaine dans mydomain et myhostname !)

Pour activer les connexions TLS dans Postfix, éditez /etc/postfix/master.cf et décommentez la ligne tlsmgr pour qu’elle ressemble à celle-ci :

vi /etc/postfix/master.cf

| [...] tlsmgr unix - - n 1000? 1 tlsmgr [...] |

Maintenant, redémarrez Postfix :

/etc/init.d/postfix restart

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 LOGIN PLAIN 

Alors tout va bien.

Sur mon système, la sortie ressemble à ceci :

server1:/etc/postfix/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
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
quit
221 2.0.0 Bye
Connection closed by foreign host.
server1:/etc/postfix/ssl #

Tapez

quit

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

10 Courier-IMAP/Courier-POP3

Je veux utiliser un démon POP3/IMAP qui a le support de Maildir. C’est pourquoi j’utilise Courier-IMAP et Courier-POP3.

yast2 -i courier-imap fam-server courier-authlib expect tcl

Ensuite, nous ajoutons les liens de démarrage système et démarrons POP3, IMAP, POP3s et IMAPs :

chkconfig –add fam
chkconfig –add courier-authdaemon
chkconfig –add courier-pop
chkconfig –add courier-imap
/etc/init.d/courier-pop start
/etc/init.d/courier-imap start
chkconfig –add courier-pop-ssl
chkconfig –add courier-imap-ssl
/etc/init.d/courier-pop-ssl start
/etc/init.d/courier-imap-ssl start

Si vous ne souhaitez pas utiliser ISPConfig, configurez Postfix pour livrer les e-mails dans le Maildir d’un utilisateur* :

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

*Veuillez noter : Vous n’avez pas à faire cela (mais cela ne fait pas de mal ;-)) si vous comptez utiliser ISPConfig sur votre système, car ISPConfig effectue la configuration nécessaire à l’aide de recettes procmail. Mais assurez-vous d’activer Maildir sous Gestion -> Serveur -> Paramètres -> EMail dans l’interface web d’ISPConfig.

Share: X/Twitter LinkedIn

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

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