Der Perfekt Server – Debian Squeeze (Debian 6.0) mit BIND und Courier [ISPConfig 3]

9 Installieren von Postfix, Courier, Saslauthd, MySQL, phpMyAdmin, rkhunter, binutils

Wir können Postfix, Courier, Saslauthd, MySQL, phpMyAdmin, rkhunter, binutils mit einem einzigen Befehl installieren:

apt-get install postfix postfix-mysql postfix-doc mysql-client mysql-server courier-authdaemon courier-authlib-mysql courier-pop courier-pop-ssl courier-imap courier-imap-ssl libsasl2-2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl courier-maildrop getmail4 rkhunter binutils sudo

Folgende Fragen werden uns gestellt:

General type of mail configuration: Internet SiteSystem mail name: server1.example.comNew password for the MySQL "root" user: yourrootsqlpasswordRepeat password for the MySQL "root" user: yourrootsqlpasswordCreate directories for web-based administration? NoSSL certificate required Ok

MySQL soll auf alle Oberflächen laufen, nicht nur auf localhost, daher editieren wir /etc/mysql/my.cnf 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
[...]

Dann starten wir MySQL neu:

/etc/init.d/mysql restart

Nun kontrolliere, dass das Netzwerk aktiv ist. Starte

netstat -tap | grep mysql

Die Ausgabe sollte wie hier ausschauen:

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

Während der Installation der SSL Zertifikate für IMAP-SSL und POP-SSL werden diese mit dem hostnamen localhost erstellt. Um dies zu ändern und den korrekten hostnamen (server1.example.com) einzutragen erstellen wir manuell neue Zertifikate.

Als erstes löschen wir die alten Zertifikate

cd /etc/courier
rm -f /etc/courier/imapd.pem
rm -f /etc/courier/pop3d.pem

… jetzt modifizieren wir zwei Dateien ind ersetzten CN=localhost mit CN=server1.example.com (natürlich könnt Ihr auch weitere Werte anpassen):

vi /etc/courier/imapd.cnf

[...]
CN=server1.example.com
[...]

vi /etc/courier/pop3d.cnf

[...]
CN=server1.example.com
[...]

Nun erstellen wir die neuen Zertifikate

mkimapdcert
mkpop3dcert

… und starten Courier-IMAP-SSL und Courier-POP3-SSL neu:

/etc/init.d/courier-imap-ssl restart
/etc/init.d/courier-pop-ssl restart

10.) Installiere Amavisd-new, Spamassassin und Clamav

Wir können Amavisd-new, Spamassassin and Clamav mit einem einzigen Befehl installieren:

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

ISPConfig 3 setup benutzt amavisd welches die SpamAssassin filter library intern nutzt, so können wir ruhig SpamAssassin stopen um ein bisschen mehr RAM übrig zu haben:

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

11.) Installiere apache2, PHP5, phpmyadmin, better fastCGI, suexec, Pear and mcrypt

Wir können apache2, PHP5, phpmyadmin, better fastCGI, suexec, Pear and mcrypt mit einem einzigen Befehl installieren:

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

Du wirst folgende Frage sehen bei PHPMyAdmin:

Web server to reconfigure automatically: apache2 Configure database for phpmyadmin with dbconfig-common? No

Starte folgenden Befehl um die Apache module suexec, rewrite, ssl, actions, und include zu aktivieren:

a2enmod suexec rewrite ssl actions include
Wenn Ihr Webdav benutzen wollt solltet Ihr noch folgendes aktivieren
a2enmod dav_fs dav auth_digest

Anschließend starte Apache neu:

/etc/init.d/apache2 restart

12.) Installieren von PureFTPd und Quota

PureFTPd und quota können mit folgendem Befehl installiert werden:

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

Optional aktiviere wir TLS

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

Nun erstellen wir den passenden Ordner

mkdir -p /etc/ssl/private/

Jetzt generieren wir das Zertifikat

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

Auch hier werden uns wieder ein paar fragen gestellt:

Country Name (2 letter code) [AU]: Geben Sie hier Ihr Land ein (z.B., "DE").
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:
Email Address []:

Jetzt nur noch die passenden rechte setzten

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

Bearbeiten der Datei /etc/default/pure-ftpd-common.

vi /etc/default/pure-ftpd-common

… und wechsele den Startmodus von inetd zu standalone und setze VIRTUALCHROOT=true:

[...]
STANDALONE_OR_INETD=standalone
[...]
VIRTUALCHROOT=true
[...]

Editiere die Datei /etc/inetd.conf um inetd davor zu schützen ftp zu starten: vi /etc/inetd.conf Kommentiere die Zeile, welche mit ftp stream tcp beginnt raus:

vi /etc/inetd.conf

[...]
#:STANDARD: These are standard services.
#ftp    stream  tcp     nowait  root    /usr/sbin/tcpd /usr/sbin/pure-ftpd-wrapper
[...]

Anschließend starte inetd neu:

/etc/init.d/openbsd-inetd restart

dann starte PureFTPd:

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

Jetzt bearbeiten wir noch die /etc/fstab. Meine sieht so aus (Ich habe folgendes hinzugefügt ,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 zu der Partition mit dem mount point / ):

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).
#
#              

proc            /proc           proc    defaults        0       0
# / was on /dev/sda1 during installation
UUID=92bceda2-5ae4-4e3a-8748-b14da48fb297 /               ext3    errors=remount-ro,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 0       1
# swap was on /dev/sda5 during installation
UUID=e24b3e9e-095c-4b49-af27-6363a4b7d094 none            swap    sw              0       0
/dev/scd0       /media/cdrom0   udf,iso9660 user,noauto     0       0
/dev/fd0        /media/floppy0  auto    rw,user,noauto  0       0

Jetzt aktivieren wir quota:

mount -o remount /

danach

quotacheck -avugm

Da dies einen kleinen moment dauert empfehle ich in dieser Zeit ein Kaffee aufzusetzten. Anschließend führen wir noch folgendes aus:

quotaon -avug

13.) Installiere BIND DNS Server

Dies kann wieder in einer Zeile ausgeführt werden

apt-get install bind9 dnsutils

14.) Installation von Vlogger, Webalizer und AWstats

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

apt-get install vlogger webalizer awstats

Jetzt öffnen wir die Datei /etc/cron.d/awstats:

vi /etc/cron.d/awstats

hier Kommentieren wir beide Cron Jobs aus:

#*/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

15.) Installiere Jailkit

Jailkit muss nur installiert werden wenn du chroot SSH benutzer. Es kann wie folgt installiert werden (wichtig: Jailkit muss vor ISPConfig installiert werden- es kann nicht anschließend installiert werden!):

apt-get install build-essential autoconf automake1.9 libtool flex bison debhelper
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
cd ..
dpkg -i jailkit_2.14-1_*.deb
rm -rf jailkit-2.14*

Das könnte Dich auch interessieren …