Server Setup · 3 min read · Jan 19, 2026

Der perfekte Server - CentOS 5.2 - Seite 6

12 Apache2 Mit PHP & Ruby

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-devel

Dann bearbeiten Sie /etc/httpd/conf/httpd.conf:

vi /etc/httpd/conf/httpd.conf

und ä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 on

Starten Sie Apache:

/etc/init.d/httpd start

12.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 einer pro-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 # # Veranlassen Sie 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 erlauben, .phps-Dateien als PHP-Quellcode # schön darzustellen: # #AddType application/x-httpd-php-source .phps |

Danach starten wir Apache neu:

/etc/init.d/httpd restart

12.2 mod_ruby Installieren

Für CentOS 5.2 gibt es kein mod_ruby-Paket, daher müssen wir es selbst kompilieren. Zuerst installieren wir einige Voraussetzungen:

yum install httpd-devel ruby ruby-devel

Als nächstes laden wir mod_ruby herunter 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

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 Sie Apache neu:

/etc/init.d/httpd restart

13 ProFTPd

ISPConfig hat eine bessere Unterstützung für proftpd als vsftpd, also entfernen wir vsftpd:

yum remove vsftpd

Da 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.1.tar.gz  
tar xvfz proftpd-1.3.1.tar.gz  
cd proftpd-1.3.1/  
./configure --sysconfdir=/etc  
make  
make install  
cd ..  
rm -fr proftpd-1.3.1*

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/proftpd

Jetzt 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 # Quellbibliothek für Funktionen. . /etc/rc.d/init.d/functions # Quellnetzwerkkonfiguration. . /etc/sysconfig/network # Überprüfen, 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/proftpd

Als nächstes öffnen wir /etc/proftpd.conf und ändern die Gruppe zu 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." [...] |

Jetzt können wir die Systemstartlinks für Proftpd erstellen:

chkconfig --levels 235 proftpd on

Und schließlich starten wir Proftpd:

/etc/init.d/proftpd start
Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.