Der perfekte Server – OpenSUSE 10.3 (32-bit)
11 Apache/PHP5
Nun installieren wir Apache mit PHP5:
yast2 -i apache2 apache2-devel apache2-mod_perl apache2-mod_php5 apache2-prefork perl-HTML-Parser perl-HTML-Tagset perl-Tie-IxHash perl-URI perl-libwww-perl php5 php5-devel zlib zlib-devel
Dann installieren wir einige PHP5 Module:
yast2 -i php5-bcmath php5-bz2 php5-calendar php5-ctype php5-curl php5-dbase php5-dom php5-ftp php5-gd php5-gettext php5-gmp php5-iconv php5-imap php5-ldap php5-mbstring php5-mcrypt php5-mhash php5-mysql php5-ncurses php5-odbc php5-openssl php5-pcntl php5-pgsql php5-posix php5-shmop php5-snmp php5-soap php5-sockets php5-sqlite php5-sysvsem php5-tokenizer php5-wddx php5-xmlrpc php5-xsl php5-zlib php5-exif php5-fastcgi php5-pear php5-sysvmsg php5-sysvshm ImageMagick curl
Als Nächstes bearbeiten wir /etc/apache2/httpd.conf:
vi /etc/apache2/httpd.conf
und ändern DirectoryIndex so
[...] DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php5 index.php4 index.php3 index.pl index.html.var index.aspx default.aspx [...] |
Bearbeite /etc/sysconfig/apache2 und füge rewrite der APACHE_MODULES Zeile hinzu:
vi /etc/sysconfig/apache2
[...] APACHE_MODULES="actions alias auth_basic authn_file authz_host authz_groupfile authz_default authz_user authn_dbm autoindex cgi dir env expires include log_config mime negotiation setenvif ssl suexec userdir php5 rewrite" [...] |
Hänge weiterhin SSL der APACHE_SERVER_FLAGS Zeile an:
[...] APACHE_SERVER_FLAGS="SSL" [...] |
Konfiguriere nun Dein System sodass Apache beim Hochfahren startet:
chkconfig –add apache2
Lass dann Folgendes laufen
SuSEconfig
/etc/init.d/apache2 start
11.1 Globale Deaktivierung von PHP und Perl
(Wenn Du nicht planst, ISPConfig auf Deinem Server zu installieren, dann überspringe bitte diesen Absatz!)
Auf ISPConfig kann man PHP und Perl individuell pro Website einstellen, das heißt Du kannst festlegen, welche Website PHP- und Per-Skriptel laufen lassen kann und welche nicht. Dies kann nur dann funktionieren, wenn PHP und Perl global deaktiviert sind, denn sonst könnten auf allen Websites PHP/Perl-Skripte laufen, egal was Du im ISPConfig festgelegt hast.
Um PHP und Perl global zu deaktivieren, bearbeiten wir /etc/mime.types und kommentieren die Zeilen application/x-perl und application/x-php aus:
vi /etc/mime.types
[...] #application/x-perl pl pm al perl #application/x-php php php3 php4 [...] |
Dann bearbeiten wir /etc/apache2/conf.d/php5.conf und kommentieren allen AddHandler Zeilen aus:
vi /etc/apache2/conf.d/php5.conf
<IfModule mod_php5.c> #AddHandler application/x-httpd-php .php4 #AddHandler application/x-httpd-php .php5 #AddHandler application/x-httpd-php .php #AddHandler application/x-httpd-php-source .php4s #AddHandler application/x-httpd-php-source .php5s #AddHandler application/x-httpd-php-source .phps DirectoryIndex index.php4 DirectoryIndex index.php5 DirectoryIndex index.php </IfModule> |
Danach starten wir Apache neu:
/etc/init.d/apache2 restart