Serveur Parfait · 14 min read · Jan 14, 2026

Le Serveur Parfait - OpenSUSE 11.2 x86_64 [ISPConfig 3] - Page 5

12 MyDNS

Nous installons le paquet rpm MyDNS pour i386 qui fonctionne également sur x86_64 :

wget http://mydns.bboy.net/download/mydns-mysql-1.1.0-1.i386.rpm  
rpm -ivh --force mydns-mysql-1.1.0-1.i386.rpm

Créez le script d’initialisation MyDNS suivant :

vi /etc/init.d/mydns

| #! /bin/sh # Copyright (c) 1995-2004 SUSE Linux AG, Nuernberg, Germany. # Tous droits réservés. # # Auteur : Kurt Garloff # Veuillez envoyer vos commentaires à http://www.suse.de/feedback/ # # /etc/init.d/mydns # et son lien symbolique # /(usr/)sbin/rcmydns # # Ce programme est un logiciel libre ; vous pouvez le redistribuer et/ou le modifier # selon les termes de la GNU General Public License telle que publiée par # la Free Software Foundation ; soit la version 2 de la Licence, ou # (à votre choix) toute version ultérieure. # # Ce programme est distribué dans l'espoir qu'il sera utile, # mais SANS AUCUNE GARANTIE ; sans même la garantie implicite de # COMMERCIALISATION ou d'ADÉQUATION À UN USAGE PARTICULIER. Voir la # GNU General Public License pour plus de détails. # # Vous devriez avoir reçu une copie de la GNU General Public License # avec ce programme ; si ce n'est pas le cas, écrivez à la Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # # Template système de script de démarrage pour un exemple de service/démon mydns # # Script de contrôle de service compatible LSB ; voir http://www.linuxbase.org/spec/ # # Remarque : Ce modèle utilise des fonctions rc_XXX définies dans /etc/rc.status sur # UnitedLinux (UL) basé sur des distributions Linux. Si vous souhaitez baser votre # script sur ce modèle et vous assurer qu'il fonctionne sur des distributions Linux # conformes à LSB non basées sur UL, vous devez soit fournir les fonctions rc.status # de UL soit modifier le script pour fonctionner sans elles. # ### BEGIN INIT INFO # Provides: mydns # Required-Start: $syslog $remote_fs # Should-Start: $time ypbind sendmail # Required-Stop: $syslog $remote_fs # Should-Stop: $time ypbind sendmail # Default-Start: 3 5 # Default-Stop: 0 1 2 6 # Short-Description: démon mydns XYZ fournissant ZYX # Description: Démarrer mydns pour permettre XY et fournir YZ # continué sur la deuxième ligne par '#' # devrait contenir suffisamment d'infos pour que l'éditeur de runlevel # donne à l'administrateur une idée de ce que fait ce service et # à quoi il est nécessaire ... # (La Short-Description devrait déjà être un bon indice.) ### END INIT INFO # # Toute extension aux mots clés donnés ci-dessus doit être précédée par # X-VendorTag- (X-UnitedLinux- X-SuSE- pour nous) selon LSB. # # Notes sur Required-Start/Should-Start : # * Il y a deux problèmes différents qui sont résolus par Required-Start # et Should-Start # (a) Dépendances strictes : Ceci est utilisé par l'éditeur de runlevel pour déterminer # quels services doivent absolument être démarrés pour que le démarrage de # ce service ait un sens. Exemple : nfsserver devrait avoir # Required-Start: $portmap # De plus, les services requis sont démarrés avant ceux qui en dépendent. # L'éditeur de runlevel avertira de telles dépendances strictes manquantes # et suggérera de les activer. Pendant le démarrage du système, vous pouvez vous attendre à une erreur, # si la dépendance n'est pas remplie. # (b) Spécification de l'ordre des scripts d'initialisation, pas de vraies (dures) dépendances. # Ceci est nécessaire pour insserv pour déterminer quel service doit être # démarré en premier (et à un stade ultérieur quels services peuvent être démarrés # en parallèle). Le tag Should-Start : est utilisé pour cela. # Il indique que si un service est disponible, il doit être démarré # avant. Sinon, peu importe. # * Lors de la spécification de dépendances strictes ou d'exigences d'ordre, vous pouvez # utiliser les noms de services (contenu de leur section Provides :) # ou des pseudo-noms commençant par un $. Les suivants sont disponibles # selon LSB (1.1) : # $local_fs tous les systèmes de fichiers locaux sont montés # (la plupart des services devraient en avoir besoin !) # $remote_fs tous les systèmes de fichiers distants sont montés # (notez que /usr peut être distant, donc # de nombreux services devraient le nécessiter !) # $syslog service de journalisation système actif # $network mise en réseau de bas niveau (carte eth, ...) # $named résolution de nom d'hôte disponible # $netdaemons tous les démons réseau sont en cours d'exécution # Le pseudo-service $netdaemons a été supprimé dans LSB 1.2. # Pour l'instant, nous l'offrons encore pour la compatibilité ascendante. # Voici les nouveaux (LSB 1.2) : # $time l'heure système a été correctement réglée # $portmap service de mappage de port SunRPC disponible # Extensions UnitedLinux : # $ALL indique qu'un script doit être inséré # à la fin # * Les services spécifiés dans les tags d'arrêt # (Required-Stop/Should-Stop) # spécifient quels services doivent encore être en cours d'exécution lorsque ce service # est arrêté. Souvent, les entrées là-bas sont juste des copies ou un sous-ensemble # du tag de démarrage respectif. # * Should-Start/Stop font maintenant partie de LSB depuis 2.0, # auparavant SUSE/Unitedlinux utilisait X-UnitedLinux-Should-Start/-Stop. # insserv prend en charge les deux variantes. # * X-UnitedLinux-Default-Enabled : yes/no est utilisé au moment de l'installation # (%fillup_and_insserv macro dans %post de nombreux RPMs) pour spécifier si # un script de démarrage doit par défaut être activé après l'installation. # Il n'est pas utilisé par insserv. # # Remarque sur les niveaux d'exécution : # 0 - arrêt/arrêt d'alimentation 6 - redémarrer # 1 - utilisateur unique 2 - multi-utilisateur sans réseau exporté # 3 - multi-utilisateur avec réseau (mode texte) 5 - multi-utilisateur avec réseau et X11 (xdm) # # Remarque sur les noms de scripts : # http://www.linuxbase.org/spec/refspecs/LSB_1.3.0/gLSB/gLSB/scrptnames.html # Un registre a été mis en place pour gérer l'espace de noms des scripts d'initialisation. # http://www.lanana.org/ # Veuillez utiliser les noms déjà enregistrés ou en enregistrer un ou utiliser un # préfixe de fournisseur. # Vérifiez les binaires manquants (les liens symboliques obsolètes ne devraient pas se produire) # Remarque : Traitement spécial de l'arrêt pour la conformité LSB MYDNS_BIN=/usr/sbin/mydns test -x $MYDNS_BIN || { echo "$mydns_BIN non installé"; if [ "$1" = "stop" ]; then exit 0; else exit 5; fi; } # Vérifiez l'existence du fichier de configuration nécessaire et lisez-le #MYDNS_CONFIG=/etc/sysconfig/mydns #test -r $MYDNS_CONFIG || { echo "$mydns_CONFIG n'existe pas"; # if [ "$1" = "stop" ]; then exit 0; # else exit 6; fi; } # Lire la config #. $MYDNS_CONFIG # Source LSB init functions # fournissant start_daemon, killproc, pidofproc, # log_success_msg, log_failure_msg et log_warning_msg. # Ceci n'est actuellement pas utilisé par les distributions basées sur UnitedLinux et # pas nécessaire pour les scripts d'initialisation uniquement pour UnitedLinux. S'il est utilisé, # les fonctions de rc.status ne devraient pas être sourcées ou utilisées. #. /lib/lsb/init-functions # Fonctions Shell sourcées depuis /etc/rc.status : # rc_check vérifier et définir l'état rc local et global # rc_status vérifier et définir l'état rc local et global # rc_status -v être verbeux dans l'état rc local et le réinitialiser ensuite # rc_status -v -r idem et réinitialiser à la fois l'état rc local et global # rc_status -s afficher "skipped" et quitter avec le statut 3 # rc_status -u afficher "unused" et quitter avec le statut 3 # rc_failed définir l'état rc local et global sur échoué # rc_failed définir l'état rc local et global sur # rc_reset réinitialiser à la fois l'état rc local et global # rc_exit quitter en fonction de l'état rc global # rc_active vérifie si un service est activé par des liens symboliques . /etc/rc.status # Réinitialiser l'état de ce service rc_reset # Valeurs de retour selon LSB pour toutes les commandes sauf statut : # 0 - succès # 1 - erreur générique ou non spécifiée # 2 - argument(s) invalide(s) ou excessif(s) # 3 - fonctionnalité non implémentée (par exemple "reload") # 4 - l'utilisateur n'avait pas suffisamment de privilèges # 5 - le programme n'est pas installé # 6 - le programme n'est pas configuré # 7 - le programme n'est pas en cours d'exécution # 8--199 - réservé (8--99 LSB, 100--149 distrib, 150--199 appl) # # Remarque que démarrer un service déjà en cours d'exécution, arrêter # ou redémarrer un service non en cours d'exécution ainsi que le redémarrage # avec force-reload (au cas où le signalement n'est pas supporté) sont # considérés comme un succès. case "$1" in start) echo -n "Démarrage de mydns " ## Démarrer le démon avec startproc(8). Si cela échoue ## la valeur de retour est définie de manière appropriée par startproc. startproc $MYDNS_BIN # Se souvenir de l'état et être verbeux rc_status -v ;; stop) echo -n "Arrêt de mydns " ## Arrêter le démon avec killproc(8) et si cela échoue ## killproc définit la valeur de retour selon LSB. killproc -TERM $MYDNS_BIN # Se souvenir de l'état et être verbeux rc_status -v ;; try-restart|condrestart) ## Effectuer un redémarrage uniquement si le service était actif auparavant. ## Remarque : try-restart fait maintenant partie de LSB (depuis 1.9). ## RH a une commande similaire nommée condrestart. if test "$1" = "condrestart"; then echo "${attn} Utilisez try-restart ${done}(LSB)${attn} plutôt que condrestart ${warn}(RH)${norm}" fi $0 status if test $? = 0; then $0 restart else rc_reset # Ne pas en cours d'exécution n'est pas un échec. fi # Se souvenir de l'état et être silencieux rc_status ;; restart) ## Arrêter le service et peu importe s'il était ## en cours d'exécution ou non, le redémarrer. $0 stop $0 start # Se souvenir de l'état et être silencieux rc_status ;; force-reload) ## Signaler au démon de recharger sa config. La plupart des démons ## le font sur le signal 1 (SIGHUP). ## S'il ne le supporte pas, redémarrez. echo -n "Recharger le service mydns " ## s'il le supporte : killproc -HUP $MYDNS_BIN #touch /var/run/mydns.pid rc_status -v ## Sinon : #$0 try-restart #rc_status ;; reload) ## Comme force-reload, mais si le démon ne supporte pas ## le signalement, ne rien faire (!) # S'il supporte le signalement : echo -n "Recharger le service mydns " killproc -HUP $MYDNS_BIN #touch /var/run/mydns.pid rc_status -v ## Sinon s'il ne supporte pas le rechargement : #rc_failed 3 #rc_status -v ;; status) echo -n "Vérification du service mydns " ## Vérifiez l'état avec checkproc(8), si le processus est en cours d'exécution ## checkproc renverra avec un statut de sortie 0. # La valeur de retour est légèrement différente pour la commande statut : # 0 - service actif et en cours d'exécution # 1 - service mort, mais le fichier pid /var/run/ existe # 2 - service mort, mais le fichier de verrouillage /var/lock/ existe # 3 - service non en cours d'exécution (non utilisé) # 4 - statut du service inconnu :-( # 5--199 réservé (5--99 LSB, 100--149 distro, 150--199 appl.) # REMARQUE : checkproc renvoie des valeurs de statut conformes à LSB. checkproc $MYDNS_BIN # REMARQUE : rc_status sait que nous avons appelé ce script d'initialisation avec # l'option "status" et adapte ses messages en conséquence. rc_status -v ;; probe) ## Optionnel : Vérifiez la nécessité d'un rechargement, imprimez ## l'argument de ce script d'initialisation qui est requis pour un rechargement. ## Remarque : probe n'est pas (encore) partie de LSB (depuis 1.9) test /etc/mydns/mydns.conf -nt /var/run/mydns.pid && echo reload ;; *) echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}" exit 1 ;; esac rc_exit |

Rendez le script d’initialisation exécutable…

chmod 755 /etc/init.d/mydns

… et créez les liens de démarrage système pour MyDNS :

chkconfig --add mydns

13 Installer vlogger et Webalizer

cd /tmp
wget http://n0rp.chemlab.org/vlogger/vlogger-1.3.tar.gz
tar xvfz vlogger-1.3.tar.gz
mv vlogger-1.3/vlogger /usr/sbin/
rm -rf vlogger*
yast2 -i webalizer perl-DateManip

14 Installer fail2ban

rpm -i http://download.opensuse.org/repositories/home:/kolbma/openSUSE_11.1/x86_64/fail2ban-0.8.4-2.1.x86_64.rpm

Les avertissements comme avertissement : /var/tmp/rpm-xfer.SCm0TM : En-tête V3 DSA signature : NOKEY, clé ID 5b00c76e peuvent être ignorés.

15 Installer jailkit

cd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.10.tar.gz
tar xvfz jailkit-2.10.tar.gz
cd jailkit-2.10
./configure
make
make install
cd ..
rm -rf jailkit-2.10*

16 Synchroniser l’Horloge Système

Si vous souhaitez synchroniser l’horloge système avec un serveur NTP, faites ce qui suit :

yast2 -i xntp

Ensuite, ajoutez des liens de démarrage système pour ntp et démarrez ntp :

chkconfig --add ntp  
/etc/init.d/ntp start

17 ISPConfig 3

Téléchargez la version actuelle d’ISPConfig et installez-la. L’installateur d’ISPConfig configurera tous les services comme postfix, sasl, courier, etc. pour vous. Une configuration manuelle comme requise pour ISPConfig 2 n’est plus nécessaire.

cd /tmp
wget http://downloads.sourceforge.net/ispconfig/ISPConfig-3.0.1.6.tar.gz?use_mirror=
tar xvfz ISPConfig-3.0.1.6.tar.gz
cd ispconfig3_install/install/

Maintenant, démarrez le processus d’installation en exécutant :

php -q install.php

server1:/tmp/ispconfig3_install/install # php -q install.php

——————————————————————————–
_ _ _
|
/
| _ \ / \ / ()
| | |\ --.| |_/ / | / \/ ___ _ __ | |_ _ __ _ | | |–. \ / | | / \| ‘ \| | |/ ` |
| |_| |\
/ / | | _/\ () | | | | | | | (| |
__
/_/| __/_/|| ||| ||\, |
/ |
|_
/
——————————————————————————–

>> Configuration initiale
Système d’exploitation : openSUSE 11.2 ou compatible

Les questions suivantes seront posées pour la configuration primaire, alors soyez prudent.
Les valeurs par défaut sont entre [crochets] et peuvent être acceptées avec .
Tapez “quit” (sans les guillemets) pour arrêter l’installateur.

Sélectionnez la langue (en,de) [en] : <– ENTER

Mode d’installation (standard,expert) [standard] : <– ENTER

Nom d’hôte entièrement qualifié (FQDN) du serveur, par exemple server1.domain.tld [server1.example.com] : <– ENTER

Nom d’hôte du serveur MySQL [localhost] : <– ENTER

Nom d’utilisateur root MySQL [root] : <– ENTER

Mot de passe root MySQL [] : <– votremotdepasseMySQLroot

Base de données MySQL à créer [dbispconfig] : <– ENTER

Jeu de caractères MySQL [utf8] : <– ENTER

Génération d’une clé privée RSA de 2048 bits
…………………+++
…………..+++
écriture de la nouvelle clé privée dans ‘smtpd.key’
—–
Vous allez être invité à entrer des informations qui seront incorporées
dans votre demande de certificat.
Ce que vous allez entrer est ce qu’on appelle un Nom Distingué ou un DN.
Il y a pas mal de champs mais vous pouvez laisser certains vides
Pour certains champs, il y aura une valeur par défaut,
Si vous entrez ‘.’, le champ sera laissé vide.
—–
Nom du pays (code à 2 lettres) [AU] : <– ENTER
Nom de l’État ou de la province (nom complet) [Some-State] : <– ENTER
Nom de la localité (par exemple, ville) [] : <– ENTER
Nom de l’organisation (par exemple, entreprise) [Internet Widgits Pty Ltd] : <– ENTER
Nom de l’unité organisationnelle (par exemple, section) [] : <– ENTER
Nom commun (par exemple, VOTRE nom) [] : <– ENTER
Adresse e-mail [] : <– ENTER
Configuration de Jailkit
Configuration de SASL
Configuration de PAM
Configuration de Courier
Configuration de Spamassassin
Configuration d’Amavisd
Configuration de Getmail
Configuration de Pureftpd
Configuration de MyDNS
Configuration d’Apache
Configuration de vlogger
Configuration du Pare-feu
Installation d’ISPConfig
Port ISPConfig [8080] : <– ENTER

Configuration de DBServer
Installation de Crontab
aucun crontab pour root
aucun crontab pour getmail
Redémarrage des services …
Redémarrage du service MySQL
Arrêt du service MySQL ..fait
Démarrage du service MySQL ..fait
Arrêt du service de messagerie (Postfix)..fait
Démarrage du service de messagerie (Postfix)..fait
Arrêt du service saslauthd..fait
Démarrage du service saslauthd..fait
Attente de la terminaison du processus [1836]
Attente de la terminaison du processus [1836]
Attente de la terminaison du processus [1836]
Attente de la terminaison du processus [1836]
Démon [1836] terminé par SIGTERM
Arrêt du scanner de virus (amavisd-new) : ..fait
Démarrage du scanner de virus (amavisd-new) : ..fait
Arrêt du démon Clam AntiVirus ..fait
Démarrage du démon Clam AntiVirus ..fait
Arrêt du démon d’authentification Courier ..fait
Démarrage du démon d’authentification Courier ..fait
Arrêt de Courier-IMAP ..fait
Démarrage de Courier-IMAP ..fait
Arrêt de Courier-IMAP (SSL)..fait
Démarrage de Courier-IMAP (SSL) génération de certificat SSL…..fait
Arrêt de Courier-POP3 ..fait
Démarrage de Courier-POP3 ..fait
Arrêt de Courier-POP3 (SSL)..fait
Démarrage de Courier-POP3 (SSL) génération de certificat SSL…..fait
Syntaxe OK
Arrêt de httpd2 (attente de la terminaison de tous les enfants) ..fait
Démarrage de httpd2 (prefork) ..fait
Arrêt de pure-ftpd..fait
Démarrage de pure-ftpd..fait
Installation terminée.
server1:/tmp/ispconfig3_install/install # Créez un lien symbolique pour phpMyAdmin : ln -s /srv/www/htdocs/phpMyAdmin /usr/local/ispconfig/interface/web/phpmyadmin Nettoyez le répertoire /tmp : rm -rf /tmp/ispconfig3_install
rm -f /tmp/ISPConfig-3.0.1.6.tar.gz Pour vous connecter au panneau de contrôle d’ISPConfig, ouvrez cette URL dans votre navigateur (remplacez l’IP pour correspondre à vos paramètres !) : http://192.168.0.100:8080/ Le login par défaut est : utilisateur : admin
mot de passe : admin #### 17.1 Manuel ISPConfig 3 Pour apprendre à utiliser ISPConfig 3, je recommande fortement de télécharger le Manuel ISPConfig 3. Sur près de 300 pages, il couvre le concept derrière ISPConfig (administrateur, revendeurs, clients), explique comment installer et mettre à jour ISPConfig 3, inclut une référence pour tous les formulaires et champs de formulaire dans ISPConfig avec des exemples d’entrées valides, et fournit des tutoriels pour les tâches les plus courantes dans ISPConfig 3. Il décrit également comment rendre votre serveur plus sécurisé et comprend une section de dépannage à la fin. ### 18 Optionnel Installez un client de messagerie basé sur le web : rpm -i http://download.opensuse.org/repositories/server:/php:/applications/openSUSE_11.2/noarch/squirrelmail-1.4.19-4.1.noarch.rpm ln -s /srv/www/htdocs/squirrelmail /usr/local/ispconfig/interface/web/webmail ### 19 Désactiver AppArmor AppArmor est une extension de sécurité de SUSE (similaire à SELinux de Fedora) qui devrait fournir une sécurité étendue. À mon avis, vous n’en avez pas besoin pour configurer un système sécurisé, et cela cause généralement plus de problèmes que d’avantages (pensez-y après avoir passé une semaine à résoudre des problèmes parce qu’un service ne fonctionnait pas comme prévu, et ensuite vous découvrez que tout allait bien, seul AppArmor causait le problème). Par conséquent, je le désactive (c’est un must si vous souhaitez installer ISPConfig plus tard). Nous pouvons le désactiver comme ceci : /etc/init.d/boot.apparmor stop chkconfig -d boot.apparmor ### 20 Liens - OpenSUSE : http://www.opensuse.org/ - ISPConfig : http://www.ispconfig.org/

Share: X/Twitter LinkedIn

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

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