Server Setup · 4 min read · Oct 06, 2025
Der perfekte Server - CentOS 5.4 x86_64 [ISPConfig 2] - Seite 6
12 Apache2 Mit PHP, Ruby, Python, WebDAV
Jetzt installieren wir Apache mit PHP (dies ist PHP 5.1.6):
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-develDann bearbeiten Sie /etc/httpd/conf/httpd.conf:
vi /etc/httpd/conf/httpd.confund ändern Sie DirectoryIndex zu
| [...] DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.pl [...] |
Jetzt konfigurieren Sie Ihr System, um Apache beim Booten zu starten:
chkconfig --levels 235 httpd onStarten Sie Apache:
/etc/init.d/httpd start12.1 PHP global deaktivieren
(Wenn Sie nicht planen, ISPConfig auf diesem Server zu installieren, überspringen Sie bitte diesen Abschnitt!)
In ISPConfig konfigurieren Sie PHP auf Website-Basis, d.h. Sie können angeben, welche Website PHP-Skripte ausführen kann und welche nicht. Dies kann nur funktionieren, wenn PHP global deaktiviert ist, da sonst alle Websites PHP-Skripte ausführen könnten, egal was Sie in ISPConfig angeben.
Um PHP global zu deaktivieren, bearbeiten wir /etc/httpd/conf.d/php.conf und kommentieren die Zeilen AddHandler und AddType aus:
vi /etc/httpd/conf.d/php.conf| # # PHP ist eine in HTML eingebettete Skriptsprache, die es Entwicklern erleichtern soll, # dynamisch generierte Webseiten zu schreiben. # LoadModule php5_module modules/libphp5.so # # Veranlasse den PHP-Interpreter, Dateien mit einer .php-Erweiterung zu verarbeiten. # #AddHandler php5-script .php #AddType text/html .php # # Fügen Sie index.php zur Liste der Dateien hinzu, die als Verzeichnisindizes # bereitgestellt werden. # DirectoryIndex index.php # # Kommentieren Sie die folgende Zeile aus, um PHP zu ermöglichen, .phps # Dateien als PHP-Quellcode anzuzeigen: # #AddType application/x-httpd-php-source .phps |
Danach starten wir Apache neu:
/etc/init.d/httpd restart12.2 mod_ruby installieren
Für CentOS 5.4 gibt es kein mod_ruby-Paket, also müssen wir es selbst kompilieren. Zuerst installieren wir einige Voraussetzungen:
yum install httpd-devel ruby ruby-develAls 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 installSchließ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 Sie Apache neu:
/etc/init.d/httpd restart12.3 mod_python installieren
Um mod_python zu installieren, führen wir einfach aus…
yum install mod_python… und starten Sie Apache danach neu:
/etc/init.d/httpd restart12.4 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 beiden Module aktiv sind:
vi /etc/httpd/conf/httpd.conf| [...] 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 restart13 ProFTPd
ISPConfig hat eine bessere Unterstützung für proftpd als vsftpd, also lassen Sie uns vsftpd entfernen:
yum remove vsftpdDa CentOS kein proftpd-Paket hat, müssen wir Proftpd manuell kompilieren:
cd /tmp/
wget --passive-ftp ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.2b.tar.gz
tar xvfz proftpd-1.3.2b.tar.gz
cd proftpd-1.3.2b/
./configure --sysconfdir=/etc
make
make install
cd ..
rm -fr proftpd-1.3.2b*Das Proftpd-Binärprogramm wird in /usr/local/sbin installiert, aber wir benötigen es in /usr/sbin, also erstellen wir einen Symlink:
ln -s /usr/local/sbin/proftpd /usr/sbin/proftpdJetzt erstellen Sie das Init-Skript /etc/init.d/proftpd:
vi /etc/init.d/proftpd| #!/bin/sh # $Id: proftpd.init,v 1.1 2004/02/26 17:54:30 thias Exp $ # # proftpd Dieses Shell-Skript kümmert sich um das Starten und Stoppen # von proftpd. # # chkconfig: - 80 30 # description: ProFTPD ist ein verbesserter FTP-Server mit Fokus auf \ # Einfachheit, Sicherheit und einfache Konfiguration. \ # Es bietet eine sehr Apache-ähnliche Konfigurationssyntax, \ # und eine hochgradig anpassbare Serverinfrastruktur, \ # einschließlich Unterstützung für mehrere 'virtuelle' FTP-Server, \ # anonymen FTP und berechtigungsbasierte Verzeichnisansicht. # processname: proftpd # config: /etc/proftp.conf # pidfile: /var/run/proftpd.pid # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Überprüfen Sie, ob das Netzwerk aktiv ist. [ ${NETWORKING} = "no" ] && exit 0 [ -x /usr/sbin/proftpd ] || exit 0 RETVAL=0 prog="proftpd" start() { echo -n "$"Starting $prog: " daemon proftpd RETVAL=$? echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/proftpd } stop() { echo -n "$"Shutting down $prog: " killproc proftpd RETVAL=$? echo [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/proftpd } # Sehen Sie, wie wir aufgerufen wurden. case "$1" in start) start ;; stop) stop ;; status) status proftpd RETVAL=$? ;; restart) stop start ;; condrestart) if [ -f /var/lock/subsys/proftpd ]; then stop start fi ;; reload) echo -n "$"Re-reading $prog configuration: " killproc proftpd -HUP RETVAL=$? echo ;; *) echo "Usage: $prog {start|stop|restart|reload|condrestart|status}" exit 1 esac exit $RETVAL |
Dann machen wir das Init-Skript ausführbar:
chmod 755 /etc/init.d/proftpdAls nächstes öffnen wir /etc/proftpd.conf und ändern die Gruppe in nobody:
vi /etc/proftpd.conf| [...] Group nobody [...] |
Aus Sicherheitsgründen können Sie auch die folgenden Zeilen zu /etc/proftpd.conf hinzufügen (danke an Reinaldo Carvalho; weitere Informationen finden Sie hier: http://proftpd.org/localsite/Userguide/linked/userguide.html):
vi /etc/proftpd.conf| [...] DefaultRoot ~ IdentLookups off ServerIdent on "FTP Server bereit." [...] |
Um sicherzustellen, dass FTP-Benutzer den chmod-Befehl verwenden können, kommentieren Sie den Abschnitt
| [...] # Bar use of SITE CHMOD by default # |
Jetzt können wir die Systemstartlinks für Proftpd erstellen:
chkconfig --levels 235 proftpd onUnd schließlich starten wir Proftpd:
/etc/init.d/proftpd startErhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.