Serveur Parfait · 8 min read · Feb 13, 2026
Le Serveur Parfait - OpenSUSE 12.3 x86_64 (Apache2, Dovecot, ISPConfig 3) - Page 2
Maintenant, connectez-vous avec le nom d’utilisateur root et le mot de passe que vous avez sélectionné lors de l’installation.
4 Configurer Les Paramètres Réseau
Nous utilisons Yast, l’outil de gestion du système OpenSuSE pour reconfigurer les paramètres de la carte réseau. Après le premier démarrage, le système est configuré pour obtenir l’adresse IP avec DHCP. Pour un serveur, nous allons le passer à une adresse IP statique.
Exécutez
yast2Sélectionnez Périphériques Réseau > Paramètres Réseau :

Sélectionnez votre carte réseau puis Modifier :

Sélectionnez Adresse IP assignée statiquement et entrez l’adresse IP, le masque de sous-réseau et le nom d’hôte, puis enregistrez les modifications en sélectionnant Suivant :

Maintenant, sélectionnez Nom d’hôte/DNS et entrez le nom d’hôte (par exemple, server1.example.com) et les serveurs de noms (par exemple, 192.168.1.200 et 8.8.8.8) :

Maintenant, sélectionnez Routage et entrez la passerelle par défaut et appuyez sur OK :
Pour configurer le pare-feu (au cas où vous ne l’auriez pas configuré lors de l’installation de base), sélectionnez Sécurité et Utilisateurs > Pare-feu dans Yast :

Je veux installer ISPConfig à la fin de ce tutoriel, qui vient avec son propre pare-feu. C’est pourquoi je désactive le pare-feu OpenSUSE par défaut maintenant. Bien sûr, vous êtes libre de le laisser activé et de le configurer selon vos besoins (mais dans ce cas, vous ne devriez pas utiliser d’autre pare-feu par la suite car cela interférera probablement avec le pare-feu OpenSUSE).
Sélectionnez Désactiver le démarrage automatique du pare-feu et Arrêter le pare-feu maintenant, puis appuyez sur Suivant :

Appuyez sur Terminer et quittez Yast :

Ensuite, vous devriez vérifier avec
ifconfigsi votre configuration réseau est correcte. Si ce n’est pas le cas (par exemple, si eth0 est manquant), redémarrez le système…
reboot… et vérifiez à nouveau votre configuration réseau par la suite - elle devrait maintenant être correcte.
5 Installer les Mises à Jour
Maintenant, nous installons les dernières mises à jour des dépôts openSUSE. Exécutez
zypper updateEt ensuite redémarrez le serveur car vous avez probablement installé des mises à jour du noyau également :
reboot6 Installer Quelques Paquets de Base
Exécutez
zypper install findutils readline glibc-devel findutils-locate gcc flex lynx compat-readline4 db-devel wget gcc-c++ subversion make vim telnet cron iptables iputils man man-pages nano pico sudo perl-TimeDate7 Quota Journalisé
Pour installer le quota, exécutez
zypper install quotaÉditez /etc/fstab pour qu’il ressemble à ceci (j’ai ajouté,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 aux points de montage / et /srv) :
vi /etc/fstab| /dev/disk/by-id/ata-VBOX_HARDDISK_VB1d06c935-e9b5de19-part1 swap swap defaults 0 0 /dev/disk/by-id/ata-VBOX_HARDDISK_VB1d06c935-e9b5de19-part2 / ext4 acl,user_xattr,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 1 1 /dev/disk/by-id/ata-VBOX_HARDDISK_VB1d06c935-e9b5de19-part3 /srv ext4 acl,user_xattr,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 1 2 proc /proc proc defaults 0 0 sysfs /sys sysfs noauto 0 0 debugfs /sys/kernel/debug debugfs noauto 0 0 usbfs /proc/bus/usb usbfs noauto 0 0 devpts /dev/pts devpts mode=0620,gid=5 0 0 |
Ensuite, exécutez :
mount -o remount /
mount -o remount /srvquotacheck -avugm
quotaon -avugNe vous inquiétez pas si vous voyez ces messages d’erreur - ils sont normaux lorsque vous exécutez quotacheck pour la première fois :
server1:~ # quotacheck -avugm
quotacheck: Scanning /dev/sda2 [/] done
quotacheck: Cannot stat old user quota file: No such file or directory
quotacheck: Cannot stat old group quota file: No such file or directory
quotacheck: Cannot stat old user quota file: No such file or directory
quotacheck: Cannot stat old group quota file: No such file or directory
quotacheck: Checked 3872 directories and 32991 files
quotacheck: Old file not found.
quotacheck: Old file not found.
quotacheck: Scanning /dev/sda3 [/srv] done
quotacheck: Cannot stat old user quota file: No such file or directory
quotacheck: Cannot stat old group quota file: No such file or directory
quotacheck: Cannot stat old user quota file: No such file or directory
quotacheck: Cannot stat old group quota file: No such file or directory
quotacheck: Checked 6 directories and 0 files
quotacheck: Old file not found.
quotacheck: Old file not found.
server1:~ #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 sélectionner pour désinstaller exim :
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 :
Failed to issue method call: Unit mysql.service failed to load: No such file or directory. See system logs and 'systemctl status mysql.service' for details.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 posé plusieurs questions :
server1:~ # mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
Afin de 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 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 (entrez 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 la bonne autorisation.
Définir le mot de passe root ? [Y/n] <– Y
Nouveau mot de passe : <– votremotdepassepourroot
Ressaisir 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 à
avoir un compte utilisateur créé pour eux. Ceci est
uniquement destiné à des fins de test, et pour rendre
l’installation un peu plus fluide. Vous devriez les
retirer avant de passer à un environnement de production.
Supprimer les utilisateurs anonymes ? [Y/n] <– Y
… Succès !
Normalement, root ne devrait être autorisé à se connecter
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 à 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] <– 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 !
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] <– Y
… 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.
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 maintenant le fichier /etc/tmpfiles.d/clamav.conf 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 éditer 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 obsolète amavisd $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 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 changé 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 : Cela prend 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.