GNU/Linux >> LINUX-Kenntnisse >  >> Panels >> Panels

Der perfekte Server – Ubuntu 14.10 mit Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot und ISPConfig

Der perfekte Server – Ubuntu 14.10 mit Apache, PHP, MySQL, PureFTPD, BIND , Postfix, Dovecot und ISPConfig

Dieses Tutorial zeigt, wie man einen Ubuntu 14.10 (Utopic Unicorn) Server (mit Apache2, BIND, Dovecot) für die Installation von ISPConfig 3 installiert und wie man ISPConfig 3 installiert. ISPConfig 3 ist ein Webhosting Control Panel, mit dem Sie Folgendes konfigurieren können Dienste über einen Webbrowser:Apache- oder Nginx-Webserver, Postfix-Mailserver, Courier- oder Dovecot-IMAP/POP3-Server, MySQL-, BIND- oder MyDNS-Nameserver, PureFTPd, SpamAssassin, ClamAV und viele mehr. Dieses Setup umfasst die Installation von Apache (anstelle von nginx), BIND (anstelle von MyDNS) und Dovecot (anstelle von Courier).

ISPConfig 3 Handbuch

Um zu lernen, wie man ISPConfig 3 verwendet, empfehle ich dringend, das ISPConfig 3-Handbuch herunterzuladen.

Auf mehr als 300 Seiten behandelt es das Konzept hinter ISPConfig (Admin, Wiederverkäufer, Kunden), erklärt, wie ISPConfig 3 installiert und aktualisiert wird, enthält eine Referenz für alle Formulare und Formularfelder in ISPConfig zusammen mit Beispielen für gültige Eingaben und bietet Tutorials für die häufigsten Aufgaben in ISPConfig 3. Es beschreibt auch, wie Sie Ihren Server sicherer machen können, und enthält am Ende einen Abschnitt zur Fehlerbehebung.

1. Vorbemerkung

In diesem Tutorial verwende ich den Hostnamen server1.example.com mit der IP-Adresse 192.168.0.100 und dem Gateway 192.168.0.1 . Diese Einstellungen können für Sie unterschiedlich sein, daher müssen Sie sie gegebenenfalls ersetzen. Bevor Sie fortfahren, benötigen Sie eine grundlegende Minimalinstallation von Ubuntu 14.10, wie im Tutorial erklärt.

2. Bearbeiten Sie /etc/apt/sources.list und aktualisieren Sie Ihre Linux-Installation

Bearbeiten Sie /etc/apt/sources.list. Kommentieren Sie die Installations-CD aus oder entfernen Sie sie aus der Datei und stellen Sie sicher, dass die Universe- und Multiverse-Repositories aktiviert sind. Es sollte so aussehen:

nano /etc/apt/sources.list
# # deb cdrom:[Ubuntu-Server 14.10 _Utopic Unicorn_ - Release amd64 (20141022.2)]/ utopic main limited#deb cdrom:[Ubuntu-Server 14.10 _Utopic Unicorn_ - Release amd64 (20141022.2)]/ utopic main limited# Siehe http://help.ubuntu.com/community/UpgradeHinweise zum Upgrade auf # neuere Versionen der Distribution.deb http://de.archive.ubuntu.com/ubuntu/ utopic main limiteddeb-src http://de .archive.ubuntu.com/ubuntu/ utopic main limited## Wichtige Bugfix-Updates, die nach der endgültigen Veröffentlichung der ##-Distribution.deb erstellt wurden http://de.archive.ubuntu.com/ubuntu/ utopic-updates main limiteddeb- src http://de.archive.ubuntu.com/ubuntu/ utopic-updates main limited## N.B. Software aus diesem Repository wird vom Ubuntu##-Team VÖLLIG NICHT UNTERSTÜTZT. Bitte beachten Sie auch, dass die Software im Universum KEINE## Überprüfungen oder Aktualisierungen vom Ubuntu-Sicherheitsteam.deb http://de.archive.ubuntu.com/ubuntu/ utopic universedeb-src http://de.archive erhält. ubuntu.com/ubuntu/ utopic universedeb http://de.archive.ubuntu.com/ubuntu/ utopic-updates universedeb-src http://de.archive.ubuntu.com/ubuntu/ utopic-updates universe## N.B. Software aus diesem Repository wird vom Ubuntu ##-Team VOLLSTÄNDIG NICHT UNTERSTÜTZT und steht möglicherweise nicht unter einer freien Lizenz. Bitte überzeugen Sie sich ## von Ihren Rechten zur Nutzung der Software. Bitte beachten Sie auch, dass Software in ## multiverse KEINE Überprüfung oder Updates vom Ubuntu## Sicherheitsteam.deb http://de.archive.ubuntu.com/ubuntu/ utopic multiversedeb-src http://de erhält. archive.ubuntu.com/ubuntu/ utopic multiversedeb http://de.archive.ubuntu.com/ubuntu/ utopic-updates multiversedeb-src http://de.archive.ubuntu.com/ubuntu/ utopic-updates multiverse## Hinweis:Software aus diesem Repository wurde möglicherweise nicht so## ausführlich getestet wie die in der Hauptversion enthaltene, obwohl sie## neuere Versionen einiger Anwendungen enthält, die möglicherweise nützliche Funktionen bieten.## Bitte beachten Sie auch, dass Software in Backports NICHT empfangen wird alle Überprüfungen## oder Updates vom Ubuntu-Sicherheitsteam.deb http://de.archive.ubuntu.com/ubuntu/ utopic-backports Main Restricted Universe multiversedeb-src http://de.archive.ubuntu.com/ubuntu/ utopic-backports Haupteinschränkungsuniversum multiversedeb http://security.ubuntu.com/ubuntu utopic-security Haupteinschränkungsdeb-src http://security.ubuntu.com/ubuntu utopic-security Haupteinschränkungsdeb http://security.ubuntu.com /ubuntu utopic-security universedeb-src http://security.ubuntu.com/ubuntu utopic-security universedeb http://security.ubuntu.com/ubuntu utopic-security multiversedeb-src http://security.ubuntu.com/ ubuntu utopic-security multiverse## Entkommentieren Sie die folgenden zwei Zeilen, um Software von Canonicals## „Partner“-Vertreter hinzuzufügen ository.## Diese Software ist nicht Teil von Ubuntu, sondern wird Ubuntu-Benutzern von Canonical und den## jeweiligen Anbietern als Service angeboten.# deb http://archive.canonical.com/ubuntu utopic partner# deb-src http ://archive.canonical.com/ubuntu utopic partner## Entkommentieren Sie die folgenden zwei Zeilen, um Software aus Ubuntus## „Extras“-Repository hinzuzufügen.## Diese Software ist nicht Teil von Ubuntu, sondern wird von Drittanbietern angeboten## Entwickler, die ihre neueste Software ausliefern möchten.# deb http://extras.ubuntu.com/ubuntu utopic main# deb-src http://extras.ubuntu.com/ubuntu utopic main

Dann ausführen

apt-get-Update

um die apt-Paketdatenbank zu aktualisieren und

apt-get-Upgrade

um die neuesten Updates zu installieren (falls vorhanden). Wenn Sie sehen, dass im Rahmen der Updates ein neuer Kernel installiert wird, sollten Sie das System danach neu starten:

Neustart

3. Ändern Sie die Standard-Shell

/bin/sh ist ein symbolischer Link zu /bin/dash, wir brauchen jedoch /bin/bash, nicht /bin/dash. Deshalb machen wir das:

dpkg-reconfigure dash

Dash als Standardsystem-Shell verwenden (/bin/sh)? <-- Nein

Andernfalls schlägt die Installation von ISPConfig fehl.

4. AppArmor deaktivieren

AppArmor ist eine Sicherheitserweiterung (ähnlich wie SELinux), die erweiterte Sicherheit bieten soll. Meiner Meinung nach brauchen Sie es nicht, um ein sicheres System zu konfigurieren, und es verursacht normalerweise mehr Probleme als Vorteile (denken Sie daran, nachdem Sie eine Woche lang Fehler behoben haben, weil ein Dienst nicht wie erwartet funktioniert hat, und dann Sie feststellen, dass alles in Ordnung war, nur AppArmor verursachte das Problem). Daher deaktiviere ich es (dies ist ein Muss, wenn Sie später ISPConfig installieren möchten).

Wir können es wie folgt deaktivieren:

service apparmor stop 
update-rc.d -f apparmor remove
apt-get remove apparmor apparmor-utils

5. Synchronisieren Sie die Systemuhr

Es ist eine gute Idee, die Systemuhr mit einem NTP (n Netzwerk t ich bin p rotocol)-Server über das Internet. Einfach ausführen

apt-get install ntp ntpdate

und Ihre Systemzeit wird immer synchron sein.

6. Installieren Sie Postfix, Dovecot, MySQL, phpMyAdmin, rkhunter, binutils

Für die Installation von Postfix müssen wir sendmail beenden und entfernen 

Dienst sendmail stoppen; update-rc.d -f sendmail entfernen

Jetzt können wir Postfix, Dovecot, MySQL, rkhunter und binutils mit einem einzigen Befehl installieren:

apt-get install postfix postfix-mysql postfix-doc mariadb-client mariadb-server openssl getmail4 rkhunter binutils dovecot-imapd dovecot-pop3d dovecot-mysql dovecot-sieve sudo

Ihnen werden die folgenden Fragen gestellt:

Neues Passwort für den MySQL-„root“-Benutzer:<-- yourrootsqlpassword
Passwort für den MySQL-„root“-Benutzer wiederholen:<-- yourrootsqlpassword
Selbstsigniertes SSL-Zertifikat erstellen?:<-- Ja
Hostname:<-- server1.example.com
Nur lokal:<-- OK
Allgemeine Art der E-Mail-Konfiguration:<-- Internet-Site
System-E-Mail-Name:<- - server1.beispiel.com

Öffnen Sie als nächstes die TLS/SSL- und Übermittlungsports in Postfix:

nano /etc/postfix/master.cf

Kommentieren Sie die Abschnitte "submission" und "smtps" wie folgt aus - fügen Sie die Zeile -o smtpd_client_restrictions=permit_sasl_authenticated,reject zu beiden Abschnitten hinzu und lassen Sie alles danach auskommentiert:

[...]submission inet n - - - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject # -o smtpd_reject_unlisted_recipient=no# -o smtpd_client_restrictions=$mua_client_restrictions# -o smtpd_helo_restrictions=$mua_helo_restrictions# -o smtpd_sender_restrictions=$mua_sender_restrictions# -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject# -o milter_macro_daemon_name=ORIGINATINGsmtps inet n - - - - smtpd -o syslog_name=postfix/smtps -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject # -o smtpd_reject_unlisted_recipient=no# -o smtpd_client_restrictions=$mua_client_restrictions# -o smtpd_helo_restrictions=$mua_helo_restrictions# -o smtpd_sender_restrictions=$mua_sender_restrictions# -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject# -o milter_macro_daemon_name=ORIGINATING[...]

Danach Postfix neu starten:

Service-Postfix-Neustart

Wir möchten, dass MySQL auf allen Schnittstellen lauscht, nicht nur auf localhost, deshalb bearbeiten wir /etc/mysql/my.cnf und kommentieren die Zeile bind-address =127.0.0.1:

aus
nano /etc/mysql/my.cnf
[...]# Anstatt das Netzwerk zu überspringen, wird jetzt standardmäßig nur auf # localhost gelauscht, was kompatibler und nicht weniger sicher ist.# Bindungsadresse =127.0.0.1[...]

Dann starten wir MySQL neu:

Service-Mysql-Neustart

Überprüfen Sie nun, ob das Netzwerk aktiviert ist. Ausführen

netstat -tap | grep mysql

Die Ausgabe sollte so aussehen:

[email protected]:~# netstat -tap | grep mysql
tcp        0      0 *:mysql                 *:*                     LISTEN      24603/mysqld    
[email protected]:~# 

7. Installieren Sie Amavisd-new, SpamAssassin und Clamav

Um amavisd-new, SpamAssassin und ClamAV zu installieren, führen wir

aus
apt-get install amavisd-new spamassassin clamav clamav-daemon zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon libio-string-perl libio-socket-ssl- perl libnet-ident-perl zip libnet-dns-perl

Das ISPConfig 3-Setup verwendet amavisd, das die SpamAssassin-Filterbibliothek intern lädt, sodass wir SpamAssassin stoppen können, um etwas RAM freizugeben:

service spamassassin stop 
update-rc.d -f spamassassin remove

Verwenden Sie zum Ausführen von clamav

freshclam
service clamav-daemon start

Der perfekte Server – Ubuntu 14.10 mit Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot und ISPConfig – Seite 2

8. Installieren Sie Apache2, PHP5, phpMyAdmin, FCGI, suExec, Pear und mcrypt

Apache2, PHP5, phpMyAdmin, FCGI, suExec, Pear und mcrypt können wie folgt installiert werden:

apt-get install apache2 apache2-doc apache2-utils 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 libruby libapache2-mod-python php5-curl php5-intl php5-memcache php5-memcached php5-ming php5-ps php5-pspell php5-recode php5-sqlite php5 -tidy php5-xmlrpc php5-xsl memcached

Sie sehen die folgende Frage:

Webserver zur automatischen Neukonfiguration:<-- apache2
Datenbank für phpmyadmin mit dbconfig-common konfigurieren? <-- Nein

Führen Sie dann den folgenden Befehl aus, um die Apache-Module suexec, rewrite, ssl, actions und include (plus dav, dav_fs und auth_digest, wenn Sie WebDAV verwenden möchten) zu aktivieren:

a2enmod suexec rewrite SSL-Aktionen beinhalten cgi
a2enmod dav_fs dav auth_digest

Als nächstes öffnen Sie /etc/apache2/mods-available/suphp.conf...

nano /etc/apache2/mods-available/suphp.conf

... und kommentieren Sie den Abschnitt aus und fügen Sie die Zeile AddType application/x-httpd-suphp .php .php3 .php4 .php5 .phtml hinzu - ansonsten alle PHP-Dateien wird von SuPHP betrieben:

 #  # SetHandler application/x-httpd-suphp #  suPHP_AddHandler application/x-httpd-suphp  suPHP_Engine auf  # Deaktivieren Sie standardmäßig suPHP für debian-verpackte Webanwendungen, da Dateien # im Besitz von root sind und wegen min_uid nicht von suPHP ausgeführt werden können.  suPHP_Engine off # # Benutze eine spezifische PHP-Konfigurationsdatei (ein Verzeichnis, das eine php.ini-Datei enthält)# suPHP_ConfigPath /etc/php5/cgi/suphp/# ​​# Weist mod_suphp an, NICHT damit umzugehen Anfragen mit dem Typ .# suPHP_RemoveHandler 

Danach Apache neu starten:

service apache2 neu starten

Wenn Sie Ruby-Dateien mit der Erweiterung .rb auf Ihren mit ISPConfig erstellten Websites hosten möchten, müssen Sie die Zeile application/x-ruby rb in /etc/mime.types auskommentieren:

nano /etc/mime.types
[...]# application/x-ruby rb[...]

(Dies wird nur für .rb-Dateien benötigt; Ruby-Dateien mit der Erweiterung .rbx funktionieren sofort.)

Danach Apache neu starten:

service apache2 neu starten

8.1 Xcache

Xcache ist ein kostenloser und offener PHP-Opcode-Cacher zum Zwischenspeichern und Optimieren von PHP-Zwischencode. Es ähnelt anderen PHP-Opcode-Cachern wie eAccelerator und APC. Es wird dringend empfohlen, eines davon zu installieren, um Ihre PHP-Seite zu beschleunigen.

Xcache kann wie folgt installiert werden:

apt-get install php5-xcache

Starten Sie nun Apache neu:

service apache2 neu starten

8.2 PHP-FPM

Beginnend mit ISPConfig 3.0.5 gibt es einen zusätzlichen PHP-Modus, den Sie für die Verwendung mit Apache auswählen können:PHP-FPM.

Um PHP-FPM mit Apache zu verwenden, benötigen wir das Apache-Modul mod_fastcgi (bitte nicht mit mod_fcgid verwechseln - sie sind sehr ähnlich, aber Sie können PHP-FPM nicht mit mod_fcgid verwenden). Wir können PHP-FPM und mod_fastcgi wie folgt installieren:

apt-get install libapache2-mod-fastcgi php5-fpm

Stellen Sie sicher, dass Sie das Modul aktivieren und Apache neu starten:

a2enmod-Aktionen fastcgi alias 
service apache2 restart

8.3 Zusätzliche PHP-Versionen

Ab ISPConfig 3.0.5 ist es möglich, mehrere PHP-Versionen auf einem Server zu haben (wählbar über ISPConfig), die über FastCGI und PHP-FPM ausgeführt werden können. Um zu erfahren, wie Sie zusätzliche PHP-Versionen (PHP-FPM und FastCGI) erstellen und wie Sie ISPConfig konfigurieren, lesen Sie bitte dieses Tutorial:How To Use Multiple PHP Versions (PHP-FPM &FastCGI) With ISPConfig 3 (Ubuntu 12.10) (funktioniert für Ubuntu 14.10 auch).

9. Installieren Sie Mailman

Seit Version 3.0.4 ermöglicht Ihnen ISPConfig auch das Verwalten (Erstellen/Ändern/Löschen) von Mailman-Mailinglisten. Wenn Sie diese Funktion nutzen möchten, installieren Sie Mailman wie folgt:

apt-get install mailman

Wählen Sie mindestens eine Sprache aus, z. B.:

Unterstützte Sprachen:<-- de (Englisch)
Fehlende Seitenliste <-- Ok

Bevor wir Mailman starten können, muss eine erste Mailingliste namens mailman erstellt werden:

Newlist-Mailman

[email protected]:~# newlist mailman
Geben Sie die E-Mail-Adresse der Person ein, die die Liste führt: <-- Admin-E-Mail-Adresse, z. B. [email protected]
Anfängliches Mailman-Passwort: <-- Admin-Passwort für die Mailman-Liste
Um die Erstellung Ihrer Mailingliste abzuschließen, müssen Sie Ihre /etc/aliases (oder
äquivalente) Datei bearbeiten durch Hinzufügen der folgenden Zeilen und möglicherweise Ausführen des
`newaliases'-Programms:

## mailman mailing list
mailman:              "|/var/lib/mailman/mail/mailman post mailman"
mailman-admin:        "|/var/lib/mailman/mail/mailman admin mailman"
mailman-bounces:      "|/var/lib/mailman/mail/mailman bounces mailman"
mailman-confirm:      "|/var/lib/mailman/mail/mailman confirm mailman"
mailman-join:         "|/var/lib/mailman/mail/mailman join mailman"
mailman -leave:        "|/var/lib/mailman/mail/mailman leave mailman"
mailman-owner:        "|/var/lib/mailman/mail/mailman owner mailman"
mailman-request:      " |/var/lib/mailman/mail/mailman request mailman"
mailman-subscribe:    "|/var/lib/mailman/mail/mailman subscribe mailma n"
mailman-unsubscribe:  "|/var/lib/mailman/mail/mailman unsubscribe mailman"

Drücken Sie die Eingabetaste, um den Mailman-Besitzer zu benachrichtigen... <-- ENTER

[email protected]:~#

Danach /etc/aliases öffnen...

nano /etc/aliases

... und fügen Sie die folgenden Zeilen hinzu:

[...]## mailman Mailinglistemailman:"|/var/lib/mailman/mail/mailman post mailman"mailman-admin:"|/var/lib/mailman/mail/mailman admin mailman "mailman-bounces:"|/var/lib/mailman/mail/mailman prallt mailman ab"mailman-confirm:"|/var/lib/mailman/mail/mailman bestätigen mailman"mailman-join:"|/var/lib/ mailman/mail/mailman tritt mailman bei"mailman-leave:"|/var/lib/mailman/mail/mailman verlässt mailman"mailman-owner:"|/var/lib/mailman/mail/mailman Eigentümer mailman"mailman-request:"|/var/lib/mailman/mail/mailman mailman anfordern"mailman-subscribe:"|/var/lib/mailman/mail/mailman mailman abonnieren"mailman-unsubscribe:"|/var/lib/mailman/mail/mailman Mailman abbestellen" 

Ausführen

newaliases

anschließend Postfix neu starten:

Service-Postfix-Neustart

Schließlich müssen wir die Mailman-Apache-Konfiguration aktivieren:

ln -s /etc/mailman/apache.conf /etc/apache2/conf-available/mailman.conf

Dies definiert den Alias ​​/cgi-bin/mailman/ für alle Apache vhosts, was bedeutet, dass Sie auf die Mailman-Admin-Oberfläche für eine Liste unter http:///cgi-bin/mailman/admin/ zugreifen können, und die Webseite für Benutzer einer Mailingliste finden Sie unter http:///cgi-bin/mailman/listinfo/.

Unter http:///pipermail finden Sie das Archiv der Mailingliste.

Danach Apache neu starten:

service apache2 neu starten

Starten Sie dann den Mailman-Daemon:

Service Mailman starten

10. Installieren Sie PureFTPd und Quota

PureFTPd und Quota können mit dem folgenden Befehl installiert werden:

apt-get install pure-ftpd-common pure-ftpd-mysql Kontingent Kontingenttool

Bearbeiten Sie die Datei /etc/default/pure-ftpd-common...

nano /etc/default/pure-ftpd-common

... und stellen Sie sicher, dass der Startmodus auf Standalone eingestellt ist und setzen Sie VIRTUALCHROOT=true:

[...]STANDALONE_OR_INETD=eigenständig [...]VIRTUALCHROOT=true [...]

Jetzt konfigurieren wir PureFTPd so, dass FTP- und TLS-Sitzungen zugelassen werden. FTP ist ein sehr unsicheres Protokoll, da alle Passwörter und alle Daten im Klartext übertragen werden. Durch die Verwendung von TLS kann die gesamte Kommunikation verschlüsselt werden, wodurch FTP viel sicherer wird.

Wenn Sie FTP- und TLS-Sitzungen zulassen möchten, führen Sie

aus
echo 1> /etc/pure-ftpd/conf/TLS

Um TLS verwenden zu können, müssen wir ein SSL-Zertifikat erstellen. Ich erstelle es in /etc/ssl/private/, also erstelle ich zuerst dieses Verzeichnis:

mkdir -p /etc/ssl/private/

Anschließend können wir das SSL-Zertifikat wie folgt generieren:

openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem

Ländername (2-Buchstaben-Code) [AU]:<-- Geben Sie Ihren Ländernamen ein (z. B. "DE").
Name des Bundesstaates oder der Provinz (vollständiger Name) [Some-State]:<-- Geben Sie den Namen Ihres Bundesstaates oder der Provinz ein.
Ortsname (z. B. Stadt) []:<-- Geben Sie Ihre Stadt ein.
Name der Organisation (z. B. Firma) [Internet Widgits Pty Ltd]:<-- Geben Sie den Namen Ihrer Organisation ein (z. B. den Namen Ihrer Firma).
Name der Organisationseinheit (z. B. Abschnitt) []:<-- Geben Sie den Namen Ihrer Organisationseinheit ein (z. B. "IT-Abteilung").
Allgemeiner Name (z. B. IHR Name) []:<-- Geben Sie den vollständig qualifizierten Domänennamen des Systems ein (z. B. "server1.example.com").
E-Mail-Adresse []:<-- Geben Sie Ihre E-Mail-Adresse ein.

Ändern Sie die Berechtigungen des SSL-Zertifikats:

chmod 600 /etc/ssl/private/pure-ftpd.pem

Starten Sie dann PureFTPd neu:

Dienst pure-ftpd-mysql neu starten
[email protected]:~# service pure-ftpd-mysql restart
Neustart des FTP-Servers:Ausführen:/usr/sbin/pure-ftpd-mysql-virtualchroot -l mysql:/etc/pure-ftpd /db/mysql.conf -l pam -8 UTF-8 -u 1000 -E -O clf:/var/log/pure-ftpd/transfer.log -Y 1 -B
[email protected]:~#

Bearbeiten Sie /etc/fstab. Meine sieht so aus (ich habe ,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 zur Partition mit dem Einhängepunkt / hinzugefügt):

nano /etc/fstab
# /etc/fstab:Statische Dateisysteminformationen.## Verwenden Sie 'blkid', um die universell eindeutige Kennung für ein# Gerät auszugeben; Dies kann mit UUID=als robusterer Weg zum Benennen von Geräten# verwendet werden, der auch dann funktioniert, wenn Festplatten hinzugefügt und entfernt werden. Siehe fstab(5).##     
 /dev/mapper/server1--vg-root / ext4 errors=remount-ro,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 0 1# /boot war während der Installation auf /dev/sda1UUID=9b8299f1-b2a2-4231-9ba1-4540fad76b0f /boot ext2 defaults 0 2/dev/mapper/server1--vg-swap_1 none swap sw 0 0

Führen Sie die folgenden Befehle aus, um Kontingente zu aktivieren:

mount -o remount /
quotacheck -avugm 
quotaon -avug

11. Installieren Sie den BIND-DNS-Server

BIND kann wie folgt installiert werden:

apt-get install bind9 dnsutils

12. Installieren Sie Vlogger, Webalizer und AWstats

Vlogger, Webalizer und AWstats können wie folgt installiert werden:

apt-get install vlogger webalizer awstats geoip-database libclass-dbi-mysql-perl

Danach /etc/cron.d/awstats öffnen...

nano /etc/cron.d/awstats

... und alles in dieser Datei auskommentieren:

# MAILTO=root# */10 * * * * www-data [ -x /usr/share/awstats/tools/update.sh ] &&/usr/share/awstats/tools/update.sh# Statische Berichte generieren:# 10 03 * * * www-data [ -x /usr/share/awstats/tools/buildstatic.sh ] &&/usr/share/awstats/tools/buildstatic.sh

13. Jailkit installieren

Jailkit wird nur benötigt, wenn Sie SSH-Benutzer chrooten möchten. Es kann wie folgt installiert werden (Wichtig:Jailkit muss vor ISPConfig installiert werden - es kann nicht nachträglich installiert werden!):

apt-get install build-essential autoconf automake1.9 libtool flex bison debhelper binutils-gold
cd /tmp 
wget http://olivier.sessink.nl/jailkit/jailkit-2.17.tar.gz
tar xvfz jailkit-2.17.tar.gz
cd jailkit- 2.17
./debian/rules binär

Sie können nun das Jailkit .deb-Paket wie folgt installieren:

cd .. 
dpkg -i jailkit_2.17-1_*.deb
rm -rf jailkit-2.17*

14. Fail2ban installieren

Dies ist optional, wird aber empfohlen, da der ISPConfig-Monitor versucht, das Protokoll anzuzeigen:

apt-get install fail2ban

Damit fail2ban PureFTPd und Dovecot überwacht, erstellen Sie die Datei /etc/fail2ban/jail.local:

nano /etc/fail2ban/jail.local
[pureftpd]enabled =trueport =ftpfilter =pureftpdlogpath =/var/log/syslogmaxretry =3[dovecot-pop3imap]enabled =truefilter =dovecot-pop3imapaction =iptables-multiport[name=dovecot-pop3imap, port="pop3, pop3s,imap,imaps", protocol=tcp]logpath =/var/log/mail.logmaxretry =5[postfix-sasl]enabled =trueport =smtpfilter =postfix-sasllogpath =/var/log/mail.logmaxretry =3 

Erstellen Sie dann die folgenden zwei Filterdateien:

nano /etc/fail2ban/filter.d/pureftpd.conf
[Definition]failregex =.*pure-ftpd:\(.*@\) \[WARNUNG\] Authentifizierung für user.*ignoreregex =
fehlgeschlagen
nano /etc/fail2ban/filter.d/dovecot-pop3imap.conf
[Definition]failregex =(?:pop3-login|imap-login):.*(?:Authentifizierungsfehler|Anmeldung abgebrochen \(Authentifizierung fehlgeschlagen|Anmeldung abgebrochen \(versucht, deaktiviert zu verwenden|Getrennt \(Authentifizierung fehlgeschlagen| Abgebrochene Anmeldung \(\d+ Authentifizierungsversuche).*rip=(?P\S*),.*ignoreregex =

Fügen Sie die fehlende Ignoreregex-Zeile in der postfix-sasl-Datei hinzu:

echo "ignoreregex =">> /etc/fail2ban/filter.d/postfix-sasl.conf

Danach fail2ban neu starten:

Dienst fail2ban Neustart

Der perfekte Server – Ubuntu 14.10 mit Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot und ISPConfig – Seite 3

15 Installieren Sie SquirrelMail

Um den SquirrelMail-Webmail-Client zu installieren, führen Sie

aus
apt-get install squirrelmail

Konfigurieren Sie dann SquirrelMail:

squirrelmail-configure

Wir müssen SquirrelMail mitteilen, dass wir Dovecot-IMAP/-POP3 verwenden:

SquirrelMail Konfiguration : Lesen Sie: config.php (1.4.0)
---------------------------------------------- ------------------------
Hauptmenü --
1. Organisationseinstellungen
2. Servereinstellungen
3. Ordner-Standardeinstellungen
4. Allgemeine Optionen
5. Themen
6. Adressbücher 
7. Botschaft des Tages (MOTD)
8. Plugins
9. Datenbank
10. Sprachen

D. Festlegen vordefinierter Einstellungen für bestimmte IMAP-Server

C   Farbe einschalten
S   Daten speichern
Q   Beenden

Befehl >> <-- D


SquirrelMail-Konfiguration : Lesen Sie: config.php
---------------------- ------------------------------
Während wir SquirrelMail entwickelt haben, haben wir einige
Einstellungen entdeckt die mit einigen Servern besser funktionieren, die mit anderen nicht so
gut funktionieren. Wenn Sie Ihren IMAP-Server auswählen, legt diese Option 
einige vordefinierte Einstellungen für diesen Server fest.

Bitte beachten Sie müssen noch durchgehen und sicherstellen, dass
alles richtig ist. Das ändert nicht alles. Es sind
nur einige Einstellungen, die dadurch geändert werden.

Bitte wählen Sie Ihren IMAP-Server aus:
    bincimap    = Binc IMAP Server
    courier     = Courier IMAP Server
    cyrus       = Cyrus IMAP Server
    dovecot     = Dovecot Secure IMAP server
    exchange    = Microsoft Exchange IMAP-Server
    hmailserver = hMailServer
    macosx      = Mac OS X Mailserver
    mercury32   = Mercury/32
    uw        br  = IMAP-Server der Universität Washington />    gmail       = IMAP Zugriff auf Google Mail (Gmail) Konten

    beenden        = Nichts ändern 
Befehl >> <-- dovecot


SquirrelMail Konfiguration : Lesen Sie: config.php
-------------------------------------- -------------------
Während wir SquirrelMail entwickelt haben, haben wir einige
Einstellungen entdeckt, die besser mit einigen Servern funktionieren, die nicht funktionieren so
gut mit anderen. Wenn Sie Ihren IMAP-Server auswählen, legt diese Option 
einige vordefinierte Einstellungen für diesen Server fest.

Bitte beachten Sie müssen noch durchgehen und sicherstellen, dass
alles richtig ist. Das ändert nicht alles. Es sind
nur einige Einstellungen, die dadurch geändert werden.

Bitte wählen Sie Ihren IMAP-Server aus:
    bincimap    = Binc IMAP Server
    courier     = Courier IMAP Server
    cyrus       = Cyrus IMAP Server
    dovecot     = Dovecot Secure IMAP server
    exchange    = Microsoft Exchange IMAP-Server
    hmailserver = hMailServer
    macosx      = Mac OS X Mailserver
    mercury32   = Mercury/32
    uw        br  = IMAP-Server der Universität Washington />    gmail       = IMAP-Zugriff auf Google Mail (Gmail) Konten

    beenden        = Nichts ändern
Befehl >> dovecot

              imap_server_type = dovecot
Default_Folder_prefix =
trash_folker =trash
sent_folder =send
entworfen_folder =entworfen
show_prefix_option =false
default_sub_of_inbox =false
show_contain_ssubfuls_ssubfers_ssubfers_s.>            optional_del imiter = erkennen
                 delete_folder = false

Drücke eine Taste um fortzufahren... <-- drücke eine Taste


SquirrelMail Configuration : Read: config .php (1.4.0)
--------------------------------------------------- ------------------
Hauptmenü --
1. Organisationseinstellungen
2. Servereinstellungen
3. Ordner-Standardeinstellungen
4. Allgemeine Optionen
5. Themen
6. Adressbücher 
7. Botschaft des Tages (MOTD)
8. Plugins
9. Datenbank
10. Sprachen

D. Festlegen vordefinierter Einstellungen für bestimmte IMAP-Server

C   Farbe einschalten
S   Daten speichern
Q   Beenden

Befehl >> <-- S


SquirrelMail-Konfiguration : Lesen Sie: config.php (1.4.0)
---------------------- -----------------------------------
Hauptmenü --
1. Organisationseinstellungen
2. Servereinstellungen
3. Ordner-Standardeinstellungen
4. Allgemeine Optionen
5. Themen
6. Adressbücher 
7. Botschaft des Tages (MOTD)
8. Plugins
9. Datenbank
10. Sprachen

D. Festlegen vordefinierter Einstellungen für bestimmte IMAP-Server

C   Farbe einschalten
S   Daten speichern
Q   Beenden

Befehl >> <-- Q

Jetzt werden wir SquirrelMail so konfigurieren, dass Sie es von Ihren (durch ISPConfig erstellten) Websites aus verwenden können, indem Sie die Aliase /squirrelmail oder /webmail verwenden. Wenn Ihre Website also www.example.com ist, können Sie über www.example.com/squirrelmail oder www.example.com/webmail auf SquirrelMail zugreifen.

SquirrelMail's Apache configuration is in the file /etc/squirrelmail/apache.conf, but this file isn't loaded by Apache because it is not in the /etc/apache2/conf.d/ directory. Therefore we create a symlink called squirrelmail.conf in the /etc/apache2/conf.d/ directory that points to /etc/squirrelmail/apache.conf and reload Apache afterwards:

cd /etc/apache2/conf-available/ 
ln -s ../../squirrelmail/apache.conf squirrelmail.conf
service apache2 reload

Now open /etc/apache2/conf.d/squirrelmail.conf...

 nano /etc/apache2/conf-available/squirrelmail.conf

... and add the following lines to the container that make sure that mod_php is used for accessing SquirrelMail, regardless of what PHP mode you select for your website in ISPConfig:

[...] Options FollowSymLinks  AddType application/x-httpd-php .php php_flag magic_quotes_gpc Off php_flag track_vars On php_admin_flag allow_url_fopen Off php_value include_path . php_admin_value upload_tmp_dir /var/lib/squirrelmail/tmp php_admin_value open_basedir /usr/share/squirrelmail:/etc/squirrelmail:/var/lib/squirrelmail:/etc/hostname:/etc/mailname php_flag register_globals off   DirectoryIndex index.php  # access to configtest is limited by default to prevent information leak 
 order deny,allow deny from all allow from 127.0.0.1 [...]

Create the directory /var/lib/squirrelmail/tmp...

mkdir /var/lib/squirrelmail/tmp

... and make it owned by the user www-data:

chown www-data /var/lib/squirrelmail/tmp

Next we need to enable the squirrelmail with apache2.

a2enconf squirrelmail

Reload Apache again:

service apache2 reload

That's it already - /etc/apache2/conf.d/squirrelmail.conf defines an alias called /squirrelmail that points to SquirrelMail's installation directory /usr/share/squirrelmail.

You can now access SquirrelMail from your web site as follows:

http://192.168.0.100/squirrelmail 
http://www.example.com/squirrelmail

You can also access it from the ISPConfig control panel vhost (after you have installed ISPConfig, see the next chapter) as follows (this doesn't need any configuration in ISPConfig):

http://server1.example.com:8080/squirrelmail

If you'd like to use the alias /webmail instead of /squirrelmail, simply open /etc/apache2/conf.d/squirrelmail.conf...

nano /etc/apache2/conf-available/squirrelmail.conf

... and add the line Alias /webmail /usr/share/squirrelmail:

Alias /squirrelmail /usr/share/squirrelmailAlias /webmail /usr/share/squirrelmail [...]

Then reload Apache:

service apache2 reload

Now you can access Squirrelmail as follows:

http:// 192.168.0.100/webmail
http://www.example.com/webmail
http://server1.example.com:8080/webmail (after you have installed ISPConfig, see the next chapter)

 

If you'd like to define a vhost like webmail.example.com where your users can access SquirrelMail, you'd have to add the following vhost configuration to /etc/apache2/conf.d/squirrelmail.conf:

nano /etc/apache2/conf.d/squirrelmail.conf
[...] DocumentRoot /usr/share/squirrelmail ServerName webmail.example.com

Of course, there must be a DNS record for webmail.example.com that points to the IP address that you use in the vhost configuration. Also make sure that the vhost webmail.example.com does not exist in ISPConfig (otherwise both vhosts will interfere with each other!).

Now reload Apache...

service apache2 reload

... and you can access SquirrelMail under http://webmail.example.com

16. Install ISPConfig 3

To install ISPConfig 3 from the latest released version, do this:

cd /tmp 
wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install/install/

The next step is to run

php -q install.php

This will start the ISPConfig 3 installer. The installer will configure all services like Postfix, Dovecot, etc. for you. A manual setup as required for ISPConfig 2 (perfect setup guides) is not necessary.

[email protected]:/tmp/ispconfig3_install/install# php -q install.php


--------------------------------------------------------------------------------
 _____ ___________   _____              __ _         ____
|_   _/  ___| ___ \ /  __ \            / _(_)       /__  \
  | | \ `--.| |_/ / | /  \/ ___  _ __ | |_ _  __ _    _/ /
  | | `--. \  __/  | | / _ \| '_ \| _| |/ _` | |_ |
 _| |_/\__/ / | | \__/\ (_) | | | | | | | (_| | ___\ \
 \___/\____/\_|      \____/\___/|_| |_|_| |_|\__, | \____/
                                              __/ |
                                             |___/
--------------------------------------------------------------------------------


>> Initial configuration

Operating System:14.10 UNKNOWN

    Following will be a few questions for primary configuration so be careful.
    Default values are in [brackets] and can be accepted with .
    Tap in "quit" (without the quotes) to stop the installer.


Select language (en,de) [en]: <-- ENTER

Installation mode (standard,expert) [standard]: <-- ENTER

Full qualified hostname (FQDN) of the server, eg server1.domain.tld  [server1.example.com]: <-- ENTER

MySQL server hostname [localhost]: <-- ENTER

MySQL root username [root]: <-- ENTER

MySQL root password []: <-- yourroot sqlpassword

MySQL database to create [dbispconfig]: <-- ENTER

MySQL charset [utf8]: <-- ENTER

Generating a 4096 bit RSA private key
............................................................................++
.....................++
writing new private key to 'smtpd.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]: <-- ENTER
State or Province Name (full name) [Some-State]: <-- ENTER
Locality Name (eg, city) []: <-- ENTER
Organization Name (eg, company) [Internet Widgits Pty Ltd]: <-- ENTER
Organizational Unit Name (eg, section) []: <-- ENTER
Common Name (e.g. server FQDN or YOUR name) []: <-- ENTER
Email Address []: <-- ENTER
Configuring Jailkit
Configuring Dovecot
Configuring Spamassassin
Configuring Amavisd
Configuring Getmail
Configuring Pureftpd
Configuring BIND
Configuring Apache
Configuring Vlogger
Configuring Apps vhost
Configuring Bastille Firewall
Configuring Fail2ban
Installing ISPConfig
ISPConfig Port [8080]: <-- ENTER

Do you want a secure (SSL) connection to the ISPConfig web interface (y,n) [y]: <-- ENTER

Generating RSA private key, 4096 bit long modulus
..........++
......++ e is 65537 (0x10001)
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]: <-- ENTER
State or Province Name (full name) [Some-State]: <-- ENTER
Locality Name (eg, city) []: <-- ENTER
Organization Name (eg, company) [Internet Widgits Pty Ltd]: <-- ENTER
Organizational Unit Name (eg, section) []: <-- ENTER
Common Name (e.g. server FQDN or YOUR name) []: <-- ENTER
Email Address []: <-- ENTER

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: <-- ENTER
An optional company name []: <-- ENTER
writing RSA key
Configuring DBServer
Installing ISPConfig crontab
no crontab for root
no crontab for getmail
Restarting services ...
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service mysql restart

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the stop(8) and then start(8) utilities,
e.g. stop mysql ; start mysql. The restart(8) utility is also available.
mysql stop/waiting
mysql start/running, process 2817
 * Stopping Postfix Mail Transport Agent postfix
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
   ...done.
 * Starting Postfix Mail Transport Agent postfix
postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: und efined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr /sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
   ...done.
Stopping amavisd: amavisd-new.
Starting amavisd: amavisd-new.
 * Stopping ClamAV daemon clamd
   ...done.
 * Starting ClamAV daemon clamd
   ...done.
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service dovecot restart

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the stop(8) and then start(8) utilities,
e.g. stop dovecot ; start dovecot. The restart(8) utility is also available.
dovecot stop/waiting
dovecot start/running, process 3962
 * Restarting web server apache2
[Fri Apr 26 00:55:00 2013] [warn] NameVirtualHost *:443 has no VirtualHosts
[Fri Apr 26 00:55:00 2013] [warn] NameVirtualHost *:80 has no VirtualHosts
[Fri Apr 26 00:55:01 2013] [warn] NameVirtualHost *:443 has no VirtualHosts
[Fri Apr 26 00:55:01 2013] [warn] NameVirtualHost *:80 has no VirtualHosts
 ... waiting    ...done.
Restarting ftp server: Running: /usr/sbin/pure-ftpd-mysql-virtualchroot -l mysql:/etc/pure-ftpd/db/mysql.conf -l pam -A -b -u 1000 -D -H -Y 1 -E -8 UTF-8 -O clf:/var/log/pure-ftpd/transfer.log -B
Installation completed.
[email protected]:/tmp/ispconfig3_install/install#

The installer automatically configures all underlying services, so no manual configuration is needed.

You now also have the possibility to let the installer create an SSL vhost for the ISPConfig control panel, so that ISPConfig can be accessed using https:// instead of http://. To achieve this, just press ENTER when you see this question:Do you want a secure (SSL) connection to the ISPConfig web interface (y,n) [y]:.

Afterwards you can access ISPConfig 3 under http(s)://server1.example.com:8080/ or http(s)://192.168.0.100:8080/ ( http or https depends on what you chose during installation). Log in with the username admin and the password admin (you should change the default password after your first login):







The system is now ready to be used.

16.1 ISPConfig 3 Manual

In order to learn how to use ISPConfig 3, I strongly recommend to download the ISPConfig 3 Manual.

On more than 300 pages, it covers the concept behind ISPConfig (admin, resellers, clients), explains how to install and update ISPConfig 3, includes a reference for all forms and form fields in ISPConfig together with examples of valid inputs, and provides tutorials for the most common tasks in ISPConfig 3. It also lines out how to make your server more secure and comes with a troubleshooting section at the end.

17. Additional Notes

17.1 OpenVZ

If the Ubuntu server that you've just set up in this tutorial is an OpenVZ container (virtual machine), you should do this on the host system (I'm assuming that the ID of the OpenVZ container is 101 - replace it with the correct VPSID on your system):

VPSID=101 
for CAP in CHOWN DAC_READ_SEARCH SETGID SETUID NET_BIND_SERVICE NET_ADMIN SYS_CHROOT SYS_NICE CHOWN DAC_READ_SEARCH SETGID SETUID NET_BIND_SERVICE NET_ADMIN SYS_CHROOT SYS_NICE
do
  vzctl set $VPSID --capability ${CAP}:on --save
done

18. Links

  • Ubuntu:http://www.ubuntu.com/
  • ISPConfig:http://www.ispconfig.org/

Panels
  1. Der perfekte Server – Ubuntu 15.04 (nginx, BIND, Dovecot und ISPConfig 3)

  2. Der perfekte Server – Ubuntu 15.10 (nginx, MySQL, PHP, Postfix, BIND, Dovecot, Pure-FTPD und ISPConfig 3)

  3. Der perfekte Server – Ubuntu 16.10 (Yakkety Yak) mit Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot und ISPConfig 3.1

  4. Der perfekte Server – Ubuntu 16.04 (Nginx, MySQL, PHP, Postfix, BIND, Dovecot, Pure-FTPD und ISPConfig 3.1)

  5. Der perfekte Server – Ubuntu 16.04 (Xenial Xerus) mit Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot und ISPConfig 3.1

Der perfekte Server CentOS 7.3 mit Apache, Postfix, Dovecot, Pure-FTPD, BIND und ISPConfig 3.1

Der perfekte Server CentOS 7.4 mit Apache, Postfix, Dovecot, Pure-FTPD, BIND und ISPConfig 3.1

Der perfekte Server CentOS 7.6 mit Apache, PHP 7.2, Postfix, Dovecot, Pure-FTPD, BIND und ISPConfig 3.1

Der perfekte Server – Ubuntu 20.04 mit Apache, PHP, MariaDB, PureFTPD, BIND, Postfix, Dovecot und ISPConfig 3.2

Der perfekte Server CentOS 8 mit Apache, PHP, Postfix, Dovecot, Pure-FTPD, BIND und ISPConfig 3.2

Der perfekte Server – Ubuntu 14.04 (Apache2, PHP, MySQL, PureFTPD, BIND, Dovecot, ISPConfig 3)