Der perfekte Server - OpenSUSE 10.3 (32-bit) - Seite 8

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

3 Kommentar(e)

Zum Posten von Kommentaren bitte

Kommentare

Von: Till

Hinweis:

Wenn Ihr den folgenden Fehler beim aktivieren des "fam" Dienstes erhaltet:

hxxxxxx:/etc/postfix/ssl # chkconfig --add fam
insserv: Service portmap has to be enabled for service fam
insserv: exiting now!
/sbin/insserv failed, exit code 1
fam 0 off 1 off 2 off 3 off 4 off 5 off 6 off
xinetd based services:
fam: off

Dann führt den folgenden Befehl aus:

chkconfig --add portmap

aund versucht dann erneut, den fam Dienst zu aktivieren:

chkconfig --add fam


Von: Batho

Nach der Installation von proftpd (als rpm Paket von http://download.opensuse.org/repositories/server:/ftp/openSUSE_10.3/i586/) tritt das Phänomen auf, dass nach der ersten ftp-session proftpd beendet wird.
Das liegt daran, dass proftpd mit der Option --enable-devel=coredump übersetzt wurde. Laut Entwickler ist dies aber nur für die Entwicklung notwendig.
Es ist daher notwendig, sich das src Paket von http://download.opensuse.org/repositories/server:/ftp/openSUSE_10.3/src/ zu holen
- Anschliessend wird das Paket mit yast -i proftpd-1.3.1-6.1.src.rpm installiert
- Im Verzeichnis /usr/src/packages/SPECS befindet sich dann die Datei proftpd.spec
- Dort die Option suchen und die Zeile entfernen
- Anschliessend kann das Paket mit rpmbuild -ba proftpd.spec neu übersetzt werden.
- Die rpm-Pakete befinden sich dann in /usr/src/packages/RPMS/i586 und können mit yast -i ... installiert werden (mit yast installierte Pakete vorher deinstallieren).


Von: Prismatech

hab immer das prob bei euch wenn bei den codes mit kopieren einfügen arbeite die von putty nicht sauber übernommen werden welchen translation muss ich da einsellen das das sauber geht mit den sonderzeichen