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 pythonSi 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):<-- 2Cré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.rebootDémarrez MySQL, Postfix et Dovecot et activez les services pour qu’ils démarrent au démarrage.
systemctl enable mysql.service
systemctl start mysql.servicesystemctl enable postfix.service
systemctl start postfix.servicesystemctl enable dovecot.service
systemctl start dovecot.serviceMaintenant, j’installe le paquet getmail :
zypper install getmailPour sécuriser l’installation de MySQL, exécutez :
mysql_secure_installationMaintenant, 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-mysqlOuvrez /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/clamdOpenSUSE 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/amavisCommentez 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-reloadmaintenant.
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.serviceRecevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.