Mailinglisten-Archive |
Antje Niedostatek wrote:
>
> Hallo,
>
> ich bin im Moment ziemlich ratlos.
>
> Ich habe heute PHP3 auf Linux installiert. Webserver ist natürlich
> Apache (Version: 1.3.1). Ich habe mich streng an die
> Installationsanweisungen von PHP gehalten, auch AddType ... in die
> srm.conf eingefügt, den Server restartet.
> Trotzdem will mein Browser meine Testdatei *.php3 abspeichern. Zum
> Hohn will er sie als "type application/x-httpd-php3" abspeichern.
> Das Fehler-Logfile zeigt brav "Apache... PHP/3.0.2a configured".
> Was könnte ich falsch gemacht haben?
Hallo Antje, ich hab das auch gerade gemacht und hatte genau
das auch. Hast du mal in die ErrorLogfile geschaut? Steht
da, dass der Apache mit PHP gestartet ist? Ich habe eine
PHP Seite in html umgenannt und siehe da, sie wurde nicht geparst.
Dann habe ich _alle_ Httpd-Binarys vernichtet, die ich finden
konnte und alles nochmal kompiliert und siehe da .. es ging.
Ich kann´s nicht beweisen :) Aber ich vermute ganz stark, dass
da noch eine Binary rumlag, auf die der Compi beim Hochfahren
zugriff und die nicht mit PHP kompiliert war.
Zu guter letzt habe ich eine Doku geschrieben fuer
PHP,Apache und MySQL. (mod_auth_mysql ist leider nicht drin)
Ich hoffe, ich hab keinen Fehler drin.
Vielleicht magst Du die mal ausprobieren.
Installationsanleitung fuer PHP, MySQL
und Apache auf Linux
1. Voraussetzungen
GNU Gzip
GNU tar
GNU-Autoconf
GNU Make (empfohlen)
Linux Kernel 2.0 und hoeher mit Posix Threads
LinuxThreads
Ein Ansi C++ Compiler
(z.B. gcc >= 2.7, fuer Linux empfohlen)
Ich arbeite mit Suse5.2 und
hatte mal irgendwann nur
Bison updaten muessen,
weiss aber nicht mehr, ob
es fuer eins dieser Programme
war.
2. Download
MySQL-Mirror http://mysql.staufen.de/download.html
apache_1.3.1.tar.gz http://www.apache.de/dist/
PHP 3.0.3 source http://www.php3.de/download-php.php3
http://mysql.staufen.de/Manual/manual-german.html
Ein ausfuehrliches Installationsmanual in deutsch
fuer MySQL
3. Installation
Beispiel-Wurzelverzeichnis: /usr/local
(ist auch das Default-Verzeichnis von MySQL)
MySQL, Apache und PHP3 in den Unterverzeichnissen
/usr/local/{mysql,apache, php3} auspacken.
- vorm Entpacken mit tar eventuell die Endungen: "*tar.tar"
mit cp in "tar.gz" umbenennen.
- eventuell die Programme aus den Versionsverzeichnissen
(z.B.: /usr/local/apache/apache_1.3.1 mit: cp * -r /usr/local/apache)
in der Verzeichnishierachie eine Ebene hoeher installieren.
Es sollte auch so gehen; dann muss man aber mehr schreiben.
3.1 MySQL
(befindet sich bei mir in /usr/local/mysql)
a) ./configure
verschiedene Checks, Erstellung der Makefiles, bei Erfolg:
"MySQL has a Website at http://www.tcx.se ...
Remember to check the platform specific parts in
the reference manual for hints about installing your
plattform. See the Docs directory
Thank you for choosing MySQL!
./configure --help ruft die Configurations-Optionen auf
b) make
kompiliert die Programme, verschiedene Meldungen flimmern ueber
den Schirm. Das dauerte bei mir fuenfzehn Minuten
(586´er, 120MH, 64MByte Ram). Dabei setzt der gcc circa 180MB um,
eventuell: ./configure --with-low-memory aufrufen.
Sollten Fehler auftreten, ist wahrscheinlich eins der Programme
oben nicht upgedatet oder fehlt.
zu weiteren Fehlermeldungen:
http://mysql.staufen.de/Manual/manual-german.html
c) make install
Installiert die Programme in die jeweiligen Verzeichnisse
z.B.: mysqladmin nach /usr/local/bin
d) ./scripts/mysql_install_db
Installiert die Privilige Tabellen
(Nur aufrufen, wenn MySQL zum ersten Mal installiert wird.
das Script kann angepasst werden.)
e) /usr/local/bin/mysqladmin version
Wenn der Server funktioniert, erhaelt man eine Meldung wie diese:
Server Version 3.21.33b_log
Protocol Version 10
Connection Localhost via Unix socket
Unix Socket /tmp/mysql.sock
uptime 2 min 15 sec
Running threads 1 Questions 18
Opened_tables 7 Flush tables: 1
Open tables 3
f) /usr/local/bin/mysqlshow sollte folgenden Output liefern:
Databases
mysq
test
g) Start und Stop des Servers
/usr/local/mysql/scripts/mysql.server start
/usr/local/mysql/scripts/mysql.server stop
starten des Servers bei Hochfahren des Systems
kann in /sbin/init.d eingestellt werden
Linuxianer wissen, wie das geht, steht im SuseHandbuch
weitere Fragen hierzu: news:de.comp.linux.misc
Sollte MySQL reconfiguriert werden, muss man die Datei
config.cache in /usr/local/mysql loeschen, bzw. make distclean
aussfuehren.
3.2 Apache
Der Apache-Server muss einmal installiert sein, bevor er
mit PHP als Modul kompiliert wird. Die Konfiguration
ist dabei egal.
Das Root-Verzeichnis des Apache ist bei mir in: /usr/local/apache
a) ./configure --prefix=/usr/local/apache
b) make
c) make install
Wenn alles glatt lief, ist /usr/local/apache um einige
Unterverzeichnisse reicher, der Server kann gesteuert werden
werden in: /usr/local/apache/sbin/apachectl start/stop/restart ...
Auf Default liest apchectl beim Start einmalig die
Konfigurationsdateien in: /usr/local/apache/etc/ ein.
Fuer einen ersten Test ist eine Manipulation in der httpd.conf noetig.
"User nobody" umbenennen in: User >ein angemeldeter User im System<
User nobody anmelden.
vor: "Group" eine Raute machen.
d) /usr/local/apache/sbin/apachectl start
Sollte eine Meldung bringen, dass der Server nun laueft.
Wer noch nie in Linux einen Apache-Server installiert hat, sollte
sich mal einen langen Abend und mehr Zeit nehmen und die Documentationen
einmal ausfuehrlich studieren. Da steht eine Menge zur ServerSicherheit,
VirtualHosts, .htaccess-files, mod_rewrite und vieles mehr. Der Apache
ist nicht nur Internet- sonder auch auch Intranet-Tauglich,
es lohnt sich.
3.3 PHP
im Verzeichnis /usr/local/php ...
a) ./configure --with-apache=/usr/local/apache --with-mysql
--enable-track-vars=yes
b) make
c) make install
Im Verzeichnis /usr/local/apache/scr/modules/php3 sollten sich
nun einige PHP-Dateien befinden. Apache braucht sie,
zum Kompilieren. Das Default Verzeichnis der php.ini ist
in /usr/local/lib. Dahin muss noch die php.ini-dist kopiert
und in php.ini umbenannt werden.
3.3 Apache und PHP in der Modulversion
im Verzeichnis /usr/local/apache:
a) ./configure --prefix=/usr/local/apache
--activate-module=src/modules/php3/libphp3.a
b) make
c) make install
d) Zusatz in der Datei /usr/local/apache/etc/httpd.conf oder srm.conf
AddType application/x-httpd-php3 .php .php3
AddType application/x-httpd-php3-source .phps
Dateien mit den Endungen .php und php3 im werden nun vom Server geparst.
Dateien mit der Endung .phps werden in einstellbarem Layout als
Textfiles dargestellt (dazu mehr in der php.ini)
In der ModulVersion funktioniert die Ausfuehrung von
PHP-Dateien im CGI-Verzeichnis nicht. Dafuer ist ein
PHP-Interpreter notwendig.
Das waren die noetigsten Schritte
fuer die Installation ohne Konfigurierung.
Bei mir hat das geklappt.
Ich hoffe keine Fehler in der
Doku gemacht zu haben.
Viel Erfolg
Mike
php::bar PHP Wiki - Listenarchive