Das Perfekte Setup - CentOS 4.4 (32-bit)

Version 1.2
Author: Till Brehm <t [dot] brehm [at] projektfarm [dot] com, Falko Timme


Diese Anleitung veranschaulicht, wie man einen CentOS 4.4 basierten Server einrichtet, der alle Dienste anbietet, die von ISPs und Hostern (Web Server (SSL-fähgi), Mail Server (mit SMTP-AUTH und TLS!), DNS Server, FTP Server, MySQL Server, POP3/IMAP, Quota, Firewall, etc.) benötigt werden. Die Anleitung ist zwar für die 32-Bit Version von CentOS 4.4 geschrieben - sie sollte aber mit sehr kleinen Modifikationen genauso gut für die 64-Bit Version funktionieren.

Folgende Software werde ich verwenden:
  • Web Server: Apache 2.0.x
  • Database Server: MySQL 4.1
  • Mail Server: Postfix (einfacher zu konfigurieren als sendmail; hat eine kürzere Geschichte von Sicherheitslöchern als sendmail)
  • DNS Server: BIND9 (chrooted!)
  • FTP Server: proftpd
  • POP3/IMAP server: dovecot
  • Webalizer für Webseiten Statistiken
Am Ende erhältst Du ein System, das zuverlässig arbeitet. Wenn Du möchtest, kannst Du im Anschluss das kostenlose Webhosting Control Panel ISPConfig installieren.

Allerdings möchte ich 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 kann aber nicht garantieren, dass diese Lösung bei jedem funktioniert bzw. für jeden die richtige ist!

Voraussetzungen

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

1 Installation des Basissystems

Starte mit Deiner CentOS 4.4 CD (CD 1).


Es kann etwas dauern das Installationsmedium zu testen, also überspringen wir diesen Schritt hier:


Der Willkommens-Screen des CentOS Installers erscheint. Klicke auf Next:


Wähle als Nächstes Deine Sprache:


Wähle Dein Tastaturlayout:


Wir wollen einen Server installieren, also wählen wir Server hier:


Als Nächstes nehmen wir die Partitionierung vor. Wähle Automatically partition. Damit erhältst Du eine kleine /boot Partition und eine große / Partition, was für unsere Zwecke in Ordnung ist:


Ich installiere CentOS 4.4 auf einem frisch aufgesetzten System, also antworte ich mit Yes auf die Frage Would you like to initialize this drive, erasing ALL DATA?



Wähle Remove all partitions on this system.


Wir möchten alle Linux Partitionen entfernen, also antworten wir mit Yes auf folgende Frage:


Der Installer präsentiert Dir einen Überblick über Deine neuen Partitionen. Klicke auf Next:


Jetzt wird der Boot Loader GRUB installiert. Du kannst die Standardeinstellungen unverändert lassen und auf Next klicken:


Weiter mit den Netzwerkeinstellungen. Mit der Standardeinstellung wird das Netzwerk Interface mit DHCP konfiguriert, aber wir installieren einen Server, also sind statische IP Adressen hier keine schlechte Idee... Klicke auf das Edit Feld rechts oben. Entferne in dem Fenster, das sich öffnet, die Markierung von Configure using DHCP und weise Deiner Netzwerkkarte eine statische IP Adresse zu (in dieser Anleitung verwende ich die IP Adresse 192.168.0.100 für Demonstrationszwecke):



Richte den Hostnamen manuell ein, z.B. server1.example.com und gib ein Gateway (z.B. 192.168.0.1) und bis zu drei DNS Server (z.B. 145.253.2.75, 193.174.32.18 und 194.25.0.60) ein:


Ich möchte am Ende der Anleitung ISPConfig installieren, das seine eigene Firewall hat. Daher deaktiviere ich jetzt die Standard-Firewall von CentOS. Natürlich kannst Du sie auch aktiviert lassen und sie nach eigenem Ermessen konfigurieren (dann solltest Du später aber keine andere Firewall verwenden, da diese höchstwahrscheinlich die CentOS Firewall beeinflussen wird).

SELinux ist eine Sicherheitserweiterung von CentOS. Meiner Meinung nach ist die Konfiguration eines sicheren Systems überflüssig und verursacht für gewöhnlich mehr Probleme als dass es Vorteile verschafft. Daher deaktiviere ich es (das ist ein Muss, wenn Du später ISPConfig installieren möchtest).


Klicke auf Proceed:


Wähle die Standardsprache für das System und füge weitere Sprachen hinzu, falls nötig:



Wähle Deine Zeitzone:


Weise root ein Passwort zu:


Nun müssen wir die Paketgruppen auswählen, die wir installieren wollen. Wähle Editors, Text Based Internet, Server Configuration Tools, Web Server, Mail Server, DNS Name Server, FTP Server, MySQL Database, Development Tools, Administration Tools and System Tools und klicke auf Next:


Der Installer teilt Dir mit, welche CDs benötigt werden um die ausgewählten Pakete zu installieren:



Die Installation beginnt. Das kann ein paar Minuten dauern:


Nun ist die Installation abgeschlossen, Du kannst die CD entfernen und Deinen Computer neu starten:


Weiter mit der Konfiguration...

2 /etc/hosts anpassen

Als Nächstes bearbeiten wir /etc/hosts. So soll es aussehen:

vi /etc/hosts


# Do not remove the following line, or various programs
# that require network functionality will fail. 127.0.0.1 localhost.localdomain localhost 192.168.0.100 server1.example.com server1

3 Konfiguration weiterer IP Adressen

(Dieser Abschnitt ist optional. Er zeigt lediglich, wie Du Deinem Netzwerk Interface eth0 weitere IP Adressen hinzufügen kannst, falls Du mehr als eine benötigst. Wenn eine IP Adresse für Dich in Ordnung ist, kannst Du diesen Abschnitt überspringen.)

Gehen wir davon aus, dass unser Netzwerk Interface eth0 ist. Dann gibt es eine Datei /etc/sysconfig/network-scripts/ifcfg-eth0 die wie folgt aussieht:

vi /etc/sysconfig/network-scripts/ifcfg-eth0


DEVICE=eth0
BOOTPROTO=static BROADCAST=192.168.0.255 HWADDR=00:0C:29:C8:AA:7C IPADDR=192.168.0.180 NETMASK=255.255.255.0 NETWORK=192.168.0.0 ONBOOT=yes TYPE=Ethernet
Nun wollen wir das virtuelle Interface eth0:0 mit der IP Adresse 192.168.0.101 erstellen. Dazu brauchen wir nur die Datei /etc/sysconfig/network-scripts/ifcfg-eth0:0 erstellen, die wie folgt aussieht (wir können die HWADDR Zeile weglassen, da es die gleiche Netzwerkkarte ist):

vi /etc/sysconfig/network-scripts/ifcfg-eth0:0


DEVICE=eth0:0
BOOTPROTO=static BROADCAST=192.168.0.255 IPADDR=192.168.0.101 NETMASK=255.255.255.0 NETWORK=192.168.0.0 ONBOOT=yes TYPE=Ethernet
Danach müssen wir das Netzwerk neu starten:

/etc/init.d/network restart

Vielleicht möchtest Du ebenfalls /etc/hosts anpassen, nachdem Du neue IP Adressen hinzugefügt hast, obwohl dies nicht notwendig ist.

4 Konfiguration der Firewall

(Du kannst diesen Abschnitt überspringen, wenn Du die Firewall bereits während der Installation des Basissystems deaktiviert hast.)

Ich möchte am Ende dieser Anleitung ISPConfig installieren, das seine eigene Firewall hat. Daher deaktiviere ich jetzt die Standard-Firewall von CentOS. Natürlich kannst Du sie auch aktiviert lassen und sie nach eigenem Ermessen konfigurieren (dann solltest Du später aber keine andere Firewall verwenden, da diese höchstwahrscheinlich die CentOS Firewall beeinflussen wird).

Führe Folgendes aus

system-config-securitylevel


Wähle Disabled und drücke OK.

Um zu überprüfen, ob die Firewall tatsächlich deaktiviert wurde, kannst Du dies danach ausführen

iptables -L

Die Ausgabe sollte wie folgt aussehen:
[root@server1 ~]# iptables -L
Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination

5 SELinux deaktivieren

(Du kannst diesen Abschnitt überspringen, wenn Du SELinux bereits während der Installation des Basissystems deaktiviert hast.)

SELinux ist eine Sicherheitserweiterung von CentOS. Meiner Meinung nach ist die Konfiguration eines sicheren Systems überflüssig und verursacht für gewöhnlich mehr Probleme als dass es Vorteile verschafft. Daher deaktiviere ich es (das ist ein Muss, wenn Du später ISPConfig installieren möchtest).

Bearbeite /etc/selinux/config und setze SELINUX=disabled:

vi /etc/selinux/config


# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - SELinux is fully disabled. SELINUX=disabled # SELINUXTYPE= type of policy in use. Possible values are: # targeted - Only targeted network daemons are protected. # strict - Full SELinux protection. SELINUXTYPE=targeted
Danach müssen wir das System neu starten:

shutdown -r now

6 Installation einiger Software-Pakete

Zunächst importieren wir die GPG keys für die Software-Pakete:

rpm --import /usr/share/rhn/RPM-GPG-KEY*

Dann aktualisieren wir unsere vorhandenen Pakete:

yum update

Nun installieren wir einige Software-Pakete, die wir später benötigen:

yum install fetchmail wget bzip2 unzip zip nmap openssl lynx fileutils ncftp gcc gcc-c++


7 Quota

Um Quota zu installieren, führen wir diesen Befehl aus:

yum install quota

Bearbeite /etc/fstab und füge ,usrquota,grpquota der / Partition (/dev/VolGroup00/LogVol00) hinzu:

vi /etc/fstab


# This file is edited by fstab-sync - see 'man fstab-sync' for details
/dev/VolGroup00/LogVol00 / ext3 defaults,usrquota,grpquota 1 1 LABEL=/boot /boot ext3 defaults 1 2 none /dev/pts devpts gid=5,mode=620 0 0 none /dev/shm tmpfs defaults 0 0 none /proc proc defaults 0 0 none /sys sysfs defaults 0 0 /dev/VolGroup00/LogVol01 swap swap defaults 0 0 /dev/hdc /media/cdrom auto pamconsole,exec,noauto,managed 0 0 /dev/fd0 /media/floppy auto pamconsole,exec,noauto,managed 0 0
Führe dann dies aus

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

um Quota zu aktivieren.

8 Installation eines Chrooted DNS Servers (BIND9)

Um einen chrooted BIND9 zu installieren, führen wir Folgendes aus:

yum install bind-chroot

Dann dies:

chmod 755 /var/named/
chmod 775 /var/named/chroot/
chmod 775 /var/named/chroot/var/
chmod 775 /var/named/chroot/var/named/
chmod 775 /var/named/chroot/var/run/
chmod 777 /var/named/chroot/var/run/named/
cd /var/named/chroot/var/named/
ln -s ../../ chroot
chkconfig --levels 235 named on
/etc/init.d/named start

BIND wird in einem chroot Gefängnis unter /var/named/chroot/var/named/ ausgeführt. Ich werde ISPConfig verwenden um BIND (Zonen, etc.) zu konfigurieren.

9 MySQL (4.1)

Um MySQL zu installieren, führen wir Folgendes aus:

yum install mysql mysql-devel mysql-server

Es kann sein, dass das MySQL Init Skript auf CentOS Probleme verursacht, wenn Du versuchst, MySQL neu zu starten. In einigen Fällen versucht es MySQL zu starten bevor der vorhergehende MySQL Prozess abgeschlossen ist, was zu einem Fehlschlag führt. Um dies zu verhindern, bearbeiten wir den restart Bereich von /etc/init.d/mysqld und fügen ein paar Sekunden Verzögerung zwischen dem Stopp und dem Start von MySQL ein.

Bearbeite /etc/init.d/mysqld:

vi /etc/init.d/mysqld

und ändere diesen Bereich:
restart(){
stop start }
sodass es wie folgt aussieht:
restart(){
stop sleep 3 start }
Damit wird eine Verzögerung von drei Sekunden eingefügt.

Dann erstellen wir die System Startup Links für MySQL (sodass MySQL automatisch beim Hochfahren startet) und starten den MySQL Server:

chkconfig --levels 235 mysqld on
/etc/init.d/mysqld start

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

netstat -tap

Eine Zeile wie diese solle angezeigt werden:
tcp        0      0 *:mysql                     *:*                         LISTEN      2995/mysqld
Wenn nicht, bearbeite /etc/my.cnf und kommentiere die Option skip-networking aus:

vi /etc/my.cnf


#skip-networking
und starte Deinen MySQL Server neu:

/etc/init.d/mysqld restart

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 anzulegen (anderenfalls kann jeder auf Deine MySQL Datenbank zugreifen!).

10 Postfix mit SMTP-AUTH und TLS

Nun installieren wir Postfix und dovecot (dovecot wird unser POP3/IMAP Server sein):

yum install cyrus-sasl cyrus-sasl-devel cyrus-sasl-gssapi cyrus-sasl-md5 cyrus-sasl-plain postfix dovecot

Als Nächstes konfigurieren wir SMTP-AUTH und TLS:

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'
postconf -e 'mynetworks = 127.0.0.0/8'

Wir müssen /usr/lib/sasl2/smtpd.conf bearbeiten, sodass Postfix PLAIN und LOGIN Logins zulässt. Auf einem 64Bit Centos 4.4 musst Du stattdessen die Datei /usr/lib64/sasl2/smtpd.conf bearbeiten. So sollte es aussehen:

vi /usr/lib/sasl2/smtpd.conf


pwcheck_method: saslauthd
mech_list: plain login

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

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'

Nach diesen Konfigurationsschritten solltest Du nun eine Datei /etc/postfix/main.cf haben, die wie folgt aussieht (ich habe alle Kommentare entfernt):

vi /etc/postfix/main.cf


queue_directory = /var/spool/postfix
command_directory = /usr/sbin daemon_directory = /usr/libexec/postfix mail_owner = postfix inet_interfaces = all mydestination = $myhostname, localhost.$mydomain, localhost unknown_local_recipient_reject_code = 550 alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases debug_peer_level = 2 debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin xxgdb $daemon_directory/$process_name $process_id & sleep 5 sendmail_path = /usr/sbin/sendmail.postfix newaliases_path = /usr/bin/newaliases.postfix mailq_path = /usr/bin/mailq.postfix setgid_group = postdrop html_directory = no manpage_directory = /usr/share/man sample_directory = /usr/share/doc/postfix-2.1.5/samples readme_directory = /usr/share/doc/postfix-2.1.5/README_FILES 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 mynetworks = 127.0.0.0/8 smtpd_tls_auth_only = no smtp_use_tls = yes smtpd_use_tls = yes smtp_tls_note_starttls_offer = yes smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt 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
CentOS' dovecot daemon bietet standardmäßig nur IMAP und IMAPs Dienste an. Da wir aber auch POP3 und POP3s möchten, müssen wir dovecot dementsprechend konfigurieren. Wir bearbeiten /etc/dovecot.conf und fügen die Zeile protocols = imap imaps pop3 pop3s ein:

vi /etc/dovecot.conf


[...]
# Base directory where to store runtime data. #base_dir = /var/run/dovecot/ # Protocols we want to be serving: # imap imaps pop3 pop3s protocols = imap imaps pop3 pop3s # IP or host address where to listen in for connections. It's not currently # possible to specify multiple addresses. "*" listens in all IPv4 interfaces. [...]
Starte nun Postfix, saslauthd und dovecot:

chkconfig --levels 235 sendmail off
chkconfig --levels 235 postfix on
chkconfig --levels 235 saslauthd on
chkconfig --levels 235 dovecot on
/etc/init.d/sendmail stop
/etc/init.d/postfix start
/etc/init.d/saslauthd start
/etc/init.d/dovecot start

Um herauszufinden, ob SMTP-AUTH und TLS richtig funktionieren, führen wir nun folgenden Befehl aus:

telnet localhost 25

Nachdem Du die Verbindung zu Deinem Postfix Mail Server aufgebaut hast, tippe

ehlo localhost

Wenn Du die Zeile

250-STARTTLS

und

250-AUTH

siehst, ist alles in Ordnung.


Tippe

quit

um zur Kommandozeile des Systems zurückzukehren.

10.1 Maildir

dovecot verwendet ein Maildir Format (nicht mbox), wenn Du also ISPConfig auf dem Server installierst, pass bitte auf, dass Du Maildir unter Management -> Server -> Settings -> Email aktivierst. ISPConfig nimmt dann die notwendige Konfiguration vor.

Wenn Du ISPConfig nicht installieren möchtest, dann musst Du Postfix so konfigurieren, dass es E-Mails an eine Maildir des Benutzers sendet:

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

11 Apache2 mit PHP

Nun installieren wir Apache mit PHP (dies istPHP 4.3.9; CentOS bietet keine PHP5 Pakete):

yum install php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-devel

Bearbeite dann /etc/httpd/conf/httpd.conf:

vi /etc/httpd/conf/httpd.conf

und ändere DirectoryIndex zu
DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.pl
Konfiguriere nun Dein System so, dass Apache beim Hochfahren gestartet wird:

chkconfig --levels 235 httpd on

Starte Apache:

/etc/init.d/httpd start


11.1 PHP global deaktivieren

(Wenn Du nicht vorhast, ISPConfig auf diesem Server zu installieren, überspringe bitte diesen Abschnitt!)

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

Um PHP global zu deaktivieren, bearbeiten wir /etc/httpd/conf.d/php.conf und kommentieren die AddType Zeile aus:

vi /etc/httpd/conf.d/php.conf


#
# PHP is an HTML-embedded scripting language which attempts to make it # easy for developers to write dynamically generated webpages. # LoadModule php4_module modules/libphp4.so # # Cause the PHP interpreter to handle files with a .php extension. # #AddType application/x-httpd-php .php # AddType application/x-httpd-php-source .phps # # Add index.php to the list of files that will be served as directory # indexes. # DirectoryIndex index.php
Danach starten wir Apache neu:

/etc/init.d/httpd restart


12 ProFTPd

ISPConfig unterstützt proftpd besser als vsftpd, also entfernen wir vsftpd:

yum remove vsftpd

Da CentOS kein proftpd Paket hat, müssen wir eine yum Paketdatenbank von Drittanbietern verwenden um es zu installieren:

cd /etc/yum.repos.d/
wget http://centos.karan.org/kbsingh-CentOS-Extras.repo
rpm --import http://centos.karan.org/RPM-GPG-KEY-karan.org.txt

Nun können wir proftpd installieren:

yum install proftpd

Wir erstellen die System Startup Links für proftpd und starten es:

chkconfig --levels 235 proftpd on
/etc/init.d/proftpd start

Erstelle dann die Datei /etc/pam.d/ftp mit folgendem Inhalt (sonst kannst Du Dich nicht mit Systembenutzern unter Verwendung von FTP anmelden):

vi /etc/pam.d/ftp


#%PAM-1.0
auth required pam_unix.so nullok account required pam_unix.so session required pam_unix.so
und starte proftpd neu:

/etc/init.d/proftpd restart


13 Webalizer

Um Webalizer zu installieren, führe einfach dies aus

yum install webalizer


14 Synchronisation der System-Uhr

Wenn Du die System-Uhr mit einem NTP Server synchronisieren möchtest, führe Folgendes aus:

yum install ntp
chkconfig --levels 235 ntpd on
ntpdate 0.pool.ntp.org
/etc/init.d/ntpd start

15 Installation einiger Perl Module

In ISPConfig ist SpamAssassin integriert, das einige Perl Module benötigt um zu funktionieren. Wir installieren diese Perl Module mit einem einzigen Befehl:

yum install perl-DBI perl-Net-DNS perl-Digest-SHA1

Wir benötigen außerdem das Modul HTML::Parser. Wir könnten das CentOS Paket perl-HTML-Parser installieren, jedoch ist diese Version für unsere SpamAssassin Version zu alt. Während der Installation von ISPConfig würde folgende Fehlermeldung auftauchen:

REQUIRED module out of date: HTML::Parser

Daher müssen wir das neuste HTML::Parser Modul mit Hilfe der Perl Kommandozeile installieren.

Führe folgenden Befehl aus um die Perl Kommandozeile zu starten:

perl -MCPAN -e shell

Wenn Du die Perl Kommandozeile zum ersten Mal ausführst, werden Dir ein paar Fragen gestellt. In den meisten Fällen sind die Standardantworten in Ordnung. Da es für CentOS kein ncftp Paket gibt, kann die Perl Kommandozeile keine ncftpget und ncftp Programme finden und Du siehst etwas in der Art:

Warning: ncftpget not found in PATH
Where is your ncftpget program? []
Warning: ncftp not found in PATH
Where is your ncftp program? []

Es ist in Ordnung in beiden Fällen ENTER zu drücken.

Bitte merke: Falls Du auf Deinem System eine Firewall ausführst, kann es sein, dass Du sie ausschalten musst während Du in der Perl Kommandozeile bist, damit die benötigten Module ohne große Verzögerung bezogen werden können. Danch kannst Du sie wieder anschalten.

Gib nun folgenden Befehl ein um das Perl Modul HTML::Parser zu installieren:

install HTML::Parser

Wenn die Installation erfolgreich verlaufen ist, siehst Du am Ende eine Zeile wie diese:

/usr/bin/make install -- OK

Gib danach Folgendes ein

q

um die Perl Kommandozeile zu verlassen.

16 zlib aktualisieren

CentOS hat eine veraltete Version von zlib (1.2.1), die ein Sicherheitsloch hat. Daher kompilieren und installieren wir die neuste Version zlib (1.2.3) aus den Quellen:

cd /tmp
wget http://www.zlib.net/zlib-1.2.3.tar.gz
tar xvfz zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure --shared
make
make install

17 Das Ende

Die Konfiguration des Servers ist nun abgeschlossen. Wenn Du magst, kannst Du nun ISPConfig installieren.

17.1 Eine Notiz über SuExec

Wenn Du CGI Skripte unter suExec ausführen möchtest, solltest Du /var/www als den Web Root für Web Sites festlegen, die von ISPConfig erstellt werden, da CentOS' suExec mit /var/www als Doc_Root erstellt wird. Führe Folgendes aus

/usr/sbin/suexec -V

und die Ausgabe sollte wie folgt aussehen:


Sofern Du ISPConfig nicht im Expertenmodus installierst und den Standard-Web-Root änderst (/var/www), kannst Du CGI Skripte unter suExec mit ISPConfig ausführen.

18 Links