Serveur Parfait · 5 min read · Nov 19, 2025

Le Serveur Parfait - OpenSUSE 12.3 x86_64 (nginx, Dovecot, ISPConfig 3) - Page 3

8 Installer Postfix, Dovecot, MySQL

Exécutez

zypper install postfix postfix-mysql mysql-community-server libmysqlclient-devel dovecot21 dovecot21-backend-mysql pwgen cron python

Si vous obtenez le message suivant, veuillez choisir de désinstaller sendmail :

Problème : sendmail-8.14.5-85.1.2.x86_64 entre en conflit avec postfix fourni par postfix-2.9.6-1.2.1.x86_64  
  Solution 1 : Les actions suivantes seront effectuées :  
   ne pas installer postfix-2.9.6-1.2.1.x86_64  
   ne pas installer postfix-mysql-2.9.6-1.2.1.x86_64  
  Solution 2 : désinstallation de sendmail-8.14.5-85.1.2.x86_64  
   
Choisissez parmi les solutions ci-dessus par numéro ou annulez [1/2/c] (c):<-- 2

Créez le lien symbolique suivant :

ln -s /usr/lib64/dovecot/modules /usr/lib/dovecot

À ce stade, j’ai dû redémarrer car sinon MySQL refusait de démarrer avec l’erreur :

Échec de l'émission de l'appel de méthode : Unité mysql.service a échoué à se charger : Aucun fichier ou répertoire de ce type. Voir les journaux système et 'systemctl status mysql.service' pour plus de détails.
reboot

Démarrez MySQL, Postfix et Dovecot et activez les services pour qu’ils démarrent au démarrage.

systemctl enable mysql.service  
systemctl start mysql.service
systemctl enable postfix.service  
systemctl start postfix.service
systemctl enable dovecot.service  
systemctl start dovecot.service

Maintenant, j’installe le paquet getmail :

zypper install getmail

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 UTILISATION EN 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 juste appuyer sur
entrer ici.

Entrez le mot de passe actuel pour root (entrer pour aucun) : <– ENTER
OK, mot de passe utilisé avec succès, passage à la suite…

Définir le mot de passe root garantit que personne ne peut se connecter
à l’utilisateur root de MySQL sans l’autorisation appropriée.

Définir le mot de passe root ? [Y/n] <– Y
Nouveau mot de passe : <– votremotdepassepourrootsql
Ressaisir le nouveau mot de passe : <– votremotdepassepourrootsql
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 à
avoir un compte utilisateur créé pour eux. Ceci est
uniquement destiné aux tests, 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] <– Y
… 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] <– Y
… Succès !

Par défaut, MySQL vient avec une base de données nommée
‘test’ à laquelle quiconque peut accéder. Ceci est
également destiné uniquement aux tests, 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] <– Y

  • 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
toutes les modifications effectuées jusqu’à présent
prendront effet immédiatement.

Recharger les tables de privilèges maintenant ? [Y/n] <– Y
… Succès !

Nettoyage…

Tout est fait ! Si vous avez terminé 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.

9 Amavisd-new, Spamassassin Et Clamav

Installez Amavisd-new, Spamassassin et l’antivirus Clamav. Exécutez

zypper install amavisd-new clamav clamav-db zoo unzip unrar bzip2 unarj perl-DBD-mysql

Ouvrez /etc/amavisd.conf…

vi /etc/amavisd.conf

… et ajoutez la ligne $myhostname avec votre nom d’hôte correct en dessous de la ligne $mydomain :

| [...] $mydomain = 'example.com'; # un défaut pratique pour d'autres paramètres $myhostname = "server1.$mydomain"; [...] |

Ensuite, créez un lien symbolique de /var/run/clamav/clamd à /var/lib/clamav/clamd-socket :

mkdir -p /var/run/clamav  
ln -s /var/lib/clamav/clamd-socket /var/run/clamav/clamd

OpenSUSE 12.3 a un répertoire /run pour stocker les données d’exécution. /run est maintenant un tmpfs, et /var/run est maintenant monté en liaison à /run depuis tmpfs, et donc vidé au redémarrage.

Cela signifie qu’après un redémarrage, le répertoire /var/run/clamav que nous venons de créer n’existera plus, et donc clamd échouera à démarrer. Par conséquent, nous créons le fichier /etc/tmpfiles.d/clamav.conf maintenant qui créera ce répertoire au démarrage du système (voir http://0pointer.de/public/systemd-man/tmpfiles.d.html pour plus de détails) :

vi /etc/tmpfiles.d/clamav.conf

| D /var/run/clamav 0755 root root - |

Avant de démarrer amavisd et clamd, nous devons modifier le script d’initialisation /etc/init.d/amavis - je n’ai pas pu démarrer, arrêter et redémarrer amavisd de manière fiable avec le script d’initialisation par défaut :

vi /etc/init.d/amavis

Commentez les lignes suivantes dans la section de démarrage et d’arrêt :

| [...] start) # ZMI 20100428 vérifiez le fichier pid obsolète #if test -f $AMAVIS_PID ; then # checkproc -p $AMAVIS_PID amavisd # if test $? -ge 1 ; then # # le fichier pid est obsolète, supprimez-le # echo -n "(fichier pid amavisd obsolète $AMAVIS_PID trouvé, suppression. Amavisd a-t-il planté ?)" # rm -f $AMAVIS_PID # fi #fi echo -n "Démarrage du scanner de virus (amavisd-new) : " $AMAVISD_BIN start #if ! checkproc amavisd; then # rc_failed 7 #fi rc_status -v #if [ "$AMAVIS_SENDMAIL_MILTER" == "yes" ]; then # rc_reset # echo -n "Démarrage d'amavis-milter:" # startproc -u vscan $AMAVIS_MILTER_BIN -p $AMAVIS_MILTER_SOCK > /dev/null 2>&1 # rc_status -v #fi ;; stop) echo -n "Arrêt du scanner de virus (amavisd-new) : " #if checkproc amavisd; then # rc_reset $AMAVISD_BIN stop #else # rc_reset #fi rc_status -v #if [ "$AMAVIS_SENDMAIL_MILTER" == "yes" ]; then # rc_reset # echo -n "Arrêt d'amavis-milter : " # killproc -TERM $AMAVIS_MILTER_BIN # rc_status -v #fi ;; [...] |

Parce que nous avons modifié le script d’initialisation, nous devons exécuter

systemctl --system daemon-reload

maintenant.

Pour démarrer clamav, nous devons télécharger la base de données et procéder avec la commande

freshclam

Remarque : Il faut beaucoup de temps pour télécharger la base de données, il est conseillé de ne pas interrompre et de ne pas arrêter le service de mise à jour freshclam entre-temps.

Pour activer les services, exécutez :

systemctl enable amavis.service  
systemctl enable clamd.service  
systemctl start amavis.service  
systemctl start clamd.service
Share: X/Twitter LinkedIn

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

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