ubuntuusers.de

apache2 und php: will index.php herunterladen statt öffnen

Status: Gelöst | Ubuntu-Version: Ubuntu 8.04 (Hardy Heron)
Antworten |

andreasalef

Anmeldungsdatum:
24. Februar 2008

Beiträge: 81

Wohnort: Bochum, tief im Westen

Hallo,

ich habe den apache2 und php usw. neu installiert. Aber er will bei http://loclhost/index.php die Datei index.php herunterladen statt ausführen. Ich vermute, ich muß irgendwo in den Konfigs die Ausführung von PHP Modulen aktivieren, aber wo? Die ganze Konfigurationsstruktur des apache2 ist ziemlich verwirrend.

Gruß, Andreas Alef

PS: um sicherzustellen, daß alle php-Abhängigkeiten erfüllt sind, habe ich phpmyadmin installiert.

xabbuh Team-Icon

Anmeldungsdatum:
25. Mai 2006

Beiträge: 6411

Hast du schon mal deinen Browser-Cache geleert und / oder einen anderen Browser getestet?

stegy

Anmeldungsdatum:
14. Februar 2007

Beiträge: 413

Hallo,

ist denn php5 wirklich installiert? auch das apachemodul dazu? am besten so mal nach schauen:

dpkg -l | grep php

Unter /etc/apache2/mods-available sollte es die Dateien: php5.conf und php5.load geben. Das modul sollte natürlich auch aktiviert sein.

So verwirrend ist die Konfiguration doch gar nicht wenn man folgendes weiß 😉:

die Apachekonfiguration befindet sich hier: /etc/apache2/apache2.conf
Module + Konfiguration hier: /etc/apache2/mods-available/*
Module aktiviert man mit a2enmod, was bewirkt das links von /etc/apache2/mods-enabled/ nach mods-available erstellt werden.
Konfigurationen von Virtual Hosts sind dann genauso wie die mods ind site-enabled und sites-available eingeteilt und werden mit a2ensite aktiviert.

gruß stegy

ps: sind die der Alef von der TBS1?

Denga

Avatar von Denga

Anmeldungsdatum:
16. April 2007

Beiträge: 150

Wohnort: Kiel

Nachdem man das php5 Modul installiert hat, muss man den Indianer neu starten damit es auch geladen wird.

MfG

dynamite1781

Anmeldungsdatum:
21. November 2005

Beiträge: 36

Versuch mal das:

Wenn nach der Installation von Apache und PHP die PHP-Dateien nicht angezeigt sondern nur heruntergeladen werden, so kann es sein, dass das Apache Modul nicht ordentlich aktiviert wurde. Weitere Informationen hierzu findet man hier im Wiki.

Unter Problemlösung wird der Lösungsweg beschrieben.

gruß Dynamite

andreasalef

(Themenstarter)

Anmeldungsdatum:
24. Februar 2008

Beiträge: 81

Wohnort: Bochum, tief im Westen

also:

php 5 scheint installiert zu sein:

root@ASUSSERVER:~# apt-get install php5
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut
Reading state information... Fertig
php5 ist schon die neueste Version.
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.

dpkg -l wirft aus:

root@ASUSSERVER:~# dpkg -l | grep php
ii  libapache2-mod-php5                        5.2.4-2ubuntu5.3                                     server-side, HTML-embedded scripting languag
rc  libapache2-mod-suphp                       0.6.2-2ubuntu1                                       Apache2 module to run php scripts with the o
ii  php5                                       5.2.4-2ubuntu5.3                                     server-side, HTML-embedded scripting languag
ii  php5-cli                                   5.2.4-2ubuntu5.3                                     command-line interpreter for the php5 script
ii  php5-common                                5.2.4-2ubuntu5.3                                     Common files for packages built from the php
ii  php5-imagick                               2.0.1-1ubuntu0.1                                     ImageMagick module for php5
ii  php5-mcrypt                                5.2.3-0ubuntu1                                       MCrypt module for php5
ii  php5-mysql                                 5.2.4-2ubuntu5.3                                     MySQL module for php5
ii  phpmyadmin                                 4:2.11.3-1ubuntu1                                    Administrate MySQL over the WWW
rc  suphp-common                               0.6.2-2ubuntu1                                       Common files for mod suphp

Das scheint auch in Ordnung zu sein, wenngleich dieses suphp dabei ist, das bekomme ich auch irgendwie nicht weg.

Aber a2enmod kennt php5 oder php nicht:

root@ASUSSERVER:~# sudo a2enmod php5
This module does not exist!

Und in der mods-enabled findet man auch kein php

root@ASUSSERVER:/etc/apache2/mods-enabled# ls
alias.conf       authn_file.load       authz_host.load  autoindex.load  dir.load   mime.load         setenvif.conf  status.load
alias.load       authz_default.load    authz_user.load  cgi.load        env.load   negotiation.conf  setenvif.load
auth_basic.load  authz_groupfile.load  autoindex.conf   dir.conf        mime.conf  negotiation.load  status.conf

Und natürlich werden php-Dateien nach wie vor geladen, statt auf dem Server ausgeführt. Im Log ist auch kein Fehler zu sehen.

Gruß, Andreas Alef

eXcessive

Avatar von eXcessive

Anmeldungsdatum:
10. August 2008

Beiträge: 267

Wohnort: Wuppertal

Hallo,

wenn suphp geladen und aktiviert ist, werden PHP Scripte unter der UID ihrer jeweiligen Besitzer ausgeführt. Evtl. solltest Du dir den Eigentümer des PHP Scriptes anschauen, das Du ausführen möchtest.

Ein weiterer, häufiger Fehler ist, das die entsprechende Dateiendung nicht genutzt wird. Beisp.:

AddType application/x-httpd-php .php .phtml .php3

Die obige Zeile steht in der php5.conf und ordnet *.php, *.phtml und *.php3 als zu interpretierende Dateitypen dem PHP5-Interpreter zu. Würdest Du mit dieser Konfiguration ein Script mit der Endung *php4 ausführen, wird die Seite heruntergeladen, aber nicht ausgeführt.

andreasalef

(Themenstarter)

Anmeldungsdatum:
24. Februar 2008

Beiträge: 81

Wohnort: Bochum, tief im Westen

Hallo,

der apache2 läuft unter im Großen und Ganzen unter dem User www-data, diesem User gehören auch die aufgerufenen Dateien und das /var/www Verzeichnis:

andreasalef@ASUSSERVER:/var$ ps -efa | grep apach
root       393     1  0 18:40 ?        00:00:00 /usr/sbin/apache2 -k start
www-data   395   393  0 18:40 ?        00:00:00 /usr/sbin/apache2 -k start
www-data   396   393  0 18:40 ?        00:00:00 /usr/sbin/apache2 -k start
www-data   398   393  0 18:40 ?        00:00:00 /usr/sbin/apache2 -k start
www-data   400   393  0 18:40 ?        00:00:00 /usr/sbin/apache2 -k start
www-data   401   393  0 18:40 ?        00:00:00 /usr/sbin/apache2 -k start

Wie bekomme ich den suphp weg? Ich habe es schon mit allem möglichen versucht.

Und eine php5.conf Datei habe ich nicht im Verzeichnis /etc/apache2/modes-enabled.

Die bekomme ich aber auch nicht dorthin. Welchen Inhalt muß die Datei denn haben?

Gruß, Andreas Alef

xabbuh Team-Icon

Anmeldungsdatum:
25. Mai 2006

Beiträge: 6411

Wenn die Dateien php5.conf und php5.load nicht im Verzeichnis /etc/apache2/mods-available liegen, deutet dies daraufhin, dass diese Dateien irgendwann mal "von Hand" gelöscht wurden. Einfachste Lösungsmöglichkeit: Paket komplett entfernen und neu installieren:

sudo aptitude purge libapache2-mod-php5
sudo aptitude install libapache2-mod-php5

andreasalef

(Themenstarter)

Anmeldungsdatum:
24. Februar 2008

Beiträge: 81

Wohnort: Bochum, tief im Westen

Jeeeetttttttzzzzzzzzttttttt hat es endlich geklappt. Ich habe 100 mal deinstalliert und neu installiert, abver nicht mit aptitude sondern mit apt-get ... Ob das der Grund war? Jedenfalls endlich gelöst! Danke!

Gruß, Andreas

xabbuh Team-Icon

Anmeldungsdatum:
25. Mai 2006

Beiträge: 6411

Das kommt wieder darauf an, wie du mit apt-get deinstalliert hast. apt-get remove (vergleichbar mit aptitude remove) löscht keine Konfigurationsdateien, apt-get --purge remove (vergleichbar mit aptitude purge) hingegen.

andreasalef

(Themenstarter)

Anmeldungsdatum:
24. Februar 2008

Beiträge: 81

Wohnort: Bochum, tief im Westen

... ich bin sicher, auch mit --purge mehrfach gearbeitet zu haben. Egal, jetzt klappts... Also, zwischen aptitude und apt-get ist kein grundsätzlicher Unterschied?

Gruß, AA

Antworten |