Das Perfekte Setup - Ubuntu 6.10 Server (Edgy Eft)

Version 1.1
Author: Falko Timme


Diese Anleitung veranschaulicht Schritt für Schritt wie man einen Ubuntu 6.10 (Edgy Eft) basierten Server einrichtet, der alle Dienste anbietet, die von ISPs und Hostern: Apache Web Server (SSL-fähig), Postfix Mail Server mit SMTP-AUTH und TLS, DNS Server, FTP Server, MySQL Server, POP3/IMAP, Quota, Firewall, etc. benötigt werden. Diese Anleitung wurde für die 32-bit Version von Ubuntu Edgy Eft verfasst, sollte aber auch mit geringfügigen Änderungen auf die 64-bit Version passen.

Folgende Software werde ich verwenden:
  • Web Server: Apache 2.0
  • Database Server: MySQL 5.0
  • Mail Server: Postfix
  • DNS Server: BIND9
  • FTP Server: proftpd
  • POP3/IMAP: ich werde ein Maildir Format verwenden und daher Courier-POP3/Courier-IMAP installieren.
  • Webalizer für Webseiten Statistiken
Du erhältst ein System, das zuverlässig arbeitet. Wenn Du magst, kannst Du das kostenlose Webhosting Control Panel ISPConfig installieren.

Ich möchte an dieser Stelle darauf hinweisen, dass dies nicht der einzige Weg ist, ein solches System einzurichten. Es gibt viele Möglichkeiten, dieses Ziel zu erreichen - dies ist der Weg, den ich gewählt habe. Ich übernehme keine Garantie, dass dies auch bei Dir funktioniert!

Voraussetzungen

Um ein solches System zu installieren, wirst Du Folgendes benötigen:

1 Vorbemerkung

In dieser Anleitung verwende ich den Hostnamen server1.example.com mit der IP Adresse 192.168.0.100 und das Gateway 192.168.0.1. Diese Einstellungen werden von den Deinen abweichen, Du musst sie an entsprechender Stelle ersetzen.

2 Das Basissystem

Leg Deine Ubuntu Installations-CD ein und starte mir ihr. Wähle Install to the hard disk:


Die Installation startet. Wähle zunächst Deine Sprache aus:


Wähle dann Deinen Standort:



Wähle ein Tastaturlayout:





Der Installer überprüft die Installations-CD, Deine Hardware und konfiguriert das Netzwerk mit DHCP, falls ein DHCP Server im Netzwerk vorhanden ist:



Gib den Hostnamen ein. In diesem Beispiel heißt mein System server1.example.com, also gebe ich server1 ein:


Nun musst Du Deine Festplatte partitionieren. Ich werde eine große Partition (mit dem mount point /) und eine kleine Swap Partition erstellen, also wähle ich Erase entire disk:




Konfiguriere Deine System Uhr:


Erstelle einen Benutzer, zum Beispiel den Benutzer Administrator mit dem Benutzernamen administrator (verwende nicht den Benutzernamen admin, da dieser bereits auf Edgy Eft vorgemerkt ist):





Nun wird das Basissystem installiert:



Wir benötigen einen DNS und LAMP Server, dennoch wähle ich jetzt noch nichts aus, da ich die alleinige Kontrolle darüber haben möchte, was auf meinem System installiert wird. Wir werden die benötigten Pakte später manuell installieren:



Der GRUB Boot Loader wird installiert:


Die Installation des Basissystems ist nun abgeschlossen. Entferne die Installations-CD aus dem CD-Laufwerk und drücke Continue um das System neu zu starten:



Weiter mit dem nächsten Schritt...

3 Das Root-Konto aktivieren

Nach dem Neustart kannst Du Dich mit Deinem zuvor angelegten Benutzernamen (z.B. administrator) anmelden. Da wir alle Schritte dieser Anleitung als Root-Benutzer ausführen müssen, müssen wir nun das Root-Konto aktivieren.

Führe Folgendes aus

sudo passwd root

und richte ein Root Passwort ein. Danach werden wir Root-Benutzer indem wir Folgendes ausführen

su


4 Den SSH Server installieren

Ubuntu installiert OpenSSH nicht standardmäßig, daher tun wir das jetzt. Führe Folgendes aus

apt-get install ssh openssh-server

Du wirst aufgefordert, die Installations-CD erneut einzulegen.

5 Konfiguriere das Netzwerk

Da der Ubuntu Installer unser System so konfiguriert hat, dass es seine Netzwerkeinstellungen via DHCP bezieht, müssen wir dies nun ändern, da ein Server eine statische IP Adresse haben sollte. Bearbeite /etc/network/interfaces und passe es an Deine Wünsche an (in diesem Beispiel-Setup werde ich die IP Adresse 192.168.0.100 verwenden):

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 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
Starte dann Dein Netzwerk neu:

/etc/init.d/networking restart
Bearbeite dann /etc/hosts. So soll es 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 ff02::3 ip6-allhosts
Führe nun Folgendes aus

echo server1.example.com > /etc/hostname

und starte das System neu:

shutdown -r now

Führe danach dies aus

hostname
hostname -f

Beide sollten nun server1.example.com anzeigen.

Von nun an kannst Du einen SSH Klienten wie PuTTY verwenden und Dich von Deinem Arbeitsplatz aus mit Deinem Ubuntu Server verbinden und den verbleibenden Schritten dieser Anleitung folgen.

6 Bearbeite /etc/apt/sources.list und aktualisiere Deine Linux Installation

Bearbeite /etc/apt/sources.list. Kommentiere die CD aus und aktiviere einige andere Paketdatenbanken. So sollte es aussehen:

vi /etc/apt/sources.list


#
# deb cdrom:[Ubuntu-Server 6.10 _Edgy Eft_ - Release i386 (20061025.1)]/ edgy main restricted #deb cdrom:[Ubuntu-Server 6.10 _Edgy Eft_ - Release i386 (20061025.1)]/ edgy main restricted deb http://de.archive.ubuntu.com/ubuntu/ edgy main restricted deb-src http://de.archive.ubuntu.com/ubuntu/ edgy main restricted ## Major bug fix updates produced after the final release of the ## distribution. deb http://de.archive.ubuntu.com/ubuntu/ edgy-updates main restricted deb-src http://de.archive.ubuntu.com/ubuntu/ edgy-updates main restricted ## Uncomment the following two lines to add software from the 'universe' ## repository. ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu ## team, and may not be under a free licence. Please satisfy yourself as to ## your rights to use the software. Also, please note that software in ## universe WILL NOT receive any review or updates from the Ubuntu security ## team. deb http://de.archive.ubuntu.com/ubuntu/ edgy universe deb-src http://de.archive.ubuntu.com/ubuntu/ edgy universe ## Uncomment the following two lines to add software from the 'backports' ## repository. ## N.B. software from this repository may not have been tested as ## extensively as that contained in the main release, although it includes ## newer versions of some applications which may provide useful features. ## Also, please note that software in backports WILL NOT receive any review ## or updates from the Ubuntu security team. # deb http://de.archive.ubuntu.com/ubuntu/ edgy-backports main restricted universe multiverse # deb-src http://de.archive.ubuntu.com/ubuntu/ edgy-backports main restricted universe multiverse deb http://security.ubuntu.com/ubuntu edgy-security main restricted deb-src http://security.ubuntu.com/ubuntu edgy-security main restricted deb http://security.ubuntu.com/ubuntu edgy-security universe deb-src http://security.ubuntu.com/ubuntu edgy-security universe
Führe dann diesen beiden Befehle aus:

apt-get update

apt-get upgrade


7 Ändere die Standard-Shell

/bin/sh ist ein Symlink zu /bin/dash, jedoch brauchen wir /bin/bash, nicht /bin/dash. Daher führen wir Folgendes aus:

rm -f /bin/sh
ln -s /bin/bash /bin/sh

Falls Du dies nicht tust, wird die ISPConfig Installation fehlschlagen.

8 Installiere einige Software-Pakete

Nun installieren wir einige Pakete, die wir später brauchen werden. Führe Folgendes aus

apt-get install binutils cpp cpp-4.0 fetchmail flex gcc gcc-4.0 libarchive-zip-perl libc6-dev libcompress-zlib-perl libdb4.3-dev libpcre3 libpopt-dev linux-kernel-headers lynx m4 make ncftp nmap openssl perl perl-modules unzip zip zlib1g-dev autoconf automake1.9 libtool bison autotools-dev g++

(Dieser Befehl ist eine Zeile!)

9 Quota

Um Quota zu installieren, führen dies asu

apt-get install quota

Bearbeite /etc/fstab. So sieht meine aus (ich habe ,usrquota,grpquota der Partition /dev/sda1 (mount point /; der Name Deines Gerätes ist vielleicht /dev/hda1 oder ähnlich) hinzugefügt):

vi /etc/fstab


# /etc/fstab: static file system information.
# # <file system> <mount point> <type> <options> <dump> <pass> proc /proc proc defaults 0 0 # /dev/sda1 UUID=02cc04f2-98cb-41db-8eb3-94de5f19b22b / ext3 defaults,errors=remount-ro,usrquota,grpquota 0 1 # /dev/sda5 UUID=6b011d54-fb37-469d-9fa8-179b185343c1 none swap sw 0 0 /dev/hdc /media/cdrom0 udf,iso9660 user,noauto 0 0 /dev/ /media/floppy0 auto rw,user,noauto 0 0
Um Quota zu aktivieren, führe diese Befehle aus:

touch /quota.user /quota.group
chmod 600 /quota.*
mount -o remount /
quotacheck -avugm
quotaon -avug

10 DNS Server

Führe Folgendes aus

apt-get install bind9

Aus Sicherheitsgründen möchten wir, dass BIND gechrooted ausgeführt wird, also müssen wir folgende Schritte durchführen:

/etc/init.d/bind9 stop

Bearbeite die Datei /etc/default/bind9 sodass der Daemon als unprivilegierter Benutzer bind ausgeführt wird, chrooted zu /var/lib/named. Ändere die Zeile: OPTIONS=" -u bind" sodass es heißt OPTIONS="-u bind -t /var/lib/named":

vi /etc/default/bind9


OPTIONS="-u bind -t /var/lib/named"
# Set RESOLVCONF=no to not run resolvconf RESOLVCONF=yes
Erstelle die notwendigen Verzeichnisse unter /var/lib:

mkdir -p /var/lib/named/etc
mkdir /var/lib/named/dev
mkdir -p /var/lib/named/var/cache/bind
mkdir -p /var/lib/named/var/run/bind/run

Verschiebe dann das config Verzeichnis von /etc nach /var/lib/named/etc:

mv /etc/bind /var/lib/named/etc

Erstelle einen Symlink vom alten Ort zum neuen config Verzeichnis (um Problemen aus dem Weg zu gehen, wenn Bind in Zukunft aktualisiert wird):

ln -s /var/lib/named/etc/bind /etc/bind

Erzeuge Null und Random Devices und repariere die Berechtigungen der Verzeichnisse:

mknod /var/lib/named/dev/null c 1 3
mknod /var/lib/named/dev/random c 1 8
chmod 666 /var/lib/named/dev/null /var/lib/named/dev/random
chown -R bind:bind /var/lib/named/var/*
chown -R bind:bind /var/lib/named/etc/bind

Wir müssen das Startup Skript /etc/init.d/sysklogd von sysklogd ändern, sodass immer noch wichtige Nachrichten in den System Logs gelogged werden. Ändere die Zeile: SYSLOGD="-u syslog" sodass es heißt: SYSLOGD="-u syslog -a /var/lib/named/dev/log":

vi /etc/init.d/sysklogd


[...]
SYSLOGD="-u syslog -a /var/lib/named/dev/log" [...]
Starte den logging daemon neu:

/etc/init.d/sysklogd restart

Starte BIND und überprüfe /var/log/syslog nach Fehlern:

/etc/init.d/bind9 start

11 MySQL

Um MySQL zu installieren, führen wir Folgendes aus

apt-get install mysql-server mysql-client libmysqlclient15-dev

Wir möchten, dass MySQL auf allen Oberflächen hört, nicht nur auf localhost, daher bearbeiten wir /etc/mysql/my.cnf und kommentieren die Zeile bind-address = 127.0.0.1 aus:

vi /etc/mysql/my.cnf


[...]
#bind-address = 127.0.0.1 [...]
Dann starten wir MySQL neu:

/etc/init.d/mysql restart

Überprüfe nun, ob der Netzwerkbetrieb aktiviert ist. Führe dies aus

netstat -tap

In der Ausgabe solltest Du eine Zeile wie diese sehen:
tcp        0      0 *:mysql                 *:*                     LISTEN     4997/mysqld
Führe Folgendes aus

mysqladmin -u root password yourrootsqlpassword
mysqladmin -h server1.example.com -u root password yourrootsqlpassword

um ein Passwort für den Benutzer Root einzurichten (sonst kann jeder auf Deine MySQL Datenbank zugreifen!).

12 Postfix mit SMTP-AUTH und TLS

Um Postfix mit SMTP-AUTH und TLS zu installieren, führe folgende Schritte aus:

apt-get install postfix libsasl2 sasl2-bin libsasl2-modules libdb3-util procmail

Dir werden zwei Fragen gestellt. Antworte wie folgt:

General type of configuration? <-- Internet Site
Mail name? <-- server1.example.com

Führe dann Folgendes aus

dpkg-reconfigure postfix

Erneut werden Dir ein paar Fragen gestellt:

General type of configuration? <-- Internet Site
Where should mail for root go <-- NONE
Mail name? <-- server1.example.com
Other destinations to accept mail for? (blank for none) <-- server1.example.com, localhost.example.com, localhost
Force synchronous updates on mail queue? <-- No
Local networks? <-- 127.0.0.0/8
Use procmail for local delivery? <-- Yes
Mailbox size limit <-- 0
Local address extension character? <-- +
Internet protocols to use? <-- all

Führe als Nächstes Folgendes aus:

postconf -e 'smtpd_sasl_local_domain ='
postconf -e 'smtpd_sasl_auth_enable = yes'
postconf -e 'smtpd_sasl_security_options = noanonymous'
postconf -e 'broken_sasl_auth_clients = yes'
postconf -e 'smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination'
postconf -e 'inet_interfaces = all'
echo 'pwcheck_method: saslauthd' >> /etc/postfix/sasl/smtpd.conf
echo 'mech_list: plain login' >> /etc/postfix/sasl/smtpd.conf

Danach erstellen wir die Zertifikate für TLS:

mkdir /etc/postfix/ssl
cd /etc/postfix/ssl/
openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024
chmod 600 smtpd.key
openssl req -new -key smtpd.key -out smtpd.csr
openssl x509 -req -days 3650 -in smtpd.csr -signkey smtpd.key -out smtpd.crt
openssl rsa -in smtpd.key -out smtpd.key.unencrypted
mv -f smtpd.key.unencrypted smtpd.key
openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650

Als Nächstes konfigurieren wir Postfix für TLS:

postconf -e 'smtpd_tls_auth_only = no'
postconf -e 'smtp_use_tls = yes'
postconf -e 'smtpd_use_tls = yes'
postconf -e 'smtp_tls_note_starttls_offer = yes'
postconf -e 'smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key'
postconf -e 'smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt'
postconf -e 'smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem'
postconf -e 'smtpd_tls_loglevel = 1'
postconf -e 'smtpd_tls_received_header = yes'
postconf -e 'smtpd_tls_session_cache_timeout = 3600s'
postconf -e 'tls_random_source = dev:/dev/urandom'
postconf -e 'myhostname = server1.example.com'

Die Datei /etc/postfix/main.cf sollte nun wie folgt aussehen:

# See /usr/share/postfix/main.cf.dist for a commented, more complete version
# Debian specific: Specifying a file name will cause the first # line of that file to be used as the name. The Debian default # is /etc/mailname. #myorigin = /etc/mailname smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu) biff = no # appending .domain is the MUA's job. append_dot_mydomain = no # Uncomment the next line to generate "delayed mail" warnings #delay_warning_time = 4h # TLS parameters smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key smtpd_use_tls = yes smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache smtp_tls_session_cache_database = btree:${queue_directory}/smtp_scache # See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for # information on enabling SSL in the smtp client. myhostname = server1.example.com alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = /etc/mailname mydestination = server1.example.com, localhost.example.com, localhost relayhost = mynetworks = 127.0.0.0/8 mailbox_command = procmail -a "$EXTENSION" mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all inet_protocols = all smtpd_sasl_local_domain = smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous broken_sasl_auth_clients = yes smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination smtpd_tls_auth_only = no smtp_use_tls = yes smtp_tls_note_starttls_offer = yes smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem smtpd_tls_loglevel = 1 smtpd_tls_received_header = yes smtpd_tls_session_cache_timeout = 3600s tls_random_source = dev:/dev/urandom
Starte Postfix neu:

/etc/init.d/postfix restart

Die Authentifizierung übernimmt saslauthd. Wir müssen ein paar Dinge ändern, damit es richtig funktioniert. Da Postfix gechrooted in /var/spool/postfix ausgeführt wird, müssen wir Folgendes tun:

mkdir -p /var/spool/postfix/var/run/saslauthd

Nun müssen wir /etc/default/saslauthd bearbeiten um saslauthd zu aktivieren. Entferne # vor START=yes und füge die Zeile PARAMS="-m /var/spool/postfix/var/run/saslauthd -r" hinzu:

vi /etc/default/saslauthd


# This needs to be uncommented before saslauthd will be run automatically
START=yes PARAMS="-m /var/spool/postfix/var/run/saslauthd -r" # You must specify the authentication mechanisms you wish to use. # This defaults to "pam" for PAM support, but may also include # "shadow" or "sasldb", like this: # MECHANISMS="pam shadow" MECHANISMS="pam"
Außerdem müssen wir /etc/init.d/saslauthd bearbeiten und den Ort von saslauthds PID Datei ändern. Ändere den Wert von PIDFILE zu /var/spool/postfix/var/run/${NAME}/saslauthd.pid:

vi /etc/init.d/saslauthd


[...]
PIDFILE="/var/spool/postfix/var/run/${NAME}/saslauthd.pid" [...]
Starte nun saslauthd:

/etc/init.d/saslauthd start

Um zu überprüfen, ob SMTP-AUTH und TLS richtig funktionieren, führe nun folgenden Befehl aus:

telnet localhost 25

Nachdem Du die Verbindung zu Deinem Postfix Mail Server aufgebaut hast, gib Folgendes ein

ehlo localhost

Wenn Du die Zeilen

250-STARTTLS
und

250-AUTH
siehst, ist alles in Ordnung.


Gib ein

quit

um zur Kommandozeile des Systems zurückzukehren.

13 Courier-IMAP/Courier-POP3

Führe dies aus um Courier-IMAP/Courier-IMAP-SSL (für IMAPs auf Port 993) und Courier-POP3/Courier-POP3-SSL (für POP3s auf Port 995) zu installieren:

apt-get install courier-authdaemon courier-base courier-imap courier-imap-ssl courier-pop courier-pop-ssl courier-ssl gamin libgamin0 libglib2.0-0

Zwei Fragen werden Dir gestellt:

Create directories for web-based administration ? <-- No
SSL certificate required <-- Ok

Wenn Du ISPConfig nicht verwenden möchtest, konfigure Postfix so, dass es E-Mails an eine Maildir* des Benutzers sendet:

postconf -e 'home_mailbox = Maildir/'
postconf -e 'mailbox_command ='
/etc/init.d/postfix restart

*Bitte beachte: Wenn Du vorhast ISPConfig auf Deinem System zu verwenden, musst Du dies nicht tun, da ISPConfig die notwendige Konfiguration mit Hilfe von procmail recipes durchführt. Aber pass bitte auf, dass Maildir unter Management -> Server -> Settings -> EMail im ISPConfig Web Interface aktiviert ist.

14 Apache/PHP5

Nun installieren wir Apache:

apt-get install apache2 apache2-common apache2-doc apache2-mpm-prefork apache2-utils libapr0 libexpat1 ssl-cert

Als Nächstes installieren wir PHP5:

apt-get install autoconf automake1.4 autotools-dev libapache2-mod-php5 php5 php5-common php5-curl php5-dev php5-gd php-pear php5-ldap php5-mhash php5-mysql php5-mysqli php5-snmp php5-sqlite php5-xmlrpc php5-xsl php5-imap php5-mcrypt php5-pspell

Folgende Frage wird Dir gestellt:

Continue installing libc-client without Maildir support? <-- Yes

Als Nächstes bearbeiten wir /etc/apache2/apache2.conf

vi /etc/apache2/apache2.conf

und ändern DirectoryIndex zu
[...]
DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.pl index.xhtml [...]
Bearbeite /etc/apache2/ports.conf und füge Listen 443 hinzu:

vi /etc/apache2/ports.conf


Listen 80
Listen 443
Nun müssen wir einige Apache Module (SSL, rewrite, suexec und include) aktivieren:

a2enmod ssl
a2enmod rewrite
a2enmod suexec
a2enmod include

Lade die Apache Konfiguration neu:

/etc/init.d/apache2 force-reload


14.1 PHP global deaktivieren

(Falls Du nicht vorhast ISPConfig auf diesem Server zu installieren, überspringe dieses Kapitel!)

In ISPConfig wirst Du PHP pro Webseite konfigurieren, d.h. Du kannst festlegen, welche Webseite PHP Skripte ausführen kann und welche nicht. Das funktioniert nur, wenn PHP global deaktiviert ist, da sonst alle Webseiten in der Lage wären, PHP Skripte auszuführen, ganz gleich was Du in ISPConfig festlegst.

Um PHP global zu deaktivieren, bearbeiten wir /etc/mime.types und kommentieren die application/x-httpd-php Zeilen aus:

vi /etc/mime.types


[...]
#application/x-httpd-php phtml pht php #application/x-httpd-php-source phps #application/x-httpd-php3 php3 #application/x-httpd-php3-preprocessed php3p #application/x-httpd-php4 php4 [...]
Bearbeite /etc/apache2/mods-enabled/php5.conf und kommentiere folgende Zeilen aus:

vi /etc/apache2/mods-enabled/php5.conf


<IfModule mod_php5.c>
# AddType application/x-httpd-php .php .phtml .php3 # AddType application/x-httpd-php-source .phps </IfModule>
Starte dann Apache neu:

/etc/init.d/apache2 restart


15 Proftpd

Um Proftpd zu installieren, führe Folgendes aus

apt-get install proftpd proftpd-common ucf

Dir wird eine Frage gestellt:

Run proftpd from inetd or standalone? <-- standalone

Aus Sicherheitsgründen kannst Du folgende Zeilen /etc/proftpd/proftpd.conf hinzu fügen (dank Reinaldo Carvalho; nähere Informationen findest Du hier: http://proftpd.org/localsite/Userguide/linked/userguide.html):

vi /etc/proftpd/proftpd.conf


[...]
DefaultRoot ~ IdentLookups off ServerIdent on "FTP Server ready." [...]
ISPConfig erwartet, dass die Konfiguration in /etc/proftpd.conf anstatt in /etc/proftpd/proftpd.conf ist, daher erstellen wir einen Symlink (Du kannst diesen Befehl auslassen, wenn Du ISPConfig nicht installieren möchtest):

ln -s /etc/proftpd/proftpd.conf /etc/proftpd.conf

Starte dann Proftpd neu:

/etc/init.d/proftpd restart

Falls Du eine Nachricht wie diese siehst:

- IPv6 getaddrinfo 'server1.example.com' error: Name or service not known

kannst Du sie ignorieren, da wir IPv6 nicht brauchen.

16 Webalizer

Um webalizer zu installieren, führe einfach Folgendes aus

apt-get install webalizer


17 Die System Uhr synchronisieren

Es macht sich ganz gut die System Uhr mit einem NTP (network time protocol) Server über das Internet zu synchronisieren. Führe einfach dies aus

apt-get install ntp ntpdate

und Deine Systemzeit wird immer synchron sein.

18 Installiere einige Perl Module, die von SpamAssassin (in ISPConfig) benötigt werden

Führe Folgendes aus

apt-get install libhtml-parser-perl libdb-file-lock-perl libnet-dns-perl


19 ISPConfig

Die Konfiguration des Servers ist nun abgeschlossen. Wenn Du magst kannst Du nun ISPConfig installieren. Bitte sieh Dir das ISPConfig Installationshandbuch an: http://www.ispconfig.org/manual_installation.htm

19.1 Eine Notiz über SuExec

Wenn Du CGI Skripte unter suExec ausführen möchtest, solltest Du /var/www als Home Verzeichnis für Web Sites festlegen, die von ISPConfig erstellt werden, da Ubuntus suExec mit /var/www as Doc_Root erstellt wird. Führe /usr/lib/apache2/suexec2 -V aus und die Ausgabe sollte wie folgtaussehen:

/usr/lib/apache2/suexec2 -V

Wenn Du ISPConfig nicht im Expertenmodus installierst und den Standard Web Root (/var/www) änderst, kannst Du CGI Skripte unter suExec mit ISPConfig ausführen. Der folgende Screenshot stammt von einer ISPConfig Installation im Expertenmodus. Wenn Du ISPConfig verwenden möchtest, dann ändere nicht den Standard Web Root:

20 Links