Der Perfekte Server - Ubuntu 12.04 LTS (Apache2, BIND, Dovecot, ISPConfig 3) - Seite 5

12 Installation von Postfix, Dovecot, MySQL, phpMyAdmin, rkhunter, binutils

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

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

Sie werden die folgenden Fragen gefragt werden:

New password for the MySQL ‚Äúroot‚ÄĚ user: <-- IhrrootSQLPasswort Repeat password for the MySQL ‚Äúroot‚ÄĚ user: <-- IhrrootSQLPasswort General type of mail configuration: <-- Internet Site System mail name: <-- server1.example.com
Wir wollen, dass MySQL alle Interfaces √ľberpr√ľft, nicht nur localhost. Editieren Sie deshalb /etc/mysql/my.cnf und kommentieren Sie 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

√úberpr√ľfen Sie nun, ob Networking erlaubt ist. Benutzen Sie dazu

netstat -tap | grep mysql

Die Ausgabe sollte etwa so aussehen:

root@server1:~# netstat -tap | grep mysql
tcp        0      0 *:mysql                 *:*                     LISTEN      21298/mysqld
root@server1:~#


13 Installation von Amavisd-new, SpamAssassin und Clamav

Um amavisd-new, SpamAssassin und ClamAV zu installieren f√ľhren Sie folgendes 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 benutzt amavisd, welches die SpamAssassin Filter Library intern lädt, sodass Sie SpamAssassin beenden können um ein wenig RAM zu gewinnen:

/etc/init.d/spamassassin stop
update-rc.d -f spamassassin remove


14 Installation von 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.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 libruby libapache2-mod-ruby

Sie werden folgendes gefragt werden:

Web server to reconfigure automatically: <-- apache2 Configure database for phpmyadmin with dbconfig-common? <-- No
Benutzen Sie dann den folgenden Befehl um die Apache-Module suexec, rewrite, ssl, actions und include zu erlauben (plus dav, dav_fs, und auth_digest wenn Sie WebDAV benutzen möchten):

a2enmod suexec rewrite ssl actions include

a2enmod dav_fs dav auth_digest

Starten Sie dann Apache neu:

/etc/init.d/apache2 restart

Wollen Sie auf Ihrer mit ISPConfig erstellten Webseite Ruby Dateien mit der Endung .rb hochladen, m√ľssen Sie die Zeile application/x-ruby rb in /etc/mime.types auskommentieren:

vi /etc/mime.types


[...]
#application/x-ruby rb [...]
(Dies ist nur f√ľr .rb Dateien n√∂tig; Ruby Dateien mit der Endung .rbx werden ohne Vorkehrungen funktionieren.)

Starten Sie danach Apache neu:

/etc/init.d/apache2 restart


14.1 Xcache

Xcache ist ein kostenloser und quelloffener PHP opcode Cacher zum Cachen und Optimieren von PHP Zwischencode. Es ist anderen opcode Cachern wie eAccelerator und APC ähnlich. Es wird empfohlen, einen von ihnen zu installieren, um Ihre PHP Seite zu beschleunigen.

Xcache wird wie folgt installiert:

apt-get install php5-xcache

Starten Sie nun Apache neu:

/etc/init.d/apache2 restart


14.2 PHP-FPM

Ab der Version 3.0.5 wird es in ISPConfig einen zus√§tzlichen PHP Modus geben, den Sie f√ľr die Benutzung mit Apache ausw√§hlen k√∂nnen: PHP-FPM.¬† Haben Sie vor, diesen Modus zu benutzen, macht es Sinn, Ihr System schon einmal daf√ľr zu konfigurieren, sodass es darauf vorbereitet ist, wenn Sie sp√§ter auf Version 3.0.5 upgraden (die neuste ISPConfig Version zur Zeit dieses Schreibens ist 3.0.4.4).

Um PHP-FPM mit Apache benutzen zu können benötigen Sie das mod_fastcgi Apache Modul (verwechseln Sie dieses bitte nicht mit mod_fcgid - sie sind sich ähnlich, allerdings kann mod_fcgid nicht mit PHP-FPM benutzt werden). Installieren Sie PHP-FPM und mod_fastcgi folgendermaßen:

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

Erlauben Sie das Modul und starten Apache neu:

a2enmod actions fastcgi alias
/etc/init.d/apache2 restart


15 Installation von Mailman

Seit Version 3.0.4 erlaubt es Ihnen ISPConfig auch Mailman Mailiunglisten zu verwalten (erstellen/editieren/löschen). Wollen Sie von diesem Feature Gebrauch machen, installieren Sie Mailman folgendermaßen:

apt-get install mailman

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

Languages to support: <-- en (Englisch)
Bevor Mailman gestartet werden kann, muss zuerst eine erste Mailingliste namens mailman erstellt werden:

newlist mailman

root@server1:~# newlist mailman
Enter the email of the person running the list:
<-- Admin E-Mail Adresse, z.B. listadmin@example.com Initial mailman password: <-- Admin Passwort der Mailmanliste To finish creating your mailing list, you must edit your /etc/aliases (or equivalent) file by adding the following lines, and possibly running the `newaliases' program:
## 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 mailman"
mailman-unsubscribe:  "|/var/lib/mailman/mail/mailman unsubscribe mailman"

Hit enter to notify mailman owner... <-- ENTER
root@server1:~#
√Ėffnen Sie danach /etc/aliases ...

vi /etc/aliases

... und f√ľgen die folgenden Zeilen hinzu:
[...]
## 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 mailman" mailman-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe mailman"
Benutzen Sie danach

newaliases

und starten Postfix neu:

/etc/init.d/postfix restart

Schlie√ülich m√ľssen Sie noch die Mailman Apache Konfiguration aktivieren:

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

Dadurch wird der Alias /cgi-bin/mailman/ f√ľr alle Apache vHosts definiert, was bedeutet, dass Sie die Mailman Admin Oberfl√§che einer Liste unter http://<vhost>/cgi-bin/mailman/admin/<listname> erreichen k√∂nnen w√§hrend die Webseite f√ľr Benutzer von Mailinglisten unter http://<vhost>/cgi-bin/mailman/listinfo/<listname> zu erreichen ist.

Unter http://<vhost>/pipermail können Sie die Mailinglistenarchive finden.

Starten Sie Apache danach neu:

/etc/init.d/apache2 restart

Starten Sie dann den Mailman Daemon:

/etc/init.d/mailman start


16 Installation von PureFTPd und Quota

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

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

Editieren Sie die Datei /etc/default/pure-ftpd-common…

vi /etc/default/pure-ftpd-common

… und stellen Sie sicher, dass der start mode gleich standalone und VIRTUALCHROOT=true gesetzt sind:
[...]
STANDALONE_OR_INETD=standalone [...] VIRTUALCHROOT=true [...]
Konfigurieren Sie nun PureFTPd dazu, FTP und TLS Sitzungen zu erlauben. FTP ist ein sehr unsicheres Protokoll, da alle Passw√∂rter und Dateien in reiner Textform √ľbertragen werden. Durch die Benutzung von TLS wird die gesamte Kommunikation verschl√ľsselt, wodurch es FTP sehr viel sicherer macht.

Wollen Sie FTP und TLS Sitzungen erlauben, f√ľhren Sie folgenden Befehl aus:

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

Um TLS benutzen zu k√∂nnen, m√ľssen Sie ein SSL Zertifikat erstellen. Ich tue dies in /etc/ssl/private/, dieses Verzeichnis muss ich zuerst erstellen:

mkdir -p /etc/ssl/private/

Danach können Sie das SSL Zertifikat folgendermaßen erstellen:

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

Country Name (2 letter code) [AU]: <-- Geben Sie Ihre Landesbezeichnung an (z.B. ‚ÄúDE‚ÄĚ). State or Province Name (full name) [Some-State]: <-- Geben Sie Ihr Bundesland an. Locality Name (eg, city) []: <-- Geben Sie Ihre Stadt an. Organization Name (eg, company) [Internet Widgits Pty Ltd]: <-- Geben Sie den Namen Ihrer Organisation an (z.B., den Namen Ihrer Firma). Organizational Unit Name (eg, section) []: <-- Geben Sie den Namen Ihrer Organisationseinheit an (z.B. ‚ÄúIT Abteilung‚ÄĚ). Common Name (eg, YOUR name) []: <-- Geben Sie die vollwertige Domain des Systems an (z.B. ‚Äúserver1.example.com‚ÄĚ). Email Address []: <-- Geben Sie Ihre Mail-Adresse an.
√Ąndern Sie die Zugriffsrechte auf das SSL Zertifikat:

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

Starten Sie dann PureFTPd neu:

/etc/init.d/pure-ftpd-mysql restart

Editieren Sie die /etc/fstab Datei. Meine sieht wie folgt aus (Ich habe ,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 zur Partition mit dem Mount Point / hinzugef√ľgt):

vi /etc/fstab


# /etc/fstab: static file system information.
# # Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # # <file system> <mount point> <type> <options> <dump> <pass> proc /proc proc nodev,noexec,nosuid 0 0 /dev/mapper/server1-root / ext4 errors=remount-ro,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 0 1 # /boot was on /dev/sda1 during installation UUID=4b58d345-1c55-4ac5-940e-7245938656a6 /boot ext2 defaults 0 2 /dev/mapper/server1-swap_1 none swap sw 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0
Um quota zu erlauben, benutzen Sie diese Befehle:

mount -o remount /

quotacheck -avugm
quotaon -avug


17 Installation des BIND DNS Servers

BIND kann folgendermaßen installiert werden:

apt-get install bind9 dnsutils


18 Installation von Vlogger, Webalizer und AWstats

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

apt-get install vlogger webalizer awstats geoip-database

√Ėffnen Sie danach /etc/cron.d/awstats‚Ķ

vi /etc/cron.d/awstats

… und kommentieren Sie beide Cron Jobs in der Datei aus:
#MAILTO=root
#*/10 * * * * www-data [ -x /usr/share/awstats/tools/update.sh ] && /usr/share/awstats/tools/update.sh # Generate static reports: #10 03 * * * www-data [ -x /usr/share/awstats/tools/buildstatic.sh ] && /usr/share/awstats/tools/buildstatic.sh

19 Installation von Jailkit

Jailkit wird nur gebraucht, wenn Sie SSH Benutzer chrooten möchten. Es kann wie folgt installiert werden (wichtig: Jailkit muss vor ISPConfig installiert werden - dies kann später nicht nachgeholt 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.14.tar.gz
tar xvfz jailkit-2.14.tar.gz
cd jailkit-2.14
./debian/rules binary

Nun können Sie das Jailkit .deb Paket folgendermaßen installieren:

cd ..
dpkg -i jailkit_2.14-1_*.deb
rm -rf jailkit-2.14*


20 Installation von fail2ban

Diese ist optional aber empfohlen, da der ISPConfig Monitor versucht, den fail2ban Log anzuzeigen:

apt-get install fail2ban

Um fail2ban PureFTPd und Dovecot √ľberwachen zu lassen, erstellen Sie die Datei /etc/fail2ban/jail.local:

vi /etc/fail2ban/jail.local


[pureftpd]
enabled = true port = ftp filter = pureftpd logpath = /var/log/syslog maxretry = 3 [dovecot-pop3imap] enabled = true filter = dovecot-pop3imap action = iptables-multiport[name=dovecot-pop3imap, port="pop3,pop3s,imap,imaps", protocol=tcp] logpath = /var/log/mail.log maxretry = 5
Erstellen Sie danach die folgenden zwei Filterdateien:

vi /etc/fail2ban/filter.d/pureftpd.conf


[Definition]
failregex = .*pure-ftpd: (.*@<HOST>) [WARNING] Authentication failed for user.* ignoreregex =

vi /etc/fail2ban/filter.d/dovecot-pop3imap.conf


[Definition]
failregex = (?: pop3-login|imap-login): .*(?:Authentication failure|Aborted login (auth failed|Aborted login (tried to use disabled|Disconnected (auth failed|Aborted login (d+ authentication attempts).*rip=(?P<host>S*),.* ignoreregex =
Starten Sie fail2ban dann neu:

/etc/init.d/fail2ban restart


6 Kommentar(e)

Zum Posten von Kommentaren bitte

Kommentare

Von: brunnwart

Hallo,

kann ich eine Frage zu diesem Tutorial stellen? Ich habe alles genau so installiert und bis zur S.6 hat alles funktioniert inkl. Anmeldung an squirrelmail, aber nachdem ich ISPConfig3 von S. 7 installiert habe kann ich mich nicht mehr mit dem Unix account in squirrelmail anmelden, alles unter der urspr√ľnglichen DocumentRoot /var/www ist nicht mehr erreichbar und die Startseite von ISPConfig unter http://domainename:8080 erscheint auch nicht :-(

Danke und Gruß,
Ditmar.


Von: StefanB.

Hallo,

diesen Schritt auslassen und erst später mache wen der Virt-Host steht.

vi /etc/apache2/conf.d/squirrelmail.conf

[...]

DocumentRoot /usr/share/squirrelmail
ServerName webmail.example.com


Ersetzen Sie 1.2.3.4 mit der korrekten IP-Adresse Ihres Servers. Nat√ľrlich muss es einen DNS Record f√ľr webmail.example.com geben, der zur IP-Adresse zeigt, die Sie in Ihrer vHost Konfiguration benutzen.


Von: StefanB.

--- Fehlersuche Start ----
....
Benutzen Sie danach

newaliases

und starten Postfix neu:

/etc/init.d/postfix restart

Schlie√ülich m√ľssen Sie noch die Mailman Apache Konfiguration aktivieren:
#########################################
### ln -s /etc/mailman/apache.conf ### <<-- Diese beiden Zeilen ersetze durch:
### /etc/apache2/conf.d/mailman.conf ### ln -s /etc/mailman/apache.conf /etc/apache2/conf.d/mailman.conf
#########################################

Dadurch wird der Alias /cgi-bin/mailman/ f√ľr alle Apache vHosts ......

Gruß StefanB.


Von: StefanB.

Zwischen punkt 19 und 20 entsteht auch ein Fehler


Von: grohs-computer

Fehlerkorrektur zu Punkt 20. Es fehlt 6 x der Backslash in der Datei "dovecot-pop3imap.conf.


Richtig ist:


[Definition]
failregex = (?: pop3-login|imap-login): .*(?:Authentication failure|Aborted login \(auth failed|Aborted login \(tried to use disabled|Disconnected \(auth failed|Aborted login \(\d+ authentication attempts).*rip=(?P<host>\S*),.*
ignoreregex =


Von: grohs-computer

Fehlerkorrektur zu Punkt 20. Es fehlt 6 x der Backslash in der Datei "dovecot-pop3imap.conf.


Richtig ist:


[Definition]
failregex = (?: pop3-login|imap-login): .*(?:Authentication failure|Aborted login \(auth failed|Aborted login \(tried to use disabled|Disconnected \(auth failed|Aborted login \(\d+ authentication attempts).*rip=(?P<host>\S*),.*
ignoreregex =