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

4 Installation des SSH Servers

Haben Sie den SSH Server nicht während der Basissysteminstallation installiert, können Sie dies nun nachholen:

apt-get install ssh openssh-server

Anmerkung: Alle Befehle in diesem Tutorial werden als root ausgeführt. Sie sollten außerdem auch die CD-ROM Zeile in /etc/apt/sources.list entfernen:

vi /etc/apt/sources.list

Drücken Sie zwei Mal schnell hintereinander d um eine Zeile zu löschen und wenden Sie dies auf alle CD-ROM Zeilen an. Sollten Sie aus Versehen eine Zeile zu viel löschen, so geben Sie :q! ein, um das Dokument zu verlassen ohne zu speichern und versuchen es noch einmal.

Von nun an können Sie einen SSH Client wie PuTTY benutzen um von Ihrer Workstation auf Ihren Debian Squeeze Server zuzugreifen um die restlichen Schritte des Tutorials zu verfolgen.

5 Installation von vim-nox (Optional)

Ich werde als Texteditor in diesem Tutorial vi benutzen. Das standart vi Programm zeigt allerdings ein merkwürdiges Verhalten auf Debian und Ubuntu; um dieses zu umgehen, installiere ich vim-nox:

apt-get install vim-nox

(Dies brauchen Sie nicht zu tun, sollten Sie sich für einen anderen Editor wie zum Beispiel Joe oder Nano entscheiden.)

6 Das Netzwerk konfigurieren

Da der Debian Squeeze Installer das System so konfiguriert hat, dass es die Netzwerkeinstellungen über DHCP bekommt, ändern wir dies nun, da ein Server eine statische IP-Adresse haben sollte. Editieren Sie /etc/network/interfaces und passen Sie es Ihren Bedürfnissen an (in diesem Beispiel werde ich die IP-Adresse 192.168.0.100 benutzen) (beachten Sie bitte, dass ich allow-hotplug eth0 durch auto eth0 ersetze; ansonsten müsste man das ganze System neu starten um das Netzwerk neu zu starten):

vi /etc/network/interfaces


# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface #allow-hotplug eth0 #iface eth0 inet dhcp auto eth0 iface eth0 inet static address 192.168.0.100 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 gateway 192.168.0.1
Starten Sie dann Ihr Netzwerk neu:

/etc/init.d/networking restart

Editieren Sie dann /etc/hosts. Lassen Sie es wie folgt aussehen:

vi /etc/hosts


127.0.0.1 localhost.localdomain localhost
192.168.0.100 server1.example.com server1 # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters
Benutzen Sie nun:

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

Danach, benutzen Sie:

hostname
hostname -f

Es ist wichtig, dass nun beide server1.example.com anzeigen! Haben Sie den Host- und Domainnamen bereits während der Installation gesetzt, sollte dies eigentlich der Fall sein, auch wenn die IP-Adresse und der Fully Qualified Domain Name (FQDN) in die /etc/hosts Datei eingetragen werden müssen. Bei einer lokalen Installation könnten Sie .local als Top-Level Domain (TLD) benutzen, aber in diesem Szenario brauchen Sie einen DNS Server, welcher darauf konfiguriert ist, lokale IP-Adressen aufzulösen.

7 Hinzufügen der Dotdeb Repository und Aktualisieren Ihres Debian Systems

Dieser Schritt ist kritisch, damit Nginx mit ISPConfig 3 und Ihrem Debian 6 System funktioniert. Fügen Sie die Dotdeb Repository hinzu indem Sie die /etc/apt/sources.list Datei editieren und die folgenden zwei Zeilen sowie das optionale Kommentar einfügen:

vi /etc/apt/sources.list

[...]
# Dotdeb repository deb http://packages.dotdeb.org squeeze all deb-src http://packages.dotdeb.org squeeze all [...]
Laden Sie sich dann den passenden GnuPG Schlüssel:

wget http://www.dotdeb.org/dotdeb.gpg
cat dotdeb.gpg | apt-key add -

Stellen Sie außerdem sicher, dass Ihre /etc/apt/sources.list Datei die Squeeze-Updates Repository enthält (dies bewirkt, dass Sie stets die neusten Updates des ClamAV Virenscanners erhalten - das Projekt wird sehr häufig aktualisiert und manchmal hören ältere Versionen auch gänzlich auf zu funktionieren).
[...]
deb http://ftp.de.debian.org/debian/ squeeze-updates main [...]
Benutzen Sie

apt-get update

um Ihre Paketdatenbank zu aktualisieren und sollten Updates vorhanden sein, so installieren Sie diese mit

apt-get upgrade


8 Die Standartshell ändern

/bin/sh ist ein Symlink zu /bin/dash, wir brauchen jedoch /bin/bash, nicht /bin/dash. Deshalb tun wir folgendes:

dpkg-reconfigure dash

Use dash as the default system shell (/bin/sh)? <-- No

9 Systemuhrzeit synchronisieren

Es ist immer eine gute Idee die Systemuhrzeit mit einem NTP Server (network time protocol) über das Internet zu synchronisieren. Benutzen Sie einfach

apt-get install ntp ntpdate

und Ihre  Systemuhrzeit wird immer synchronisiert sein.

3 Kommentar(e)

Zum Posten von Kommentaren bitte

Kommentare

Von: Dirk67

unter Punkt 19 muss es für die /etc/fail2ban/filter.d/dovecot-pop3imap.conf
heißen:
-------------
[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=(?PS*),.*
ignoreregex =
-------------
--> http://wiki.dovecot.org/HowTo/Fail2Ban


Von: Dirk67

Mist... die noetigen Backslashes werden hier nicht mir eingefuegt (ggf. hatte der Autor das selbe Problem) ;-)
also einfach hier schauen --> http://wiki.dovecot.org/HowTo/Fail2Ban


Von: beyerservice

i got this: http://stackoverflow.com/questions/14972792/nginx-nginx-emerg-bind-to-80-failed-98-address-already-in-use

nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)

had to add ipv6only=on to the [::]:80



This error can be caused if you have a nginx configuration that is listening on port 80 and also on port [::]:80.

I had the following in my default site-available file:

listen 80;
listen [::]:80 default_server;


listen 80;
listen [::]:80 ipv6only=on default_server;