Debian, Apache & PHP5

Hobbystern

Hobbystern

Wahl-Debianer
Hallo Gemeinschaft,

ich bin eigentlich nicht von der döseligen Sorte, komme aber seit Tagen, wahrscheinlich wegen schlafmangels/schlechtem essen und wenig auslauf zu keinem ergebnis :-)

Problem-PC : vServer lief stabil seit je her, bedurfte wegen eines technischen Problems beim Provider einer Neuinstallation, dort lief Mediawiki mit einer DB die ich als Backup hier liegen habe.

Nun spiele ich alles auf, deinstalliere ein bereits installiertes php4 samt aller restl. komponenten, spiele apache 2.2 und php5 samt aller komponenten auf (siehe hier) und installiere mediawiki.

Nun mag Apache meine index.php nur herunterladen :-(

Genauer Wortlaut :

"application/x-httpd-php43"

Nun, nicht schlimm, ich kenne das Problem ja von früher schon (php3...) und erkenne, er mag nicht verstehen das auch eine php43 Datei php5 zugewiesen werden soll und dort geparsed werden darf.

Also rein in die mods-enabled und nachsehen ob diese Dateiart als AddType steht, tut sie.

Nun , nach vielem suchen und neustarten usw usf habe ich immer noch keine Lösung.

Bitte : Habt ihr einen guten Ratschlag ?
 
Egal ob PHP4 oder PHP5 als Parser genutzt wird, heisst der Dateityp/MIME-Typ deswegen nicht application/x-httpd-php43 sonder application/x-httpd-php. Also MIME-Typ-Zuordnung überprüfen. Ansonsten bitte die relevanten Konfigurationen posten.
 
Recht hast Du.

Firefox gibt mir diesen aus, wenn ich die meine HP auf dem Server anspreche, welche Du auch nun erreichen kannst (www.traumlinux.de).

Ich habe die Definition von AddType in der Apache2.conf (/etc/apache2) aus Verzweifelung eingesetzt - die module die mit in die config einfliessen sind ja in /etc/mods-enabled verlinkt und dort liegt auch die php5.conf mit diesem inhalt :

Code:
<IfModule mod_php5.c>
  AddType application/x-httpd-php .php .phtml .php3
  AddType application/x-httpd-php-source .phps
</IfModule>

Habe ich da etwas vergessen - muss ich php noch irgendwo einschalten bzw. einkommentieren ?

Die zu parsende Datei heisst sinnigerweise index.php - also eigentlich standard.

Hat jemand Rat?

Grüsse, Stefan
 
Das PHP-Modul für den Apachen kann man bei Debian durch anlegen eines Symlinks aktivieren:

Code:
cd /etc/apache2/mods-enabled
ln -s ../mods-available/php5.conf php5.conf
ln -s ../mods-available/php5.conf php5.load

Danach /etc/init.d/apache2 restart
Eigentl. passiert das aber bei der Installation von PHP5 per apt-get automatisch.

Deshalb wundert es mich eigentl., dass hier solche Probleme auftreten.
Bei mir hatte das Update problemlos funktioniert.

Gibt es evtl. einen Eintrag im Apache Error-Log?
Evtl. mal die apache2.conf prüfen..
/etc/php5/apache2/php.ini evtl. auch mal checken.

Das fällt mir spontan dazu ein. :)
 
@CPLinux

Das wäre doch zu einfach :-) Ich schrieb ja oben ....
die module die mit in die config einfliessen sind ja in /etc/mods-enabled verlinkt und dort liegt auch die php5.conf

Alle Links stehen, alle Konfiguration scheinen okay.

Ich habe apache, apache2, php5 und alle mods einmal gepurged und neu installiert, aber auch das brachte rein gar nichts.

Gibt es evtl. einen Eintrag im Apache Error-Log?

Leider nein. Im Log an sich wird folgendes routinemäßig hinterlegt :

Code:
[Sun Feb 17 18:23:23 2008] [notice] caught SIGTERM, shutting down
[Sun Feb 17 18:23:26 2008] [notice] Apache/2.2.3 (Debian) PHP/5.2.0-8+etch10 proxy_html/2.5 configured -- resuming normal operations

Das bringt mir auch nicht wirklich Hilfe - denn es scheint ja alles okay zu sein.

?( :think: Jemand :oldman ?
 
Was gibt dir

Code:
grep -r "php" /etc/apache2

aus?
 
Eine sehr schöne Abfrage, sie gibt mir :

Code:
/etc/apache2/mods-enabled/php5.conf:<IfModule mod_php5.c>
/etc/apache2/mods-enabled/php5.conf:  AddType application/x-httpd-php .php .phtml .php3
/etc/apache2/mods-enabled/php5.conf:  AddType application/x-httpd-php-source .phps
/etc/apache2/mods-enabled/php5.load:LoadModule php5_module /usr/lib/apache2/modules/libphp5.so
/etc/apache2/mods-enabled/dir.conf:          DirectoryIndex index.html index.cgi index.pl index.php index.xhtml
/etc/apache2/apache2.conf.dpkg-old:DirectoryIndex index.html index.cgi index.pl index.php index.xhtml
/etc/apache2/apache2.conf.dpkg-old:#AddType application/x-httpd-php .php
/etc/apache2/apache2.conf.dpkg-old:#AddType application/x-httpd-php-source .phps
/etc/apache2/mods-available/php5.conf:<IfModule mod_php5.c>
/etc/apache2/mods-available/php5.conf:  AddType application/x-httpd-php .php .phtml .php3
/etc/apache2/mods-available/php5.conf:  AddType application/x-httpd-php-source .phps
/etc/apache2/mods-available/php5.load:LoadModule php5_module /usr/lib/apache2/modules/libphp5.so
/etc/apache2/mods-available/dir.conf:          DirectoryIndex index.html index.cgi index.pl index.php index.xhtml
/etc/apache2/apache2.conf:<IfModule mod_php5.c>
/etc/apache2/apache2.conf:  AddType application/x-httpd-php .php .phtml .php3
/etc/apache2/apache2.conf:  AddType application/x-httpd-php-source .phps

Ich muss nun selber ersteinmal lesen ;)

Danke erstmal, Stefan
 
Also ich verwende haargenau die gleiche PHP-Version.

Gehört die index.php zu einer Anwendung oder ist das ein einefaches Test-File?
Ich frage, weil es die Problematik gibt, dass der Webserver, wenn ein Script zu viel Speicher benötigt, die Datei zum Download anbietet, statt sie weiter zu parsen.
Anlaufpunkt dafür wäre dann die php.ini -> einfach nach "memory" suchen.

Ansonsten bin ich jetzt auch etwas überfragt.
Das Modul wird ja scheinbar geladen...evtl. mal die php error-logs in der php.ini aktivieren!!.
Evtl. gibt das Aufschluß.
Irgendwo muß es ja eine Fehlermeldung geben.
 
Ich würde auch dazu raten mal die PHP-Errorlogs zu aktivieren. Am Webserver scheint das Problem nicht zu liegen. Das Modul wird offenbar geladen und die Typ-Definitionen sind auch vorhanden. Evtl. auch einfach mal beim Start des Webservers die access_log und die error_log überwachen und schauen ob evtl. beim Start schon Warnungen auftauchen.

@cplinux: Im übrigen muss man bei debianbasierten Distros nicht per Hand verlinken. Zum Aktivieren und deaktivieren von Modulen gibt es a2enmod und a2dismod. Damit wird wenigstens sichergestellt, dass wirklich alle relevanten Dateien (können z.B. bei DAV auch mal ein paar conf-Dateien mehr sein) richtig verlinkt werden.
 
Hallo Ihr,

ich möchte hier nochmals erwähnen das ich euch DANK schulde für das Interesse an meinem Problem.

Ich habe die Errorlogs nun aktiviert, ich habe die SPeichergrenze auf 20MB gestellt, das dürfte mehr als genug sein.Die index.php gehört zu einem Gesamtpaket von "Gallery2", ich habe auch eine zweite anzubieten, diese stammt aus dem mediawiki Paket - auch diese weigert sich (nicht) geladen zu werden :-) .Fehlermeldungen habe ich keine vorzuzeigen, lediglich (wie immer)

Code:
[Tue Feb 19 08:25:48 2008] [notice] caught SIGTERM, shutting down
[Tue Feb 19 08:25:49 2008] [notice] Apache/2.2.3 (Debian) PHP/5.2.0-8+etch10 proxy_html/2.5 configured -- resuming normal operations
[Tue Feb 19 08:26:37 2008] [error] [client 66.249.72.132] File does not exist: /var/www/mediawiki/opentaps-1.0.0
[Tue Feb 19 08:28:38 2008] [notice] caught SIGTERM, shutting down
[Tue Feb 19 08:28:40 2008] [notice] Apache/2.2.3 (Debian) PHP/5.2.0-8+etch10 proxy_html/2.5 configured -- resuming normal operations
Das "File not exist" ist mM nichts wildes.

Ich habe die a2enmod durchgespielt, es wurde jedoch nur gemeldet das die Module bereits aktiviert sind.

Das PHP Errorlogging ist noch leer.

Das Problem besteht weiterhin.

Meine HP hat folgende Seiten .. :

Code:
NameVirtualHost traumlinux.de

<VirtualHost traumlinux.de>
ServerAdmin meineEmail
ServerName www.traumlinux.de
DocumentRoot /var/www/mediawiki
</VirtualHost>

<VirtualHost gallery.traumlinux.de>
        ServerName gallery.traumlinux.de
        DocumentRoot /var/www/gallery2
</VirtualHost>

<VirtualHost 4images.traumlinux.de>
        ServerName 4images.traumlinux.de
        DocumentRoot /var/www/fotoart/
</VirtualHost>
Vielleicht hat das ganze hiermit etwas zu tun ?

EDIT : Ich habe das ganze nochmals blank gemacht, auch so keine Veränderung bei diesem Problem.
EDIT 2 : Ich habe unter webim recht komfortabel eine Möglichkeit gefunden die php.ini´s einzustellen, so konnte ich sicher sein das alles "standard" ist und okay - dies ist der Fall. Also auch hier KEINE LÖSUNG gefunden :-(

:hilfe2:

Grüsse, Stefan
 
Zuletzt bearbeitet:
Hi zurück,

leider hilft mir das zZt nicht wirklich, da es mein Problem nicht betrifft, sondern lediglich die Datenbank-Anbindung bei einem Update...

EDIT : Ich habe nun Apache und die Gallery2 sowie mediawiki gepurged und neu installiert per apt - das spiel bleibt das gleiche :-((((

Grüsse, Stefan
 
Zuletzt bearbeitet:
mir bietet er die Seite zum download an, wenn ich

Code:
traumlinux.de
als URL angebe.

Mit
Code:
www.traumlinux.de

kommt das setup vom wiki.

Gruß Aqualung
 
Vielleicht postest du der Einfachheit halber einfach mal deine Apache-Konfiguration (bitte als Anhang oder in Code-Tags). Das dürfte die Fehlersuche etwas vereinfachen. Es kann sich ja eigentlich nur um einen Konfigurationsfehler handeln. Bitte auch die php5.conf und php5.load sowie die aktivierten VirtualHost posten, die du verwendest.
 
Hallo Ihr,

die Virtual Hosts sind doch oben bereits geposted, ich setze hier nochmals die ganze Konfig ein und muss gestehen :

Ich bin überrascht, auch bei mir klappt das ganze (ohne www.) ?(

[einigeminutenspäter]

Die Apache2.conf ist identisch der von Debian und ohne Änderungen, ich hänge sie der Lesbarkeit halber an (Anhang), die VirtualHosts sind oben (wie geschrieben) aber auch im Paket im Anhang zu finden.

Danke für Euren Einsatz (!)

Grüsse, Stefan
 

Anhänge

  • problem.zip
    28,2 KB · Aufrufe: 3
Deine VirtualHosts sind definitiv falsch. Korrekt müsste die 000-default so aussehen:

Code:
NameVirtualHost *

<VirtualHost *>
ServerAdmin deine@emailadresse.tld
ServerName traumlinux.de
DocumentRoot /var/www/mediawiki
</VirtualHost>

<VirtualHost *>
ServerAdmin deine@emailadresse.tld
ServerName www.traumlinux.de
DocumentRoot /var/www/mediawiki
</VirtualHost>

<VirtualHost *>
        ServerName gallery.traumlinux.de
        DocumentRoot /var/www/gallery2
</VirtualHost>

<VirtualHost *>
        ServerName 4images.traumlinux.de
        DocumentRoot /var/www/fotoart/
</VirtualHost>

Für das '*' kannst du alternativ auch '*:80' oder '<deine-ip>' bzw. '<deine-ip>:80' verwenden. Mit dem Wildcard matcht es halt auf alle IPs des Servers. Siehe dazu auch http://httpd.apache.org/docs/2.0/de/mod/core.html#namevirtualhost
 
Ein eine einfache index.php mit Inhalt
Code:
<?=phpinfo(); ?>
funktioniert, muss es ja an der Anwendung liegen.

Gibt es irgendwelche Umleitungen? Z.B. mediawiki - per apt-get installiert - befindet sich ja normalerweise in /usr/share/mediawiki.
Dann muß man normalerweise entweder einen symbolischen Link oder einen Alias anlegen.
Evtl. ist das auch das Problem.

Die vhost-Konfiguration ist sicher nicht ganz optimal.
Das hat ja schon bitmuncher gepostet.
Ich gehe immer gerne dazu Über, die unterschiedlichen vhosts auf unterschiedliche Dateien zu verteilen, aber das ist sicherlich Geschmacksache.

Wenn es an der Anwendung liegt, erhöhe doch mal - nur testweise - das memory_limit in der php.ini für den Apachen.
Danach WS neustarten.
Würde mich mal interessieren.

So was banales wie register_globals (ich habe das auch immer off) kann es eigentl. fast auch nicht sein. Würde ich aber mal testen.

Ich hatte mir auch schon überlegt, gallery2 mal zu versuchen. Ich bin gespannt, ob ich da auf ähnliche Probleme stoße.
 
Hallo Bitmuncher, Hi Cp,

so....die VHosts habe ich nun neu editiert und mich dabei an bitmuncher gehalten - startet sauber hoch, kein Problem. Jedoch ist ein Zugriff mit "www.traumlinux.de" immer noch nicht möglich, jedoch ohne "www." wie gehabt - voller Zugriff.

Die anderen Subdomains verweigern (wie gehabt) ihren dienst.

Ich habe das Memory Limit mal wirklich "out of range" gesetzt, also bei 500M verankert, auch dies hilft nicht weiter und steht wieder zurück auf 16M.

Das Register_Globals steht auf off, auf On mag ich es nicht belassen, ein Testlauf damit ergab aber auch keine Besserung.

Ich habe die Logs nochmals durchstöbert, aber sie bleiben stumm - ich habe PHP angewiesen nahe zu alles zu loggen - aber auch dort gibt es nichts zu finden...


Also zusammenfassend :

- Greift man per "www.domain.tld" auf die Seite zu wird man zum Download gebeten

- Greift man ohne "www" zu, so klappt die ganze Sache und die PHP Unterstützung rollt.

Ich befrag nun noch etwas das Orakel (Google) und schau mal ob es Leidensgenossen gibt.

Der Server ist absolut clean, es wurde BIND vorinstalliert, ich stehe eher auf MaraDNS. Aber ich muss ehrlich gestehen den Fehler eher bei Apache suchen zu wollen.

- Apache wurde de- und installiert (purge)
- PHP wurde de- und installiert (purge)
- Alle Konfigs waren Standard
- Die vHosts habe ich nach dem Rat von Bitmuncher angepasst
- Das Memory-Limit habe ich variiert
- Beschränkungen der Sicherheit wie reg.globals habe ich de- und aktiviert
- Die INIs von PHP sind auch Standard der Distri
- .htaccess Dateien existieren auf dem Server in den oberen Verzeichnissen nicht (habe das geprüft)
- Die "Software" , zB Gallery2 / Mediawiki sind frisch installiert und standard per distri - unkonfiguriert , sie sind per ln -s quelle ziel verlinkt, sowohl mediawiki als auch gallery2
- All diese Pakete haben in dieser Konstellation mehr als ein Jahr funktioniert, solange bis ich nun den Server reinstallieren musste, da der Provider die IP wechselte...geplant war : Backups erstellen, Server reinstallieren, Pakete installieren, Backups wieder einspielen - glücklich...

Puh...soweit....Stefan
 
Kannst du das ganze vielleicht mal richtig "freischalten"? Wenn ich auf traumlinux.de gehe, bekomme ich die Apache-Testsite, was mir zeigt, dass garkeine VHosts existieren, sondern das Debian-Default noch eingestellt ist. Vielleicht liegt das Problem nämlich auch bei deinem Browser oder bei MediaWiki.
 
Zurück
Oben