Server Setup · 5 min read · Jan 14, 2026

Skript zur automatischen Einrichtung eines perfekten Servers auf OpenSUSE 11.4 und Installation von ISPConfig 3

Skript zur automatischen Einrichtung eines perfekten Servers auf OpenSUSE 11.4 und Installation von ISPConfig 3

Autor: George Yohng (georgesc#oss3d.com)
Skriptversion: 2.2
Zuletzt aktualisiert: 26. Oktober 2011

Hier ist ein kleines Skript, das die Aufgabe der Einrichtung eines perfekten Servers - OpenSUSE 11.4 x86_64 [ISPConfig 3] automatisiert, und am Ende installiert es auch ISPConfig 3.

Bitte beachten: Führen Sie dieses Skript nicht auf einem bereits funktionierenden Server aus, da dieses Skript Konfigurationsdateien überschreiben und das laufende System beschädigen kann. Es ist nur für eine frische Installation von OpenSUSE 11.4 gedacht.

Wenn Sie auf OpenSUSE 11.2 oder OpenSUSE 11.3 installieren, verwenden Sie bitte eine andere Version dieses Skripts (auch verfügbar auf www.howtoforge.com).

Es fehlen einige Dinge im Tutorial, wie ich es gefunden habe. Ich habe ein Skript erstellt, das auf dem Tutorial basiert, das ein System vorbereitet und mehrere Schritte enthält, die, wenn sie nicht durchgeführt werden, das System in gewisser Weise unvollständig lassen.

Bemerkenswerte Ergänzungen:

  • fail2ban-Konfiguration
  • SuSEfirewall2 aktiviert
  • Änderung der Pure-ftpd-Konfiguration (Umbenennungen erlauben, passive Ports und Berechtigungen ändern)
  • Postfix-Zertifikatserstellung
  • Apache-SSL-Zertifikatserstellung und Umstellung von ISPConfig auf HTTPS
  • Behebung der NameVirtualHost-Apache-Konfiguration mit OpenSUSE (wichtig, damit Apache mehrere Domains von ISPConfig erkennt)
  • Einrichtung von rdiff-backup mit cron
  • Korrigierte dovecot-Konfiguration zur Aktivierung von SSL und Unterstützung der Courier-Kompatibilität
  • Korrigierte pam_mysql für 64-Bit-Systeme
  • Korrigierte amavis zur Auffindung des clamd-Sockets
  • Installiertes eAccelerator
  • Korrigierter benutzerdefinierter Fehlerpfad für Apache
  • Installation und Konfiguration von awstats
  • Konfiguration von Apache und awstats zur Verwendung von mod_logio für eine korrekte Bandbreitenmessung
  • und mehr…

Das Skript ist unvollkommen, da es zweimal manuelle Eingaben erfordert - wenn mysql_secure_install ausgeführt wird und wenn ispconfig_update_svn ausgeführt wird. (Ich verwende svn, weil die neueste SVN-Version von ISPConfig viel schöner aussieht, aber man kann auch stabil eingeben - auf Produktionssystemen sollten Sie stabil verwenden!)

Führen Sie

zypper update

und

reboot

vor dem Ausführen dieses Skripts aus.

Ändern Sie auch besser den Hostnamen (Datei HOSTNAME) manuell mit yast2, bevor Sie dieses Skript ausführen, damit OpenSUSE einen ordentlichen Namen in die Postfix-Konfiguration einfügt.

Dieses Skript erfordert zwei manuelle Aktionen:

Erstens - wenn mysql_secure_install ausgeführt wird.
Zweitens - für das ISPConfig3-Update, wenn das SVN-Update gewählt wird, muss man möglicherweise ‘y’ eingeben, um SSL zu aktivieren, während man für alle anderen Optionen einen Standardwert wählen kann, indem man einfach ENTER drückt.

Sie sollten die folgenden Variablen im Skript ändern, bevor Sie es ausführen:

THIS_PLATFORM: Entweder x86_64 oder i586.

MYSQLROOTPASS: Bitte ändern Sie MYSQLROOTPASS und stellen Sie sicher, dass Sie es während der Installation von mysql_secure_install wörtlich eingeben.

MY_HOSTNAME, MY_DOMAIN: Ändern Sie dies in Ihren Servernamen. Standardmäßig ist es auf server1.mydomain.com konfiguriert. Wenn Ihre Website eine vollständige Domain hostet, wie z.B. domain.com, lassen Sie dennoch etwas für MY_HOSTNAME. server1 oder host ist ein guter Name.

ISPCONFIG_TAR_GZ: Stellen Sie sicher, dass ISPCONFIG_TAR_GZ die neueste verfügbare ISPConfig 3-Version enthält. Beachten Sie, dass die automatische Beantwortung aller Fragen so eingerichtet ist, dass sie mit ISPConfig 3.0.3.3 funktioniert, und Sie müssen möglicherweise diesen Teil des Skripts ändern, wenn ISPConfig eine spätere Version hat.

Speichern Sie das Skript auf Ihrem Server (z.B. /root/opensuse_ispconfig3.sh):

vi /root/opensuse_ispconfig3.sh

| ``` #!/bin/sh

# OpenSUSE 11.4 Perfect Server ISPConfig script by George Yohng (georgesc#oss3d.com)
# Skriptversion 2.2

# Führen Sie zypper update und reboot aus, bevor Sie dieses Skript ausführen

# Ändern Sie auch besser den Hostnamen manuell mit yast2, bevor Sie dieses Skript ausführen.

# Dieses Skript erfordert zwei manuelle Aktionen.

# Erstens - wenn mysql_secure_install ausgeführt wird. Man sollte ein neues mysql-Passwort eingeben, das hier dasselbe ist
# Zweitens - für das ISPConfig3-Update. Man sollte ‘svn’ eingeben, wenn nach dem Aktualisierungstyp gefragt wird
# Für beide Skripte sind alle anderen Optionen Standard, man kann einfach ENTER drücken.


# Bitte ändern Sie MYSQLROOTPASS unten und stellen Sie sicher, dass Sie es wörtlich eingeben
# während der Installation von mysql_secure_install.

# Wichtig: Wenn Sie einen MX-Eintrag setzen, verweisen Sie auf mail.yourdomain.com anstelle von
# nur yourdomain.com und erstellen Sie einen CNAME-Eintrag für mail. Andernfalls scheint es nicht
# irgendwie zu funktionieren.

# Plattform ist x86_64 oder i586

THIS_PLATFORM=x86_64

MYSQLROOTPASS=87h4eq2jr2

# Ändern Sie dies in Ihren Servernamen. Standardmäßig ist es auf server1.mydomain.com konfiguriert

# Wenn Ihre Website eine vollständige Domain hostet, wie z.B. domain.com, lassen Sie dennoch
# etwas für MY_HOSTNAME. ‘server1’ oder ‘host’ ist ein guter Name.

MY_HOSTNAME=server1
MY_DOMAIN=mydomain.com

# Kommentieren Sie aus, um die SVN-Version von ISPConfig zu verwenden und das Update auszuführen, sobald die Installation abgeschlossen ist
#ISPCONFIG_SVN=yes

# Pakete wurden möglicherweise aktualisiert, überprüfen Sie daher auch die RPM- und TARGZ-Standorte unten,
# und verwenden Sie vorzugsweise die neuesten Versionen von allem.

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

# Deaktivieren Sie AppArmor
/etc/init.d/boot.apparmor stop
chkconfig -d boot.apparmor

# Installieren Sie SuSEfirewall
zypper -n install -l SuSEfirewall2 iptables

# Erlauben Sie Ports durch die Firewall
SuSEfirewall2 open EXT TCP 22
SuSEfirewall2 open EXT TCP 21 80 8080 25 143 465 585 993 30000:30500
SuSEfirewall2

# Schalten Sie X-Login aus (überprüfen!)
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: Ändern Sie fstab hier
# Ignorieren Sie Fehler von den untenstehenden Befehlen

mount -o remount /
mount -o remount /srv
mount -o remount /home

quotacheck -avugm
quotaon -avug

# Grundpakete
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

# Hostname
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: Ändern Sie /etc/amavisd.conf

#$mydomain = “$MY_DOMAIN”; # ein praktischer Standard für andere Einstellungen
#$myhostname = “$MY_HOSTNAME”;

sed -i ‘s/\$mydomain = ‘\

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.