Der Perfekte Server - Fedora 9

Version 1.0
Author: Falko Timme


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

Folgende Software werde ich verwenden:
  • Web Server: Apache 2.2.8
  • PHP 5.2.5
  • Ruby
  • Database Server: MySQL 5.0.51
  • Mail Server: Postfix
  • DNS Server: BIND9 (chrooted)
  • FTP Server: proftpd
  • POP3/IMAP Server: Dovecot
  • Webalizer für Web Site Statistiken
Am Ende erhältst Du ein System, das verlässlich funktioniert. Wenn Du magst, kannst Du danach 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!

1 Voraussetzung

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

2 Vorbemerkung

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

3 Installation des Basissystems

Starte mit Deiner Fedora 9 DVD. Wähle Install or upgrade an existing system:


Es kann sehr lange dauern, das Installations-Medium zu testen, daher überspringen wir dies hier:


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


Wähle als Nächstes Deine Sprache:


Wähle Dein Tastaturlayout:


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


Weiter mit den Netzwerkeinstellungen. Die Standardeinstellung besteht hier darin, die Netzwerk Interfaces mit DHCP zu konfigurieren. Wir installieren aber einen Server, also sind statische IP Adressen keine schlechte Idee... Klicke auf das Edit Feld oben rechts:


Wähle im Fenster, das sich öffnet, Enable IPv4 support > Manual configuration und weise Deiner Netzwerkkarte eine statische IP Adresse und Netzmaske zu (in dieser Anleitung verwende ich aus Demonstrationsgründen die IP Adresse 192.168.0.100 und Netzmaske 255.255.255.0; wenn Du Dir über die richtigen Werte nicht sicher bist, kann Dir http://www.subnetmask.info vielleicht helfen). Entferne die Markierung von Enable IPv6 support:


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


Wähle Deine Zeitzone:



Weise root ein Passwort zu:


Als Nächste nehem wir die Partitionierung vor. Wähle Remove Linux partitions on selected drives and create default layout. Somit erhältst Du eine kleine /boot Partition und eine große / Partition, was für unsere Zwecke ausreicht:


Wähle Write changes to disk:


Die Festplatte wird formatiert:


Nun wählen wir die Software aus, die wir installieren möchten. Entferne die Markierung von Office and Productivity und markiere stattdessen Software Development und Web server. Markiere dann Customize now und klicke auf Next:


Nun müssen wir die Paketgruppen auswählen, die wir installieren möchten. 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 (entferne die Markierung von allen anderen Paketgruppen) und klicke auf Next:


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


Die Installation beginnt. Das kann einige Minuten dauern:


Schließlich ist die Installation abgeschlossen und Du kannst Deine DVD aus dem Laufwerk entfernen und den Computer neu starten:


Nach dem Neustart siehst Du folgenden Screen. Wähle Firewall configuration und drücke Run Tool:


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

Drücke danach OK:


Verlasse dann das Choose a Tool Fenster indem Du Quit wählst:


Weiter mit der Konfiguration...

4 Das Netzerk reparieren

Als ich das System gestartet hatte, stellte ich fest, dass ich mich mit dem System und vom System aus innerhalb meines LANs verbinden konnte, allerdings konnte sich das System nicht mit dem Internet verbinden. Die Ausgabe von

ifconfig

ergab, dass eth0 gestartet war und die richtige IP Adresse hatte. Jedoch zeigte

route -nee

dass kein Gateway eingestellt war, obwohl ich das richtige Gateway während des Setups festgelegt hatte. Ich habe mir

chkconfig --list

angesehen und festgestellt, dass das network Init Skript in allen Runlevels auf off gestellt war. Es gab jedoch ein anderes Init Skript, NetworkManager, das auf on gestellt war. Der NetworkManager ist ein Tool, das die beste Netzwerkverbindung für das System raus sucht und einstellt - in meinem Fall schien es das Gateway vergessen zu haben. Aber egal, da wir nur eine Netzwerkverbindung haben, brauchen wir den NetworkManager nicht. Ich habe ihn deaktiviert und network auf on gesetzt, das Netzwerke neu gestartet und Voilà: der Netzwerkbetrieb funktioniert wie erwartet, auch nach einem Neustart:

chkconfig NetworkManager off
chkconfig --levels 35 network on
/etc/init.d/network restart

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

6 Konfiguration der Firewall

(Du kannst dieses Kapitel weg lassen, wenn Du die Firewall bereits am Ende 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 Fedora. Natürlich kannst Du sie auch aktiviert lassen und sie nach Belieben konfigurieren (aber dann solltest Du später keine andere Firewall verwenden, da diese höchstwahrscheinlich mit der Fedora Firewall kollidiert).

Führe dies aus

system-config-firewall


Wähle Disabled und drücke OK.

Um zu überprüfen, ob die Firewall wirklich deaktiviert wurde, kannst Du danach Folgendes 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
[root@server1 ~]#

7 SELinux deaktivieren

SELinux ist eine Sicherheitserweiterung von Fedora, die erweiterte Sicherheit gewährleisten soll. Meiner Meinung nach brauchst Du ein System, das bereits sicher ist, nicht weiter konfigurieren. Das verursacht meistens mehr Probleme als dass es Vorteile schafft. Daher deaktiviere ich es (das ist eine MUSS wenn Du ISPConfig später installieren möchtest).

Bearbeite /etc/selinux/config and set 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
Danach müssen wir das System neu starten:

reboot


8 Installation einiger Software-Pakete

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

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

Dann aktualisieren wir unsere vorhandenen Pakete:

yum update

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

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


9 Quota

(Wenn Du ein anderes Partitionsschema verwendet haben solltest, musst Du dieses Kapitel anpassen, damit Quota auf die Partitionen passt.)

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

yum install quota

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

vi /etc/fstab


/dev/VolGroup00/LogVol00 /                       ext3    defaults,usrquota,grpquota        1 1
UUID=03b23ff4-4dda-47a8-a23f-2f530df157b2 /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 dann dies aus

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

um Quota zu aktivieren.

10 Installation eines chrooted DNS Servers (BIND9)

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

yum install bind-chroot

Als Nächstes ändern wir einige Berechtigungen 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 wird in einem chroot Gefängnis unter /var/named/chroot/var/named/ ausgeführt. Ich werde ISPConfig verwenden um BIND zu konfigurieren (Zonen, etc.).

11 MySQL (5.0)

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

yum install mysql mysql-devel mysql-server

Dann erstellen wir die System Startup Links für MySQL (damit MySQL automatisch startet wenn das System hochfährt) 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 | grep mysql

Es sollte etwas in der Art angezeigt werden:

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

Wenn nicht, dann 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 dies 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

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_sasl_authenticated_header = 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, so dass Postfix PLAIN und LOGIN Logins zulässt (auf 64bit Systemen befindet sich diese Datei in /usr/lib64/sasl2/smtpd.conf). 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'

Dann stellen wir den Hostnamen in unserer Postfix Installation ein (pass auf, dass Du server1.example.com mit Deinem eigenen Hostnamen ersetzt):

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

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

cat /etc/postfix/main.cf


queue_directory = /var/spool/postfix
command_directory = /usr/sbin daemon_directory = /usr/libexec/postfix data_directory = /var/lib/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 ddd $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.5.1/samples readme_directory = /usr/share/doc/postfix-2.5.1/README_FILES inet_protocols = all smtpd_sasl_local_domain = smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous broken_sasl_auth_clients = yes smtpd_sasl_authenticated_header = 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 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 zu überprüfen, ob SMTP-AUTH und TLS richtig funktionieren, führen wir 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 PLAIN LOGIN

siehst, ist alles in bester Ordnung.

[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 PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
quit
221 2.0.0 Bye
Connection closed by foreign host.
[root@server1 ssl]#

Tippe

quit

um zur Kommandozeile des Systems zurückzukehren.

12.1 Maildir

Dovecot verwendet ein Maildir Format (nicht mbox). Wenn Du also ISPConfig auf dem Server installieren möchtest, vergewissere Dich, dass Maildir unter Management -> Server -> Settings -> Email aktiviert ist. ISPConfig übernimmt dann die notwendige Konfiguration.

Wenn Du ISPConfig nicht installieren möchtest, dann musst Du Postfix konfigurieren, dass es E-Mails an eine Maildir des Benutzers sendet (das kannst Du auch tun, wenn Du ISPConfig verwendest - es schadet nicht ;-)):

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

13 Apache2 mit PHP5

Nun installieren wir Apache mit PHP5 (PHP 5.2.5):

yum install php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc php-eaccelerator php-magickwand php-magpierss php-mapserver php-mbstring php-mcrypt php-mhash php-mssql php-shout php-snmp php-soap php-tidy 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 Dein System nun, dass Apache beim Hochfahren startet:

chkconfig --levels 235 httpd on

Starte Apache:

/etc/init.d/httpd start


13.1 PHP global deaktivieren

(Wenn Du nicht vorhast, ISPConfig auf diesem Server zu installieren, dann überspringe bitte 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/httpd/conf.d/php.conf und kommentieren die AddHandler und AddType Zeilen 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 Ruby

Von Version 2.2.20 an hat ISPConfig eingebaute Unterstützung für Ruby. Statt der Verwendung von CGI/FastCGI, hängt ISPConfig von mod_ruby ab, das im Apache des Servers verfügbar ist.

Für Fedora 9 ist kein mod_ruby Paket verfügbar, also müssen wir es selbst erstellen. Zuerst installieren wir einige Voraussetzungen:

yum install httpd-devel ruby ruby-devel

Als Nächstes laden wir mod_ruby runter und installieren es wie folgt:

cd /tmp
wget http://www.modruby.net/archive/mod_ruby-1.2.6.tar.gz
tar zxvf mod_ruby-1.2.6.tar.gz
cd mod_ruby-1.2.6/
./configure.rb --with-apr-includes=/usr/include/apr-1
make
make install

Letztlich müssen wir das mod_ruby Modul der Apache Konfiguration hinzufügen. Also erstellen wir die Datei /etc/httpd/conf.d/ruby.conf...

vi /etc/httpd/conf.d/ruby.conf


LoadModule ruby_module modules/mod_ruby.so
... und starten Apache neu:

/etc/init.d/httpd restart

In diesem Artikel findest Du nähere Angaben über mod_ruby.

15 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

16 Webalizer

Um Webalizer zu installierren, führe einfach Folgendes aus

yum install webalizer


17 Synchronisation der System-Uhr

Wenn die System-Uhr mit einem NTP Server synchronisiert werden soll, führe Folgendes aus:

yum install ntp


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

18 Installation eingier Perl Module

In ISPConfig ist SpamAssassin enthalten, das einige Perl Module benötigt um funktionieren zu können. Wir installieren die benötigten Perl Module mit einem einzigen Befehl:

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


19 ISPConfig

Die Konfiguration des Servers ist nun abgeschlossen.

Wenn Du ISPConfig installieren möchtest, musst Du noch eine Sache durchführen. Fedora 9 hat die gcc Version 4.3, jedoch schlägt die ISPConfig Installation (der OpenSSL Teil um genau zu sein) mit dieser gcc Version fehl. Daher installieren wir gcc 3.4...

yum install compat-gcc-34

... und erstellen einen Symlink von /usr/bin/gcc zu /usr/bin/gcc34:

cd /usr/bin
mv gcc gcc43
ln -s gcc34 gcc

Nun kannst Du ISPConfig darauf installieren indem Du dieser Anleitung folgst: 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 den Web Root für Webseiten festlegen, die von ISPConfig erstellt werden, da Fedora’s suExec mit /var/www als Doc_Root erstellt wird. Führe dies aus

/usr/sbin/suexec -V

und die Ausgabe sollte wie folgt 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 (/var/www) wenn Du den Expertenmodus während der ISPConfig Installation verwendest (im Standardmodus kannst Du den Web Root sowieso nicht ändern, also kannst Du suExec in jedem Fall verwenen).

19.2 ProFTPd (Teil 2)

(Dieses Kapitel ist nur wichtig, wenn Du ISPConfig installiert hast!)

Nachdem Du ISPConfig installiert hast, musst Du die Template Datei für /etc/proftpd_ispconfig.conf, die /root/ispconfig/isp/conf/proftpd_ispconfig.conf.master heißt, modifizieren, da sonst die Benutzer, die Du mit ISPConfig anlegst, sich nicht mittels FTP anmelden können. Anstatt /root/ispconfig/isp/conf/proftpd_ispconfig.conf.master (was überschrieben wird, wenn Du ISPConfig aktualisierst) zu modifizieren, kopieren wir /root/ispconfig/isp/conf/proftpd_ispconfig.conf.master nach /root/ispconfig/isp/conf/customized_templates/ und modifizieren dies. Wenn ISPConfig ein Template in /root/ispconfig/isp/conf/customized_templates/ findet, verwendet es dieses anstelle des Standard Templates in /root/ispconfig/isp/conf/. Templates in /root/ispconfig/isp/conf/customized_templates/ werden nicht überschrieben wenn Du ISPConfig aktualisierst.

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 DefaultAddress 127.0.0.1 Zeile 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 -->

20 Links