SuPHP auf Fedora 7 oder CentOS 5 mit ISPConfig
Dieses Dokument beschreibt, wie man suPHP auf Fedora 7 oder CentOS 5 mit ISPConfig einrichtet. Es beruht auf Teilen der Anleitung HowTo Set Up suPHP On A Debian Etch Based ISPConfig Server von Hans.
Das resultierende System unterstützt suPHP mit ISPConfig.
Dieses Howto ist als praktischer Leitfaden gedacht; es behandelt nicht die theoretischen Hintergründe. Sie werden in vielen anderen Dokumenten im Internet behandelt.
Dieses Dokument wird ohne jegliche Gewährleistung geliefert! Ich möchte sagen, dass dies nicht die einzige Möglichkeit ist, ein solches System einzurichten. Es gibt viele Wege, dieses Ziel zu erreichen, aber ich gehe diesen Weg. Ich übernehme keine Garantie dafür, dass dies bei Ihnen funktioniert!
1 Basissystem einrichten
Richten Sie ein Basissystem als Grundlage ein.
Wenn Sie Fedora 7 verwenden möchten, folgen Sie dem Howto ThePerfect Server - Fedora 7 von Falko Timme.
Andernfalls, wenn Sie CentOS 5 verwenden möchten, Folgen Sie dem Howto ThePerfect Setup - CentOS 5.0 (32-bit) von Falko Timme.
Danach ISPConfig einrichten.
Laden Sie es von http://www.ispconfig.org herunter. Eine ausführliche Dokumentation ist natürlich dort verfügbar.
2 Deaktivieren Sie das PHP-Modul
vi /etc/httpd/conf.d/php.conf
Kommentieren Sie "LoadModule php5_module modules/libphp5.so"
aus
3 Installieren Sie PHP als CGI
yum install php-cli
4 SuPHP abrufen und anpassen
cd /tmp
wget http://www.suphp.org/download/suphp-0.6.2.tar.gz
tar xvfz suphp-0.6.2.tar.gz
vi suphp -0.6.2/src/apache2/mod_suphp.c
Ersetzen Sie die Zeilen 324/325 durch die folgenden zwei Zeilen (wenn Sie eine andere Version von suPHP verwenden, können die Zeilennummern unterschiedlich sein):
AP_INIT_ITERATE("suPHP_AddHandler", suphp_handle_cmd_add_handler,NULL, RSRC_CONF | ACCESS_CONF, "Teilt mod_suphp mit, diese MIME-Typen zu handhaben"),
AP_INIT_ITERATE("suPHP_RemoveHandler", suphp_handle_cmd_remove_handler,NULL, RSRC_CONF | ACCESS_CONF, "Teilt mod_suphp mit, diese MIME-Typen nicht zu behandeln"),
Nun bereiten wir suphp vor und installieren es:
cd suphp-0.6.2/
./configure --prefix=/usr --sysconfdir=/etc --with-apr=/usr/bin/apr-1-config--with-apxs=/usr/sbin/apxs --with-apache-user =apache --with-setid-mode=paranoid--with-php=/usr/bin/php-cgi --with-logfile=/var/log/httpd/suphp_log --enable-SUPHP_USE_USERGROUP=yes
machen
make install
5 Suphp-Konfiguration
vi /etc/suphp.conf
Sollte so aussehen:
[global] ;Path to logfile logfile=/var/log/httpd/suphp_log ;Loglevel loglevel=info ;User Apache is running as webserver_user=apache ;Path all scripts have to be in docroot=/ ;Path to chroot() to before executing script ;chroot=/mychroot ;Security options allow_file_group_writeable=true allow_file_others_writeable=false allow_directory_group_writeable=true allow_directory_others_writeable=false ;Check wheter script is within DOCUMENT_ROOT check_vhost_docroot=true ;Send minor error messages to browser errors_to_browser=false ;PATH environment variable env_path=/bin:/usr/bin ;Umask to set, specify in octal notation umask=0077 ;Minimum UID min_uid=100 ;Minimum GID min_gid=100 [handlers] ;Handler for php-scripts x-httpd-php=php:/usr/bin/php-cgi ;Handler for CGI-scripts x-suphp-cgi=execute:!self
6 Apache-Konfiguration
vi /etc/httpd/conf.d/suphp.conf
Fügen Sie die folgende Zeile ein:
LoadModule suphp_module modules/mod_suphp.so
7 ISPConfig-Konfiguration
vi /home/admispconfig/ispconfig/lib/config.inc.php
Änderung:
$go_info["server"]["apache2_php"] = 'both';
An:
$go_info["server"]["apache2_php"] = 'suphp';
Starten Sie danach den Apache Webserver neu:
/etc/init.d/httpd restart
Jetzt müssen Sie ein Web in ISPConfig ändern.
Das veranlasst ISPConfig, eine neue vhost-Datei mit suPHP-Unterstützung zu schreiben.
Danach sollte ISPConfig mit suphp problemlos funktionieren.
8 Links
- Der perfekte Server – Fedora 7:http://www.howtoforge.org/perfect_server_fedora7
- Das perfekte Setup – CentOS 5.0 (32-Bit):http://www.howtoforge.org/perfect_setup_centos5.0
- ISPConfig:http://www.ispconfig.org
- suPHP:http://www.suphp.org