Der Perfekte Server - Debian Squeeze (Debian 6.0) mit BIND & Dovecot [ISPConfig 3] - Seite 4

10 Installation von Postfix, Dovecot, Saslauthd, MySQL, phpMyAdmin, rkhunter, binutils

Sie können Postfix, Dovecot, Saslauthd, MySQL, phpMyAdmin, 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 sudo

You will be asked the following questions:

General type of mail configuration: <-- Internet Site
System mail name: <-- server1.example.com
New password for the MySQL "root" user: <-- IhrrootsqlPasswort
Repeat password for the MySQL "root" user: <-- IhrrootsqlPasswort
Wir wollen, dass MySQL, dass MySQL alle Netzwerkoberflächen benutzt, nicht nur localhost, deshalb editieren wir die /etc/mysql/my.cnf Datei und kommentieren die folgende Zeile aus bind-address = 127.0.0.1:

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 dann MySQL neu:

/etc/init.d/mysql restart

Überprüfen Sie nun, ob das Networking aktiviert ist:

netstat -tap | grep mysql

Die Ausgabe sollte etwa so aussehen:

root@server1:~# netstat -tap | grep mysql

tcp        0      0 *:mysql                 *:*                     LISTEN      10617/mysqld

root@server1:~#

11 Installation von Amavisd-new, SpamAssassin, And Clamav

Zur Installation von amavisd-new, SpamAssassin und ClamAV benutzen Sie

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, welcher die SpamAssassin Filter Library intern lädt, sodass Sie SpamAssassin stoppen können um Arbeitsspeicher zu sparen:

/etc/init.d/spamassassin stop

update-rc.d -f spamassassin remove

12 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

Ihnen werden die folgenden Fragen gestellt werden:

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

a2enmod suexec rewrite ssl actions include

a2enmod dav_fs dav auth_digest

Starten Sie danach Apache neu:

/etc/init.d/apache2 restart


13 Installation 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

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

vi /etc/default/pure-ftpd-common

..., stellen Sie sicher, dass der Startmodus auf standalone gesetzt ist und setzen Sie VIRTUALCHROOT=true:
[...]
STANDALONE_OR_INETD=standalone [...] VIRTUALCHROOT=true [...]
Editieren Sie die Datei /etc/inetd.conf um zu verhindern, dass inetd versucht ftp zu starten:

vi /etc/inetd.conf

Gibt es eine Zeile beginnend mit ftp stream tcp, kommentieren Sie diese aus (gibt es diese nicht, ist alles in Ordnung. Dann brauchen Sie die Datei nicht zu verändern ):
[...]
#:STANDARD: These are standard services. #ftp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/pure-ftpd-wrapper [...]
Sollten Sie die Datei /etc/inetd.conf geändert haben, starten Sie inetd nun neu:

/etc/init.d/openbsd-inetd restart

Nun bringen Sie PureFTPd dazu, FTP und TLS Sitzungen zu erlauben. FTP ist ein sehr unsicheres Protokoll, weil alle Passwörter in reinem Text übertragen werden. Durch Benutzung von TLS kann die gesamte Kommunikation verschlüsselt werden, dadurch wird FTP sehr viel sicherer gemacht.

Wollen Sie FTP und TLS Sitzungen erlauben, benutzen Sie

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

Um TLS verwenden zu können, müssen SIe zuerst ein SSL Zerifikat erstellen. Ich werde es im /etc/ssl/private/ Verzeichnis erstellen, deshalb muss ich dieses Verzeichnis ersteinmal erstellen:

mkdir -p /etc/ssl/private/

Danach generieren Sie das SSL Zertifikat wie folgt:

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 Ihr Land an (z.B., "DE").
State or Province Name (full name) [Some-State]: <-- Geben Sie Ihren Bundesstaat oder Ihre Provinz an.
Locality Name (eg, city) []: <-- Geben Sie Ihre Stadt an.
Organization Name (eg, company) [Internet Widgits Pty Ltd]: <-- Geben Sie Ihren Organisationsnamen an (z.B. den Namen Ihrer Firma).
Organizational Unit Name (eg, section) []: <-- Geben Sie die Bezeichnung Ihrer Abteilung an (z.B. "IT Department").
Common Name (eg, YOUR name) []: <--
Geben Sie den vollen Domainnamen Ihres Systems an (z.B. "server1.example.com").

Email Address []: <-- Geben Sie Ihre E-Mail Adresse an.
Ändern Sie die Zugriffsberechtigungen 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 /etc/fstab. Meine Datei sieht so aus (ich habe ,usrjquota=aquota.user,grpjquota=aquota.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 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
Um Quota zu aktivieren, benutzen Sie folgende Befehle:

mount -o remount /

quotacheck -avugm

quotaon -avug

14 Installation des BIND DNS Servers

BIND kann wie folgt installiert werden:

apt-get install bind9 dnsutils


15 Installation von Vlogger, Webalizer und AWstats

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

apt-get install vlogger webalizer awstats

Öffnen Sie danach /etc/cron.d/awstats ...

vi /etc/cron.d/awstats

... und kommentieren Sie beide Cron Jobs in der Datei 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

16 Installation von Jailkit

Jailkit wird nur gebraucht, wenn Sie SSH Benutzer chrooten möchten. Es wird wie folgt installiert (wichtig: Jailkit muss vor ISPConfig installiert werden - es kann nicht im Nachhinein getan 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*

17 Installation von fail2ban

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

apt-get install fail2ban

Um fail2ban PureFTPd und Dovecot anzeigen 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 dann die folgenden beiden 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


19 Kommentar(e)

Zum Posten von Kommentaren bitte

Kommentare

Von: silvio130882

wie kann man denn die datei im putty speichern? ich meine zum beispiel "vi /etc/mysql/my.cnf" befehl eingeben dann kommt im putty
die anzeige wo ich scrolle bis ich in der zeile bin, dann verändere ich das, und jetzt weiß ich nicht weiter. man muss ja irgendwie
das abspeichern können so das "root@....:" wieder da steht und ich weiter machen kann. wenn ich das weiß dann iss die anleitung 100%
newbie sicher.


Von: Till

@silvio130882 Support gibts im Forum :) Die Kommentarfunktion ist nur für Anmerkungen zum Tutorial.


Von: Till

Zum Speichern im vi editor drückst Du: ":x". Siehe auch einführung in die Bedienung von vi:

http://www.howtoforge.com/faq/12_15_en.html


Von: silvio130882

danke nun komme ich langsam zum ziel


Von: silvio130882

Gib ein

echo server1.example.com > /etc/hostname
/etc/init.d/hostname.sh start

Danach gib ein

hostname
hostname -f

Beide sollten server1.example.com anzeigen.
<-- Bei mir zeigt er bei "hostname -f" hostname: Name or service not known an. warum das? habe alles so gemacht wie es da steht


Von: Till

Dann wurde der Hostname nicht korrekt in /etc/hosts einzutragen, wie es im Tutorial steht.


Von: silvio130882

Führen Sie dann folgenden Befehl aus, um die Apache Module suexec, rewrite, ssl, actions, and include (plus dav, dav_fs, und auth_digest wenn Sie WebDAV benutzen wollen) zu erlauben:
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
a2enmod suexec rewrite ssl actions include

so wie es da steht, kommt nur Kommando nicht gefunden! Bitte um hilfe! danke.....


Von: Till

Ist apache denn installiert worden, wie im vorigen Schritt beschrieben und bist Du als root User eingeloggt?


Von: silvio130882

mkdir -p /etc/ssl/private/

habe jetzt das nächste problem, ich soll das verzeichnis erstellen und dann den befehl eingeben weiter unten, habe ich gemacht, nur kommt die eingabe nicht mit "DE" was rot gekennzeichnet ist.
beim befehl chmod zeigt er an nicht gefunden.
wo liegts jetzt?


Von: rolandcg

Wow, was für eine Erleichterung.... ich bin froh, dieses ut gefunden zu haben.
Ein Hinweis: in Schritt 20.2 im Abschnitt virtualhost für squirrelmail ist mir aufgefallen, dass die Konfiguration für den virtualhost schon in meiner config-Datei eingetragen war (squeeze), allerdings ohne das :80 für den Serverport. Wenn man den Port nicht einträgt, ist natürlich isp3 nicht mehr erreichbar, da es die gleiche ip hat, mit dem Unterschied beim Port, 8080.
Trotzdem danke, ein so eins:eins umsetzbares Tutorial habe ich noch nie gesehen, dickes lob....


Von: microcosmic

Hallo.

Zuerst einmal: super HowTo :)

Wie viele "Slaves" kann ich einrichten? Ist die Anzahl an "Slaves" begrenzt?

Gruß,

Mic


Von: Keddy

Nun habe ich alles genau wie beschrieben durchgeführt, es läuft auch alles soweit, hostname und hostname - f geben auch beide richtig hostname.domainname aus. Ich habe nun alles installiert bis auf ISPConfig 3 und habe ersteimal probiert mit meinem Laptop auf den Server zuzugreifen und SquirrelMail aufzurufen.
Über 192.168.x.x/webmail klappt es auch nur über server1.meinnetz.lan/webmail klappt es nicht. Ich habe dann versucht mit Ping den Server zu erreichen, doch auch hier bekomme ich ihn nur mit der IP Adresse. Das heißt doch für mich, das das DNS nicht richtig funktioniert und ich hier noch irgendwelche Einstellungen vornehmen muß oder was mache ich hier falsch.


Von: Till

Die Anzahl ist nicht begrenzt, oder genauer gesagt die SErver ID ist ein MySQL int(11) Wert wenn ich mich recht erinnere, sollte also reichen :)


Von: Luzius

Im Fail2ban bereich hast du was wesentliches vergessen. Ohne das bricht der Restart von fail2ban mit einem dovecot-pop3imap.conf fehler ab.

es muss nochmal was in die jail.conf eingetragen werden:

[dovecot-pop3imap]
enabled = true
filter = dovecot-pop3imap
action = iptables-multiport[name=dovecot-pop3imap, port="pop3,imap", protocol=tcp]
logpath = /var/log/maillog
maxretry = 20
findtime = 1200
bantime = 1200

gruß
andre


Von: beyerservice

@luzius: das steht doch in der jail.local drin!


Von: phaidenbauer

Hallo,
ich bin neu hier, und habe mit ispConfig so gut wie keine erfahrung. Ich habe das Turorial benutz um das ganze auf meinem Testserver laufen zu lassen. Erstmal danke dafür.
Leider funktioniert nicht alles so wie ich will. Wenn ich mich versuche bei PHPmyadmin mit einer zuvor erstellen DB + User einzuloggen, und auf Login klicke, wird ein Download gestartet, und eine index.php Datei heruntergeladen anstatt das ich weitergeleitet werde. Ich habe es sicherheitshalber auch mit einem anderen Browser versucht, aber leider das gleiche Problem.
Und zweitens: wenn ich /webmail aufrufen will, bekomme ich vom Apache einen 500 Error. Wobei ich alles wie im Tutorial gemacht habe.

Ich hoffe ihr könnt mir helfen.
mfg
Philipp


Von: Till

Hallo Philipp,

poste Dein Problem bitte mal im ISPConfig Forum:

http://www.howtoforge.de/forum/


Von: Dirk67

muss nicht auch noch ein link für phpmyadmin hinzugefügt werden ? mit:
cd /etc/apache2/conf.d/
ln -s ../../phpmyadmin/apache.conf phpmyadmin.conf

damit phpmyadmin überhaupt aufgerufen werden kann ?


Von: peri0603

Ich habe als PHP Version 5.4.13 von dotdeb.org verwendet und erhalte folgenden fehler bei der Innstallation von ISPConfig:

---Ausschnitt Anfang
Country Name (2 letter code) [AU]:
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 []:

--- hier der Fehler
PHP Warning: copy(/etc/mailman/virtual_to_transport.sh): failed to open stream: No such file or directory in /tmp/ispconfig3_install/install/lib/installer_base .lib.php on line 579
PHP Warning: chgrp(): No such file or directory in /tmp/ispconfig3_install/inst all/lib/installer_base.lib.php on line 580
PHP Warning: chmod(): No such file or directory in /tmp/ispconfig3_install/inst all/lib/installer_base.lib.php on line 581
--- Fehler Ende

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]:

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

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.
--- Ausschnitt Ende

Hat das irgenwelche Auswirkungen auf die Funktionalität von ISPConfig??? Danke für jegliche Ratschläge

Ach übrigens wäre es nicht schlecht diese Anleitung um folgende Schritte zu aktualiesieren:

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

und

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

da ja in der neuen Version von ISPConfig Apache auch mit mit dem PHP-FPM Modul laufen kann.

Freundliche Grüße

Perica