Server Installation · 6 min read · Dec 28, 2025

Der perfekte Server - Fedora 14 x86_64 [ISPConfig 3] - Seite 5

15 Installation von mod_php, mod_fcgi/PHP5 und suPHP

ISPConfig 3 ermöglicht es Ihnen, mod_php, mod_fcgi/PHP5, cgi/PHP5 und suPHP auf einer pro Website-Basis zu verwenden.

Wir können Apache2 mit mod_php5, mod_fcgid und PHP5 wie folgt installieren:

yum install php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-mssql php-snmp php-soap php-tidy curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-devel mod_fcgid php-cli httpd-devel 

Als nächstes öffnen wir /etc/php.ini…

vi /etc/php.ini

… und ändern die Fehlerberichterstattung (so dass Hinweise nicht mehr angezeigt werden) und kommentieren cgi.fix_pathinfo = 1 aus:

| [...] ;error_reporting = E_ALL & ~E_DEPRECATED error_reporting = E_ALL & ~E_NOTICE [...] ; cgi.fix_pathinfo bietet *echte* PATH_INFO/PATH_TRANSLATED-Unterstützung für CGI. PHP's ; vorheriges Verhalten war, PATH_TRANSLATED auf SCRIPT_FILENAME zu setzen und nicht zu verstehen, ; was PATH_INFO ist. Für weitere Informationen zu PATH_INFO siehe die CGI-Spezifikationen. Das Setzen ; dieses Wertes auf 1 bewirkt, dass PHP CGI seine Pfade an die Spezifikation anpasst. Ein Wert ; von null bewirkt, dass PHP sich wie zuvor verhält. Standard ist 1. Sie sollten Ihre Skripte ; so anpassen, dass sie SCRIPT_FILENAME anstelle von PATH_TRANSLATED verwenden. ; http://www.php.net/manual/en/ini.core.php#ini.cgi.fix-pathinfo cgi.fix_pathinfo=1 [...] |

Als nächstes installieren wir suPHP:

cd /tmp
wget http://www.suphp.org/download/suphp-0.7.1.tar.gz
tar xvfz suphp-0.7.1.tar.gz
cd suphp-0.7.1/
./configure –prefix=/usr –sysconfdir=/etc –with-apr=/usr/bin/apr-1-config –with-apxs=/usr/sbin/apxs –with-apache-user=apache –with-setid-mode=owner –with-php=/usr/bin/php-cgi –with-logfile=/var/log/httpd/suphp_log –enable-SUPHP_USE_USERGROUP=yes
make
make install

Dann fügen wir das suPHP-Modul zu unserer Apache-Konfiguration hinzu…

vi /etc/httpd/conf.d/suphp.conf

| LoadModule suphp_module modules/mod_suphp.so |

… und erstellen die Datei /etc/suphp.conf wie folgt:

vi /etc/suphp.conf

| [global] ;Pfad zur Protokolldatei logfile=/var/log/httpd/suphp.log ;Protokollebene loglevel=info ;Benutzer, unter dem Apache läuft webserver_user=apache ;Pfad, in dem sich alle Skripte befinden müssen docroot=/ ;Pfad zu chroot(), bevor das Skript ausgeführt wird ;chroot=/mychroot ; Sicherheitsoptionen allow_file_group_writeable=true allow_file_others_writeable=false allow_directory_group_writeable=true allow_directory_others_writeable=false ;Überprüfen, ob das Skript innerhalb von DOCUMENT_ROOT liegt check_vhost_docroot=true ;Sendet kleinere Fehlermeldungen an den Browser errors_to_browser=false ;PATH-Umgebungsvariable env_path=/bin:/usr/bin ;Umask, die gesetzt werden soll, in oktaler Notation angeben umask=0077 ; Mindest-UID min_uid=100 ; Mindest-GID min_gid=100 [handlers] ;Handler für PHP-Skripte x-httpd-suphp="php:/usr/bin/php-cgi" ;Handler für CGI-Skripte x-suphp-cgi="execute:!self" |

Schließlich starten wir Apache neu:

/etc/init.d/httpd restart

15.1 Ruby

Ab Version 3.0.3 hat ISPConfig 3 eine integrierte Unterstützung für Ruby. Anstelle von CGI/FastCGI hängt ISPConfig davon ab, dass mod_ruby auf dem Apache des Servers verfügbar ist.

Für Fedora 14 ist kein mod_ruby-Paket verfügbar, daher müssen wir es selbst kompilieren. Zuerst installieren wir einige Voraussetzungen:

yum install ruby ruby-devel

Als nächstes laden wir mod_ruby herunter und installieren es wie folgt:

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

Schließlich müssen wir das mod_ruby-Modul zur 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

15.2 WebDAV

WebDAV sollte bereits aktiviert sein, aber um dies zu überprüfen, öffnen Sie /etc/httpd/conf/httpd.conf und stellen Sie sicher, dass die folgenden drei Module aktiv sind:

vi /etc/httpd/conf/httpd.conf

| [...] LoadModule auth_digest_module modules/mod_auth_digest.so [...] LoadModule dav_module modules/mod_dav.so [...] LoadModule dav_fs_module modules/mod_dav_fs.so [...] |

Wenn Sie /etc/httpd/conf/httpd.conf ändern müssen, vergessen Sie nicht, Apache danach neu zu starten:

/etc/init.d/httpd restart 

16 Installieren von PureFTPd

PureFTPd kann mit folgendem Befehl installiert werden:

yum install pure-ftpd

Dann erstellen Sie die Systemstartlinks und starten Sie PureFTPd:

chkconfig –levels 235 pure-ftpd on
/etc/init.d/pure-ftpd start

Jetzt konfigurieren wir PureFTPd, um FTP- und TLS-Sitzungen zuzulassen. FTP ist ein sehr unsicheres Protokoll, da alle Passwörter und alle Daten im Klartext übertragen werden. Durch die Verwendung von TLS kann die gesamte Kommunikation verschlüsselt werden, wodurch FTP viel sicherer wird.

OpenSSL wird von TLS benötigt; um OpenSSL zu installieren, führen wir einfach aus:

yum install openssl

Öffnen Sie /etc/pure-ftpd/pure-ftpd.conf…

vi /etc/pure-ftpd/pure-ftpd.conf

Wenn Sie FTP- und TLS-Sitzungen zulassen möchten, setzen Sie TLS auf 1:

| [...] # Diese Option kann drei Werte annehmen: # 0 : SSL/TLS-Verschlüsselungsschicht deaktivieren (Standard). # 1 : sowohl traditionelle als auch verschlüsselte Sitzungen akzeptieren. # 2 : Verbindungen ablehnen, die keine SSL/TLS-Sicherheitsmechanismen verwenden, # einschließlich anonymer Sitzungen. # Kommentieren Sie dies _nicht_ blind aus. Stellen Sie sicher, dass : # 1) Ihr Server mit SSL/TLS-Unterstützung kompiliert wurde (--with-tls), # 2) Ein gültiges Zertifikat vorhanden ist, # 3) Nur kompatible Clients sich anmelden. TLS 1 [...] |

Um TLS zu verwenden, müssen wir ein SSL-Zertifikat erstellen. Ich erstelle es in /etc/ssl/private/, daher erstelle ich zuerst dieses Verzeichnis:

mkdir -p /etc/ssl/private/

Anschließend können wir das SSL-Zertifikat wie folgt generieren:

openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem 

Landname (2-Buchstaben-Code) [XX]: <– Geben Sie Ihren Landnamen ein (z.B. “DE”).
Bundesland oder Provinzname (vollständiger Name) []: <– Geben Sie den Namen Ihres Bundeslandes oder Ihrer Provinz ein.
Ort (z.B. Stadt) [Default City]: <– Geben Sie Ihre Stadt ein.
Organisationsname (z.B. Firma) [Default Company Ltd]: <– Geben Sie den Namen Ihrer Organisation ein (z.B. den Namen Ihres Unternehmens).
Name der organisatorischen Einheit (z.B. Abteilung) []: <– Geben Sie den Namen Ihrer organisatorischen Einheit ein (z.B. “IT-Abteilung”).
Allgemeiner Name (z.B. Ihr Name oder der Hostname Ihres Servers) []: <– Geben Sie den vollständig qualifizierten Domänennamen des Systems ein (z.B. “server1.example.com”).
E-Mail-Adresse []: <– Geben Sie Ihre E-Mail-Adresse ein.

Ändern Sie die Berechtigungen des SSL-Zertifikats:

chmod 600 /etc/ssl/private/pure-ftpd.pem

Schließlich starten Sie PureFTPd neu:

 /etc/init.d/pure-ftpd restart

Das war’s. Sie können jetzt versuchen, sich mit Ihrem FTP-Client zu verbinden; Sie sollten jedoch Ihren FTP-Client so konfigurieren, dass er TLS verwendet - siehe das nächste Kapitel, wie Sie dies mit FileZilla tun können.

17 BIND installieren

Wir können BIND wie folgt installieren:

yum install bind bind-utils

Öffnen Sie als nächstes /etc/sysconfig/named…

vi /etc/sysconfig/named

… und kommentieren Sie die ROOTDIR=/var/named/chroot-Zeile aus:

| # BIND benannter Prozessoptionen # ~~~~~~~~~~~~~~~~~~~~~~~~~~ # Derzeit können Sie die folgenden Optionen verwenden: # # ROOTDIR="/var/named/chroot" -- wird named in einer chroot-Umgebung ausgeführt. # Sie müssen die chroot-Umgebung einrichten # (installieren Sie das bind-chroot-Paket), bevor # Sie dies tun. # HINWEIS: # Diese Verzeichnisse werden automatisch in chroot gemountet, wenn sie # im ROOTDIR-Verzeichnis leer sind. Es vereinfacht die Wartung Ihrer # chroot-Umgebung. # - /var/named # - /etc/pki/dnssec-keys # - /etc/named # - /usr/lib64/bind oder /usr/lib/bind (architekturabhängig) # # Diese Dateien werden ebenfalls gemountet, wenn die Zieldatei nicht # in chroot vorhanden ist. # - /etc/named.conf # - /etc/rndc.conf # - /etc/rndc.key # - /etc/named.rfc1912.zones # - /etc/named.dnssec.keys # - /etc/named.iscdlv.key # # Vergessen Sie nicht, die Zeile "$AddUnixListenSocket /var/named/chroot/dev/log" # zu Ihrer /etc/rsyslog.conf-Datei hinzuzufügen. Andernfalls wird Ihr Logging # beschädigt, wenn der rsyslogd-Daemon neu gestartet wird (z.B. aufgrund eines Updates). # # OPTIONS="whatever" -- Diese zusätzlichen Optionen werden beim Start an named # übergeben. Fügen Sie hier nicht -t hinzu, verwenden Sie stattdessen ROOTDIR. # # KEYTAB_FILE="/dir/file" -- Geben Sie die Keytab-Datei des benannten Dienstes an (für GSS-TSIG) #ROOTDIR=/var/named/chroot |

Dann erstellen wir die Startlinks:

chkconfig --levels 235 named on

Wir starten BIND jetzt nicht, da es zuerst konfiguriert werden muss - dies wird später automatisch vom ISPConfig 3-Installer erledigt.

18 Vlogger, Webalizer und AWStats installieren

Vlogger, Webalizer und AWStats können wie folgt installiert werden:

yum install webalizer awstats perl-DateTime-Format-HTTP perl-DateTime-Format-Builder

cd /tmp
wget http://n0rp.chemlab.org/vlogger/vlogger-1.3.tar.gz
tar xvfz vlogger-1.3.tar.gz
mv vlogger-1.3/vlogger /usr/sbin/
rm -rf vlogger*

19 Jailkit installieren

Jailkit wird nur benötigt, wenn Sie SSH-Benutzer chrooten möchten. Es kann wie folgt installiert werden (wichtig: Jailkit muss vor ISPConfig installiert werden - es kann danach nicht installiert werden!):

cd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.13.tar.gz
tar xvfz jailkit-2.13.tar.gz
cd jailkit-2.13
./configure
make
make install
cd ..
rm -rf jailkit-2.13*

20 fail2ban installieren

Dies ist optional, aber empfohlen, da der ISPConfig-Monitor versucht, das Protokoll anzuzeigen:

yum install fail2ban

chkconfig –levels 235 fail2ban on
/etc/init.d/fail2ban start

21 rkhunter installieren

rkhunter kann wie folgt installiert werden:

yum install rkhunter
Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.