ich versuche nun schon seit geraumer Zeit, auf einem Testserver Apache 1.3.28 mit PHP als CGI zum Laufen zu bringen - ohne Erfolg. Die PHP Dateien werden als Download angeboten
Ziel ist ein Apache mit PHP als CGI-Version (keine parallele Modul-Version) mit suPHP als globale Server-Direktive, also für alle Virtual Hosts
Installiert habe ich SuSE 8.0 in der Minimalversion, danach wie folgt kompiliert:
PHP 4.3.3
suPHP 0.3:CPPFLAGS=-I/usr/local/include
LDFLAGS=-L/usr/local/lib
./configure --prefix=/usr/local --with-config-file-path=/etc
--enable-exif
--enable-track-vars
--with-calendar=shared
--enable-magic-quotes
--enable-trans-sid
--enable-wddx
--enable-ftp
--enable-inline-optimization
--enable-memory-limit
--with-openssl
--with-mcrypt
--with-curl
--enable-sysvsem
--enable-sysvshm
--enable-bcmath
--with-gettext
--with-dom
--with-zlib-dir=/usr/local
--with-mysql
--enable-force-cgi-redirect
--enable-discard-path
--enable-safe-mode
./configure --prefix=/usr/local
Apache 1.3.28:
export SSL_BASE=/usr/local
export EAPI_MM=/usr/local/src/apache/src/mm-1.3.0
export CFLAGS=""
export LIBS=""
export INCLUDES=""
./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd
--enable-suexec --suexec-caller=wwwrun --suexec-docroot=/home/www --suexec-logfile=/var/log/httpd/suexec.log
--enable-shared=max
--enable-module=access
--disable-module=auth_db
--disable-module=digest
--enable-module=imap
--enable-module=mime
--enable-module=setenvif
--disable-module=usertrack
--enable-module=auth
--disable-module=cern_meta
--disable-module=expires
--enable-module=log_config
--disable-module=proxy
--disable-module=vhost_alias
--disable-module=auth_anon
--enable-module=cgi
--disable-module=headers
--disable-module=log_referer
--enable-module=rewrite
--enable-module=userdir
--enable-module=asis
--enable-module=autoindex
--disable-module=example
--disable-module=log_agent
--enable-module=negotiation
--enable-module=status
--enable-module=actions
--disable-module=auth_dbm
--enable-module=dir
--enable-module=include
--disable-module=mime_magic
--disable-module=unique_id
--enable-module=alias
--disable-module=auth_digest
--enable-module=env
--disable-module=info
--disable-module=mmap_static
--disable-module=speling
--enable-module=ssl
In der httpd.conf habe ich folgendes eingetragen:
LoadModule suphp_module libexec/mod_suphp.so
AddModule mod_suphp.c
suPHP_Engine on
suPHP_ConfigPath /usr/local/lib
AddType application/x-httpd-php .php .phtml .php3 .php4
AddType application/x-httpd-php-source .phps
Beim Kompilieren gab´s keine Fehler - make & make install liefen ordentlich durch.
Rufe ich jedoch ein PHP Script auf, wird dieses zum Download angeboten. Ã?ber die Shell wird es jedoch geparsed. Ich vermute mal, dass der Apache nicht weiss, dass er Scripte mit der Endung .php an den Parser schicken muss - was habe ich da vergessen ?!?
Nach einigem Googlen habe ich noch gesehen, dass laut http://www.dclp-faq.de/q/q-install-apache-cgi.html noch ein Action Parameter definiert werden muss, auch mit diesem funktioniert es jedoch nicht.
Danke für Eure Hilfe,
Grüsse
Christoph