Fedora 8 Server Setup: LAMP, Email, DNS, FTP, ISPConfig (auch bekannt als Der Perfekte Server)

Version 1.0
Author: Falko Timme


Diese detailierte Anleitung veranschaulicht, wie man einen Fedora 8 Server einrichtet, der alle Dienste bereitstellt, die von ISPs und Hosters: Apache Web Server (SSL-fähig), Postfix Mail Sserver mit SMTP-AUTH und TLS, BIND DNS Server, Proftpd FTP Server, MySQL Server, Dovecot POP3/IMAP, Quota, Firewall, etc. benötigt werden. Diese Anleitung ist für die 32-bit Version von Fedora 8 geschrieben, aber sie sollte mit kleinen Änderungen auch auf die 64-bit Version passen.

Folgende Software werde ich verwenden:
  • Web Server: Apache 2.2.6
  • PHP 5.2.4
  • Database Server: MySQL 5.0.45
  • Mail Server: Postfix
  • DNS Server: BIND9 (chrooted)
  • FTP Server: proftpd
  • POP3/IMAP server: Dovecot
  • Webalizer für Web Seiten Statistiken
Im Endeffekt solltest Du ein System haben, das zuverlässig arbeitet. Wenn Du magst, kannst Du das kostenlose Webhosting Control Panel ISPConfig (das heißt ISPConfig funktioniert standardmäßig) installieren.

Allerdings möchte ich an dieser Stelle darauf hinweisen, dass dies hier nicht der einzige Weg ist, ein solches System zu installieren. Es gibt viele Möglichkeiten - ich selbst habe mich für diese entschieden. Ich kann aber nicht garantieren, dass diese Lösung bei jedem funktioniert bzw. für jeden die richtige ist!

1 Voraussetzungen

Um ein solches System zu installieren, brauchst Du Folgendes:

2 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 bei Dir anders sein, Du musst sie an den gegebenen Stellen ersetzen.

3 Installation des Basissystems

Starte von Deiner Fedora 8 DVD. Wähle Install or upgrade an existing system:


Es kann ziemlich lange dauern das Installationsmedium zu testen, also überspringen wir wir diesen Test hier:


Der Willkommensbildschirm des Fedora Installers erscheint. Klicke auf Next:


Wähle eine Sprache aus:


Wähle ein Tastaturlayout aus:


Ich installiere Fedora 8 auf einem neu aufgesetzen System, also beantworte ich die Frage Would you like to initialize this drive, erasing ALL DATA? mit Yes:


Als Nächstes führen wir die Partitionierung durch. Wähle Remove Linux partitions on selected drives and create default layout. Du erhältst dabei eine kleine /boot Partition und eine große / Partition, was für unsere Zwecke gut geeignet ist:


Wir möchten alle Linux Partitionen entfernen (es ist ein neu aufgesetztes System!), also beantworten wir folgende Frage mit Yes:


In den Netzwekeinstellungen. Mit der Standardeinstellung wird die Netzwerkbenutzeroberfläche mit DHCP konfiguriert, aber wir installieren einen Server, also sind statische IP Adressen keine schlechte Idee... Klicke rechts auf Edit:



Wähle im nächsten Fenster Enable IPv4 support > Manual configuration und gib Deiner Netzwerkkarte eine statische IP Adresse und Netzmaske (für Demonstrationszwecke verwende ich hier die IP Adresse 192.168.0.100 und Netzmaske 255.255.255.0; wenn Du Dir bezüglich der richtigen Werte nicht sicher bist, http://www.subnetmask.info kann helfen). Entferne das Häkchen für Enable IPv6 support:


Richte den Hostnamen manuell, z.B. server1.example.com, und gib ein Gateway (z.B. 192.168.0.1) ein. Sowie zwei DNS Server (z.B. 213.191.92.86 und 193.174.32.18):


Wähle Deine Zeitzone:


Gib root ein Passwort:


Wähle nun die Software, die wir installieren wollen. Entferne das Häkchen für Office and Productivity und markiere dafür Software Development und Web server. Markiere dann Customize now und klicke auf Next:


Nun müssen wir die Paketgruppen auwählen, die wir installieren wollen. Wähle Editors, Text-based Internet, Development Libraries, Development Tools, DNS Name Server, FTP Server, Mail Server, MySQL Database, Server Configuration Tools, Web Server, Administration Tools, Base, Hardware Support, Java, System Tools (hebe die Markierungen für alle anderen Paketgruppen auf) und klicke auf "Next":


Der Installer überprüft die Abhängigkeiten der ausgewählten Pakete:


Klicke auf Next um die Installation zu starten:


Die Festplatte wird formatiert:


Die Installation startet. Dies dauert ein paar Minuten:



Danach wird der GRUB Bootloader installiert:


Letztendlich ist die Installation abgeschlossen und Du kannst die DVD entfernen und den Computer neu starten:


Nach dem Neustart wirst Du folgenden Screen sehen. Verlasse ihn indem Du "Exit" drückst:


Nun zur Konfiguration...

4 /etc/hosts anpassen

Als Nächstes bearbeiten wir die Datei /etc/hosts dass sie so aussieht:

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 ::1 localhost6.localdomain6 localhost6
Es ist wichtig, dass Du eine Zeile für server1.example.com hinzufügst und server1.example.com und server1 aus der Zeile 127.0.0.1 entfernst.

5 Konfiguriere zusätzliche IP Adressen

(Dieses Kapitel ist völlig optional.Es zeigt Dir, wie Du zusätzliche IP Adressen Deiner Netzwerkoberfläche eth0 hinzufügst, falls Du mehr als eine IP Adresse benötigst. Wenn Du nur eine IP Adresse brauchst, kannst Du dieses Kapitel überspringen.)

Gehen wir mal davon aus, dass unsere Netzwerkoberfläche eth0 ist. Es gibt eine Datei /etc/sysconfig/network-scripts/ifcfg-eth0 die so aussieht:

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


# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0 BOOTPROTO=static BROADCAST=192.168.0.255 HWADDR=00:0C:29:08:8F:8E IPADDR=192.168.0.100 NETMASK=255.255.255.0 NETWORK=192.168.0.0 ONBOOT=yes
Nun wollen wir die virtuelle Oberfläche eth0:0 mit der IP Adresse 192.168.0.101 erstellen. Dazu müssen wir nur die Datei /etc/sysconfig/network-scripts/ifcfg-eth0:0 erstellen, die wie folgt aussieht (die HWADDR Zeile können wir auslassen, da es die gleiche physikalische 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
Danach müssen wir das Netzwerk neu starten:

/etc/init.d/network restart

Du möchtest vielleicht auch die Datei /etc/hosts anpassen, nachdem Du die neuen IP Adressen hinzugefügt hast, obwohl dies nicht notwendig ist.

Führe Folgendes aus

ifconfig

Nun solltest Du Deine neue IP Adresse in der Ausgabe sehen:

[root@server1 ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:08:8F:8E
inet addr:192.168.0.100 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe08:8f8e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:327 errors:0 dropped:0 overruns:0 frame:0
TX packets:337 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:28434 (27.7 KiB) TX bytes:56947 (55.6 KiB)
Interrupt:17 Base address:0x1400

eth0:0 Link encap:Ethernet HWaddr 00:0C:29:08:8F:8E
inet addr:192.168.0.101 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:17 Base address:0x1400

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:560 (560.0 b) TX bytes:560 (560.0 b)

[root@server1 ~]#


6 Konfiguriere Firewall

Am Ende dieser Anleitung möchte ich ISPConfig installieren, das seine eigene Firewall hat. Daher deaktiviere ich jetzt die Fedora Standard-Firewall. Natürlich ist es Dir überlassen sie aktiviert zu lassen und sie nach Deinen Bedürfnissen zu konfigurieren (aber dann solltest Du keine andere Firewall verwenden, da sie höchstwahrscheinlich die Fedora Firewall beeinflusst).

Starte:

system-config-securitylevel


Wähle "Disabled" und drücke "OK".

Um zu überprüfen, dass die Firewall wirklich deaktiviert wurde, kannst Du dies danach laufen lassen.

iptables -L

So sollte die Ausgabe 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
[root@server1 ~]#


7 SELinux deaktivieren

SELinux ist eine Sicherheitserweiterung von Fedora, die eine erweiterte Sicherheit bereitstellen sollte. Meiner Meinung nach brauchst Du ein sicheres System nicht konfigurieren. Es verursacht meistens mehr Probleme als Vorteile. Daher deaktiviere ich es (dies ist ein MUSS wenn Du ISPConfig später 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 - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
#       targeted - Targeted processes are protected,
#       mls - Multi Level Security protection.
SELINUXTYPE=targeted
# SETLOCALDEFS= Check local definition changes
SETLOCALDEFS=0
Danach müssen wir das System neu starten:

shutdown -r now


8 Installiere die Software

Zuerst importieren wir die GPG Keys für die Software-Pakete:

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*

Dann aktualisieren wir unsere bereits existierenden Pakete:

yum update

Nun installieren wir ein paar Software-Pakete, die wir später brauchen werden:

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


9 Quota

(Wenn Du ein anderes Partitionsschema verwendet hast als ich es habe, musst Du dieses Kapitel abstimmen, sodass Quota auf die Partitionen an entsprechender Stelle abgestimmt wird)

Um Quota zu installieren, starten wir folgenden Befehl:

yum install quota

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

vi /etc/fstab


/dev/VolGroup00/LogVol00 /                       ext3    defaults,usrquota,grpquota        1 1
LABEL=/boot /boot ext3 defaults 1 2 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 /dev/VolGroup00/LogVol01 swap swap defaults 0 0
Führe Folgendes aus

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

um Quota zu aktivieren.

10 Installiere einen Chrooted DNS Server (BIND9)

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

yum install bind-chroot

Als Nächstes ändern wir ein paar wenige Zulassungen und starten BIND:

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 läuft unter einem Chroot Gefängnis unter /var/named/chroot/var/named/. Ich werde ISPConfig dazu verwenden um BIND (zones, etc.) zu konfigurieren.

11 MySQL (5.0)

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

yum install mysql mysql-devel mysql-server

Dann erstellen wir die System Startup Links für MySQL (sodass MySQL automatisch startet, immer wenn das System hochfährt) und starten den MySQL Server:

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

Nun überprüfe ob der Netzwerkbetrieb aktiviert ist. Lass Folgendes laufen

netstat -tap | grep mysql

Es sollte soetwas in der Art anzeigen:

[root@server1 named]# netstat -tap | grep mysql
tcp 0 0 *:mysql *:* LISTEN 2059/mysqld
[root@server1 named]#

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

Lass Folgendes laufen

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

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

12 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

Nun 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 die Datei /usr/lib/sasl2/smtpd.conf so bearbeiten, dass Postfix PLAIN und LOGIN Anmeldungen zulässt. So sollte es aussehen:

vi /usr/lib/sasl2/smtpd.conf


pwcheck_method: saslauthd
mech_list: plain login
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 'smtpd_sasl_authenticated_header = yes'

Dann richten wir den Hostnamen in unserer Postfix Installation ein (vergewissere Dich, dass Du server1.example.com mit Deinem eigenen Hostnamen ersetzt):

postconf -e 'myhostname = server1.example.com'

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

cat /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.4.5/samples readme_directory = /usr/share/doc/postfix-2.4.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 smtpd_sasl_authenticated_header = yes myhostname = server1.example.com
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 festzustellen, ob SMTP-AUTH und TLS richtig funktionieren, lassen wir folgenden Befehl laufen:

telnet localhost 25

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

ehlo localhost

Wenn Du die Zeile

250-STARTTLS

und diese Zeile siehst,

250-AUTH LOGIN PLAIN

dann ist alles Bestens.

[root@server1 ssl]# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 server1.example.com ESMTP Postfix
ehlo localhost
250-server1.example.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
quit
221 2.0.0 Bye
Connection closed by foreign host.
[root@server1 ssl]#

Gib Folgendes ein

quit

um zur Kommandozeile des Systems zurück zu kehren.

12.1 Maildir

Dovecot verwended ein Maildir Format (nicht mbox), wenn Du also ISPConfig auf Deinen Server installierst, bitte pass auf, dass Maildir unter Management -> Server -> Settings -> Email aktivierst. ISPConfig übernimmt dann die notwendige Konfiguration.

Wenn Du ISPConfig nicht installieren möchtest, musst Du Postfix konfigurieren, damit es E-Mails an eine Maildir eines Benutzers schickt (das kannst Du auch machen, wenn Du ISPConfig verwendest - es tut nich weh ;-)):

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

13 Apache2 mit PHP5

Nun installieren wir Apache mit PHP5 (das ist PHP 5.2.4):

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 damit Apache startet, wenn Du hochfährst:

chkconfig --levels 235 httpd on

Starte Apache:

/etc/init.d/httpd start


13.1 Deaktiviere PHP Global

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

In ISPConfig wirst Du PHP für jede Web Seite konfigurieren, das heißt Du kannst festlegen, welche Web Seite PHP Skripte laufen lassen kann und welche nicht. Dies funktioniert nur, wenn PHP global deaktiviert ist, da sonst alle Web Seiten in der Lage wären PHP Skripte laufen zu lassen, egal was Du in ISPConfig angibst.

Um PHP global zu deaktivieren, bearbeiten wir die Datei /etc/httpd/conf.d/php.conf und kommentieren die Zeile AddHandler und AddType 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 php5_module modules/libphp5.so # # Cause the PHP interpreter to handle files with a .php extension. # #AddHandler php5-script .php #AddType text/html .php # # Add index.php to the list of files that will be served as directory # indexes. # DirectoryIndex index.php # # Uncomment the following line to allow PHP to pretty-print .phps # files as PHP source code: # #AddType application/x-httpd-php-source .phps
Danach starten wir Apache neu:

/etc/init.d/httpd restart


14 ProFTPd (Teil 1)

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

yum remove vsftpd

yum install proftpd

Nun können wir die System Startup Links für Proftpd erstellen und es starten:

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

15 Webalizer

Um Webalizer zu installieren, lass einfach Folgendes laufen

yum install webalizer


16 Die Systemuhr stellen

Wenn Du möchtest, dass die Systemuhr an einen NTP Server angepasst werden soll, führe Folgendes aus:

yum install ntp


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

17 Installiere einige Perl Module

In ISPConfig ist ein SpamAssassin enthalten, der ein paar Perl Module benötigt, um zu funktionieren. Wir installieren die benötigten Perl Module mit einem einzigen Befehl:

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


18 Das Ende

Die Konfiguration des Servers ist nun abgeschlossen. Wenn Du magst, kannst Du nun ISPConfig auf dem Server installieren indem Du diesen Instruktionen folgst: http://www.ispconfig.org/manual_installation.htm

18.1 Eine Notiz über SuExec

Wenn Du CGI Skripte unter suExec laufen lassen möchtest, solltest Du /var/www als Root Verzeichnis für die Web Seiten auswählen. Führe aus

/usr/sbin/suexec -V

und die Ausgabe sollte so aussehen:

[root@server1 ~]# /usr/sbin/suexec -V
-D AP_DOC_ROOT="/var/www"
-D AP_GID_MIN=100
-D AP_HTTPD_USER="apache"
-D AP_LOG_EXEC="/var/log/httpd/suexec.log"
-D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
-D AP_UID_MIN=500
-D AP_USERDIR_SUFFIX="public_html"
[root@server1 ~]#

Wenn Du also suExec mit ISPconfig verwenden möchtest, ändere nicht den Standard Web Root (nämlich /var/www) wenn Du den Expertenmodus während der Installation verwendest (im Standardmodus kannst Du den Web Root sowieso nicht verändern, also wirst Du in jedem Fall in der Lage sein, suExec zu verwenden).

18.2 ProFTPd (Teil 2)

(Nur wenn Du ISPConfig installiert hast!)

Nachdem Du ISPConfig installiert hast, muss das Template für die Datei /etc/proftpd_ispconfig.conf bearbeitet werden. Das Template befindet sich in der Datei /root/ispconfig/isp/conf/proftpd_ispconfig.conf.master, wir werden diese jedoch nicht direkt bearbeiten, sondern kopieren sie in das Verzeichnis /root/ispconfig/isp/conf/customized_templates/ und werden diese Kopie ändern. Tepltaes in /root/ispconfig/isp/conf/customized_templates/ werden bei einem zukünftigen ISPConfig Update nicht überschrieben.

cp /root/ispconfig/isp/conf/proftpd_ispconfig.conf.master /root/ispconfig/isp/conf/customized_templates/

Öffne nun /root/ispconfig/isp/conf/customized_templates/proftpd_ispconfig.conf.master und kommentiere die Zeile DefaultAddress 127.0.0.1 aus:

vi /root/ispconfig/isp/conf/customized_templates/proftpd_ispconfig.conf.master


###################################
# # ISPConfig proftpd Configuration File # Version 1.0 # ################################### #DefaultAddress 127.0.0.1 <!-- BEGIN DYNAMIC BLOCK: vhost --> <VirtualHost {IP}> DefaultRoot ~ AllowOverwrite on Umask 002 {ANON_FTP} </VirtualHost> <!-- END DYNAMIC BLOCK: vhost -->

19 Links