Multiserver Setup mit dedizierten Web, E-Mail, DNS & MySQL Datenbank Servern unter Debian Squeeze mit ISPConfig 3

Version 1.0
Author: Till Brehm <t [dot] brehm [at] projektfarm [dot] com>

Dieses Tutorial beschreibt die Installation eines ISPConfig 3 Multiserver Setups mit dedizierten Web, E-Mail, Datenbank und zwei DNS Servern, welche alle durch eine einzelne ISPConfig 3 Kontrolloberfläche verwaltet werden. Das unten beschriebene Setup benutzt fünf Server und kann einfach durch Hinzufügen von weiteren Servern erweitert werden. Wollen Sie beispielsweise zwei Mailserver haben, führen Sie die Schritte aus Kapitel 2 einfach auf beiden Servern durch. Wollen Sie mehrere Webserver haben, dann installieren Sie ISPConfig im expert-Modus auf allen anderen außer dem ersten.

1 Installation der fünf Debian Basissysteme

Dieses Setup wird einen Master Server (auf welchem der Webserver und die ISPConfig Kontrolloberfläche laufen) und vier Slave Server beinhalten, welche für Datenbank, E-Mail und primären und sekundären DNS Server bestimmt sind.

Um das Clustersetup zu installieren, brauchen Sie fünf Server (oder virtuelle Server) mit einer Debian 5.0 Minimalinstallation. Das Basissetup wird in den Schritten 1 – 6 des folgenden Tutorials beschreiben:

https://www.howtoforge.de/anleitung/der-perfekte-server-debian-squeeze-debian-6-0-mit-bind-dovecot-ispconfig-3/

Befolgen Sie nur die Schritte 1 – 6 des Tutorials; alle weiteren Schritte unterscheiden sich von denen eines Clustersetups!

In meinem Beispiel benutze ich die folgenden Hostnamen und IP Adressen für die fünf Server:

Webserver

Hostname: web.example.tld
IP Adresse: 192.168.0.105

Mailserver

Hostname: mail.example.tld
IP Adresse: 192.168.0.106

Datenbankserver

Hostname: db.example.tld
IP Adresse: 192.168.0.107

DNS Server (primär)

Hostname: ns1.example.tld
IP Adresse: 192.168.0.108

DNS Server (sekundär)

Hostname: ns2.example.tld
IP Adresse: 192.168.0.109

An jeder Stelle, an der diese Namen oder IP Adressen im Folgenden auftauchen, müssen Sie sie durch die Hostnamen und Adressen Ihrer Server ersetzen.

2 Installation des Webservers

Editieren Sie die hosts Datei und fügen Sie alle IP Adressen und Hostnamen Ihrer Server hinzu. Diese müssen beide an Ihr Setup angepasst werden.

vi /etc/hosts

127.0.0.1 localhost
192.168.0.105 web.example.tld
192.168.0.106 mail.example.tld
192.168.0.107 db.example.tld
192.168.0.108 ns1.example.tld
192.168.0.109 ns2.example.tld

# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Legen Sie den Hostnamen des Servers fest:

echo web.example.tld > /etc/hostname
/etc/init.d/hostname.sh start

Benutzen Sie…

apt-get update

… um die apt Paketdatenbank zu aktualisieren; und dann…

apt-get upgrade

… um die neusten Programmupdates zu installieren (falls es welche gibt).

Es ist immer gut die Systemzeit über das Internet mit einem NTP (network time protocol) Server zu synchronisieren. Benutzen Sie einfach…

apt-get -y install ntp ntpdate

… und Ihre Systemuhrzeit wird immer automatisch synchronisiert werden.

Installieren Sie den MySQL Server. Ein Exemplar eines MySQL Servers ist auf jedem Server notwendig, da ISPConfig diese benutzt um die Konfiguration zwischen den Servern zu synchronisieren.

apt-get -y install mysql-client mysql-server

Enter the new password for MySQL when requested by the installer.

Geben Sie das neue Passwort für MySQL ein, sobald Sie der Installer dazu auffordert.

MySQL soll alle Netzwerkschnittstellen des Master Servers benutzen, nicht nur localhost, deshalb editieren Sie die /etc/mysql/my.cnf Datei und kommentieren die Zeile bind-address = 127.0.0.1 aus:

vi /etc/mysql/my.cnf

[...]
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address = 127.0.0.1
[...]

Starten Sie MySQL dann neu:

/etc/init.d/mysql restart

Installieren Sie als nächstes Apache2, PHP5, phpMyAdmin, FCGI, suExec, Pear und mcrypt:

apt-get -y install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-gd php5-mysql php5-imap phpmyadmin php5-cli php5-cgi libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-mcrypt mcrypt php5-imagick imagemagick libapache2-mod-suphp libopenssl-ruby libapache2-mod-ruby sudo zip wget

Antworten Sie folgendermaßen auf die folgende Frage:

Web server to reconfigure automatically: <– apache2

Benutzen Sie folgenden Befehl um die Apache Module suexecrewritesslactions und include zu aktivieren:

a2enmod suexec rewrite ssl actions include ruby dav_fs dav auth_digest

PureFTPd und Quota können wie folgt installiert werden:

apt-get -y install pure-ftpd-common pure-ftpd-mysql quota quotatool

Editieren Sie /etc/default/pure-ftpd-common

vi /etc/default/pure-ftpd-common

… und stellen Sie sicher, dass VIRTUALCHROOT=true gesetzt ist:

[...]
VIRTUALCHROOT=true
[...]

Das könnte dich auch interessieren …