Serveur Parfait · 6 min read · Jan 14, 2026
Script Pour Configurer Automatiquement Un Serveur Parfait Sur OpenSUSE 11.4 Et Installer ISPConfig 3
Script Pour Configurer Automatiquement Un Serveur Parfait Sur OpenSUSE 11.4 Et Installer ISPConfig 3
Auteur : George Yohng (georgesc#oss3d.com)
Version du script : 2.2
Dernière mise à jour : 26 octobre 2011
Voici un petit script qui automatise la tâche de configuration d’un Serveur Parfait - OpenSUSE 11.4 x86_64 [ISPConfig 3], et à la fin, il installe également ISPConfig 3.
Veuillez noter : n’exécutez pas ce script sur un serveur déjà fonctionnel, car ce script peut écraser des fichiers de configuration et casser le système en cours d’exécution. Il est uniquement destiné à être utilisé sur une installation fraîche d’OpenSUSE 11.4.
Si vous installez sur OpenSUSE 11.2 ou OpenSUSE 11.3, veuillez vous assurer d’utiliser une autre version de ce script (également disponible sur www.howtoforge.com).
Il y a quelques éléments manquants dans le tutoriel, tel que je l’ai trouvé. J’ai créé un script, basé sur le tutoriel, qui prépare un système, et qui contient plusieurs étapes qui, si elles ne sont pas effectuées, laissent le système inachevé d’une certaine manière.
Ajouts notables :
- configuration de fail2ban
- SuSEfirewall2 activé
- changement de configuration de Pure-ftpd (autoriser les renommages, changer les ports passifs et les permissions)
- génération de certificat Postfix
- génération de certificat SSL Apache, et passage d’ISPConfig à HTTPS
- correction de la configuration NameVirtualHost d’apache avec OpenSUSE (important pour qu’Apache reconnaisse plusieurs domaines d’ISPConfig)
- configuration de rdiff-backup avec cron
- correction de la configuration de dovecot pour activer SSL et supporter la compatibilité courier
- correction de pam_mysql pour fonctionner sur des systèmes 64 bits
- correction d’amavis pour trouver le socket clamd
- installation de eAccelerator
- correction du chemin des erreurs personnalisées d’apache
- installation et configuration d’awstats
- configuration d’apache et d’awstats pour utiliser mod_logio pour une mesure correcte de la bande passante
- et plus…
Le script est imparfait dans le sens où il nécessite des entrées manuelles deux fois - lorsque mysql_secure_install est exécuté, et lorsque ispconfig_update_svn est exécuté. (J’utilise svn, car la dernière version SVN d’ISPConfig est beaucoup plus jolie, mais on peut aussi taper stable - sur les systèmes de production, vous devriez utiliser stable !)
Faites
zypper updateet
rebootavant d’exécuter ce script.
Il est également préférable de changer le nom d’hôte (fichier HOSTNAME) manuellement avec yast2 avant d’exécuter ce script, afin qu’OpenSUSE mette un nom approprié dans la configuration de Postfix.
Ce script nécessite deux actions manuelles :
Première - lorsque mysql_secure_install est exécuté.
Deuxième - pour la mise à jour d’ISPConfig3, si la mise à jour SVN est choisie, il se peut que vous deviez dire ‘y’ pour activer SSL, tandis que pour toutes les autres options - vous pouvez choisir une valeur par défaut en appuyant simplement sur ENTRER.
Vous devez changer les variables suivantes dans le script avant de l’exécuter :
THIS_PLATFORM : Soit x86_64 ou i586.
MYSQLROOTPASS : Veuillez changer MYSQLROOTPASS, et assurez-vous de l’entrer tel quel lors de l’installation de mysql_secure_install.
MY_HOSTNAME, MY_DOMAIN : Changez cela pour le nom de votre serveur. Par défaut, il est configuré pour server1.mydomain.com. Si votre site web héberge un domaine complet, tel que domain.com, laissez quand même quelque chose pour MY_HOSTNAME. server1 ou host est un bon nom.
ISPCONFIG_TAR_GZ : Assurez-vous que ISPCONFIG_TAR_GZ contient la dernière version disponible d’ISPConfig 3. Attention, que le piping automatique pour répondre à toutes les questions est configuré pour fonctionner avec ISPConfig 3.0.3.3, et vous devrez peut-être changer cette partie du script, si ISPConfig est d’une version ultérieure.
Enregistrez le script sur votre serveur (par exemple /root/opensuse_ispconfig3.sh) :
vi /root/opensuse_ispconfig3.sh| ``` #!/bin/sh
# OpenSUSE 11.4 Perfect Server ISPConfig script by George Yohng (georgesc#oss3d.com)
# Version du script 2.2
# Faites zypper update et redémarrez avant d’exécuter ce script
# Il est également préférable de changer le nom d’hôte manuellement avec yast2 avant d’exécuter ce script.
# Ce script nécessite deux actions manuelles.
# Première - lorsque mysql_secure_install est en cours d’exécution. On doit taper un nouveau mot de passe mysql, le même que ici
# Deuxième - pour la mise à jour d’ISPConfig3. On doit taper ‘svn’ lorsque le type de mise à jour est demandé
# Pour les deux scripts, toutes les autres options sont par défaut, on peut juste appuyer sur ENTRER.
# De plus, veuillez changer MYSQLROOTPASS ci-dessous, et assurez-vous de l’entrer tel quel
# lors de l’installation de mysql_secure_install.
# Important : Lors de la définition d’une entrée MX, pointez-la vers mail.votredomaine.com plutôt que
# juste vers votredomaine.com, et créez une entrée CNAME pour mail. Sinon, cela ne semble pas
# fonctionner d’une certaine manière.
# La plateforme est x86_64 ou i586
THIS_PLATFORM=x86_64
MYSQLROOTPASS=87h4eq2jr2
# Changez cela pour le nom de votre serveur. Par défaut, il est configuré pour server1.mydomain.com
# Si votre site web héberge un domaine complet, tel que domain.com, laissez quand même
# quelque chose pour MY_HOSTNAME. ‘server1’ ou ‘host’ est un bon nom.
MY_HOSTNAME=server1
MY_DOMAIN=mydomain.com
# Décommentez pour utiliser la version SVN de la configuration ISP, et pour exécuter la mise à jour une fois l’installation terminée
#ISPCONFIG_SVN=yes
# Les paquets peuvent avoir été mis à jour, vérifiez donc également les emplacements RPM et TARGZ ci-dessous,
# et utilisez de préférence les dernières versions de tout.
GETMAIL_RPM=http://download.opensuse.org/repositories/server:/mail/openSUSE_11.4/noarch/getmail-4.20.4-11.1.noarch.rpm
PAM_MYSQL_TARGZ=http://heanet.dl.sourceforge.net/sourceforge/pam-mysql/pam_mysql-0.7RC1.tar.gz
SUPHP_RPM=http://download.opensuse.org/repositories/server:/php/openSUSE_11.4/$THIS_PLATFORM/suphp-0.7.1-3.2.$THIS_PLATFORM.rpm
AWSTATS_RPM=http://download.opensuse.org/repositories/network:/utilities/openSUSE_11.4/noarch/awstats-7.0-14.1.noarch.rpm
SQUIRRELMAIL_RPM=http://download.opensuse.org/repositories/server:/php:/applications/openSUSE_11.4/noarch/squirrelmail-1.4.22-1.1.noarch.rpm
JAILKIT_TARGZ=http://olivier.sessink.nl/jailkit/jailkit-2.14.tar.gz
PHPMYADMIN_RPM=http://download.opensuse.org/repositories/server:/php:/applications/openSUSE_11.4/noarch/phpMyAdmin-3.4.3.2-15.1.noarch.rpm
VLOGGER_TARGZ=http://n0rp.chemlab.org/vlogger/vlogger-1.3.tar.gz
RDIFF_BACKUP_TARGZ=http://savannah.nongnu.org/download/rdiff-backup/rdiff-backup-1.2.8.tar.gz
EACCELERATOR_TARGZ=http://bart.eaccelerator.net/source/0.9.6.1/eaccelerator-0.9.6.1.tar.bz2
#EACCELERATOR_TARGZ=http://www.debiantutorials.com/static/eaccelerator-0.9.6.1.tar.bz2
ISPCONFIG_TAR_GZ=http://downloads.sourceforge.net/ispconfig/ISPConfig-3.0.3.3.tar.gz?use_mirror=
MY_FULLHOSTNAME=$MY_HOSTNAME.$MY_DOMAIN
# Désactiver apparmor
/etc/init.d/boot.apparmor stop
chkconfig -d boot.apparmor
# Installer SuSEfirewall
zypper -n install -l SuSEfirewall2 iptables
# Autoriser les ports à travers le pare-feu
SuSEfirewall2 open EXT TCP 22
SuSEfirewall2 open EXT TCP 21 80 8080 25 143 465 585 993 30000:30500
SuSEfirewall2
# Désactiver la connexion X (vérifiez !)
chkconfig –del xdm
rcxdm stop
# Quota
zypper -n install -l quota
touch /aquota.user /aquota.group
chmod 600 /aquota.
touch /srv/aquota.user /srv/aquota.group
chmod 600 /srv/aquota.
# TODO : changer fstab ici
# Ignorer les erreurs des commandes ci-dessous
mount -o remount /
mount -o remount /srv
mount -o remount /home
quotacheck -avugm
quotaon -avug
# Paquets de base
zypper -n install -l mc
zypper -n install -l GeoIP libGeoIP-devel libGeoIP1
geoip-fetch
zypper -n install -l findutils libreadline6 compat-readline4 readline-devel libgcc45 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
# Nom d’hôte
echo $MY_FULLHOSTNAME > /etc/HOSTNAME
echo 127.0.0.2 $MY_FULLHOSTNAME $MY_HOSTNAME >> /etc/hosts
export HOST=$MY_FULLHOSTNAME
export HOSTNAME=$MY_FULLHOSTNAME
SuSEconfig
# Postfix, Dovecot, MySQL
zypper -n install -l postfix postfix-mysql mysql-community-server mysql-community-server-client mysql-community-server-tools
zypper -n install -l python cron
zypper -n install -l libmysqlclient-devel pwgen
zypper -n install -l dovecot12 dovecot12-backend-mysql
zypper -n install -l bind
chkconfig –add mysql
chkconfig –add postfix
chkconfig –add dovecot
chkconfig –add named
test -d /lib64 && ln -s /usr/lib64/dovecot/modules /usr/lib/dovecot
/etc/init.d/mysql start
/etc/init.d/postfix start
/etc/init.d/dovecot start
/etc/init.d/named start
# getmail
cd /tmp
rpm -i $GETMAIL_RPM
# pam
if [ “$THIS_PLATFORM” == “x86_64” ]; then
zypper -n install -l pam-devel pam-32bit pam-devel-32bit pam-modules-32bit
fi
if [ “$THIS_PLATFORM” == “i586” ]; then
zypper -n install -l pam-devel pam pam-modules
fi
# pam_mysql
cd /tmp
wget -c $PAM_MYSQL_TARGZ
tar xvfz pam_mysql-.tar.gz
rm -rf pam_mysql-.tar.gz
cd pam_mysql-
./configure
make
make install
cd /tmp
rm -rf /tmp/pam_mysql-
test -d /lib64 && cp /lib/security/pam_mysql* /lib64/security
# mysql_secure_installation
mysql_secure_installation
#(echo Y; echo $MYSQLROOTPASS; echo $MYSQLROOTPASS; echo; echo; echo; echo; echo; echo; echo; echo; echo; echo; echo; echo; echo; echo; )
# amavis, spam asassin, etc
zypper -n install -l spamassassin amavisd-new clamav clamav-db zoo unzip bzip2 unarj perl-DBD-mysql
zypper -n install -l unrar
sa-update
# TODO : changer /etc/amavisd.conf
#$mydomain = “$MY_DOMAIN”; # une valeur par défaut pratique pour d’autres paramètres
#$myhostname = “$MY_HOSTNAME”;
sed -i ‘s/ $mydomain = ‘\
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.