Jump to content
Froxlor Forum
  • 0

[solved] php geht nicht nach Umstellung auf php-fpm


Kilrathy

Question

Hallo zusammen

 

habe hier ein frisches Debian 7 mit einer v?llig neuen Froxlor Installation. Soweit hat auch alles geklappt, bis zum Moment wo ich auf php-fpm umgestellt habe. Hierzu habe ich mich u.a. an diese Anleitung im Wiki gehalten (http://redmine.froxlor.org/projects/froxlor/wiki/FPM_-_handbook#4-Setting-up-fastcgi).

 

Der Cronjob hat meines Erachtens alles korrekt erstellt, apache und php-fpm starten ohne Fehler durch und laufen, nur werden keine PHP Files mehr als solche ausgef?hrt. Sprich entweder kommt ein leeres Fenster oder sinnloser Text. Die Option, dass Froxlor via php-fpm laufen soll, habe ich ebenfalls aktiviert.

 

Die Files auf meinem Demosystem:

 

/etc/apache2/vhosts.conf.d/10_froxlor_ipandport_192.168.218.129.80.conf


# 10_froxlor_ipandport_192.168.218.129.80.conf
# Created 03.12.2013 12:10
# Do NOT manually edit this file, all changes will be deleted after the next domain change at the panel.

NameVirtualHost 192.168.218.129:80
<VirtualHost 192.168.218.129:80>
DocumentRoot "/var/www/"
 ServerName froxlor.chileo.ch
  FastCgiExternalServer /var/www/php-fpm/froxlor.panel/froxlor.chileo.ch/382c.fpm.external -socket /var/run/apache2/froxlor.panel-froxlor.chileo.ch-php-fpm.socket -idle-timeout 30
  <Directory "/var/www/">
   <FilesMatch "\.(php)$">
     AddHandler php5-fastcgi .php
     Action php5-fastcgi /fastcgiphp
      Options +ExecCGI
    </FilesMatch>
    Order allow,deny
    allow from all
  </Directory>
  Alias /fastcgiphp /var/www/php-fpm/froxlor.panel/froxlor.chileo.ch/382c.fpm.external
</VirtualHost>

/etc/apache2/mods-available/fastcgi.conf

<IfModule mod_fastcgi.c>
    FastCgiIpcDir /var/lib/apache2/fastcgi

    <Location "/fastcgiphp">
        Order Deny,Allow
        Deny from All
        # Prevent accessing this path directly
        Allow from env=REDIRECT_STATUS
    </Location>
</IfModule>

Auszug aus den Logfiles beim restarten von apache2 und php-fpm:

[Tue Dec 03 12:10:41 2013] [notice] SIGUSR1 received.  Doing graceful restart
[Tue Dec 03 12:10:41 2013] [notice] FastCGI: process manager initialized (pid 11319)
[Tue Dec 03 12:10:41 2013] [notice] Apache/2.2.22 (Debian) mod_fastcgi/mod_fastcgi-SNAP-0910052141 configured -- resuming normal operations
[03-Dec-2013 12:10:41] NOTICE: Finishing ...
[03-Dec-2013 12:10:41] NOTICE: exiting, bye-bye!
[03-Dec-2013 12:10:41] NOTICE: fpm is running, pid 11300
[03-Dec-2013 12:10:41] NOTICE: ready to handle connections

Die Prozessliste mit apache2 und fcgi/php-fpm

root     10930  0.0  0.3  72508  3680 ?        Ss   12:01   0:00 /usr/sbin/apache2 -k start
www-data 11318  0.0  0.2  72516  2132 ?        S    12:10   0:00  \_ /usr/sbin/apache2 -k start
www-data 11319  0.0  0.1  72508  2024 ?        S    12:10   0:00  \_ /usr/sbin/fcgi-pm -k start
www-data 11320  0.0  0.3 296000  3332 ?        Sl   12:10   0:00  \_ /usr/sbin/apache2 -k start
www-data 11321  0.0  0.2 295944  2820 ?        Sl   12:10   0:00  \_ /usr/sbin/apache2 -k start
root     11300  0.0  0.3  99208  4012 ?        Ss   12:10   0:00 php-fpm: master process (/etc/php5/fpm/php-fpm.conf)      
9999     11301  0.0  0.3  99208  4012 ?        S    12:10   0:00  \_ php-fpm: pool froxlor.chileo.ch                      


Einer eine Idee, wieso die PHP Files nicht geparsed werden?

Gruss

Kilrathy

Link to post
Share on other sites

11 answers to this question

Recommended Posts

Also, wenn du die letzte stable benutzt (0.9.30) m?sste 

FastCgiIpcDir /var/lib/apache2/fastcgi

auf jeden fall schonmal

FastCgiIpcDir /var/run/apache2/

hei?en. Denn die Einstellung daf?r kommt erst in 0.9.31 hinzu. Zus?tzlich m?ssen dem Apache-User (meist www-data) dann entsprechende Rechte an diesem Ordner gegeben werden:

mkdir -p /var/run/apache2
chown -R www-data:www-data /var/run/apache2

Dann sehe ich in deiner Prozessliste, dass der PHP-Prozess-Benutzer nur eine UID anzeigt, wurde libnss-mysql-bg und nscd korrekt installiert und eingerichtet?

Link to post
Share on other sites

Okay, das mit dem /var/run/apache2 habe ich vorhin gerade in einem anderen Post gesehen. Das ist mal so gesetzt, den Socket hat er schonmal korrekt erstellt.

Die UID 9999 die du hier siehst steht f?r den User froxlorlocal - habe noch keine Kunden/Domains er?ffnet, nur erstmal das Panel selbst und das l?uft ja unter dem User froxlorlocal.

 

Leider klappt das parsen von php Files weiterhin nicht.

Link to post
Share on other sites

Die UID 9999 die du hier siehst steht f?r den User froxlorlocal - habe noch keine Kunden/Domains er?ffnet, nur erstmal das Panel selbst und das l?uft ja unter dem User froxlorlocal.

 

Das beantwortet aber meine Frage nicht:

 

[...], wurde libnss-mysql-bg und nscd korrekt installiert und eingerichtet?

Edit: auch entsprechende apache2-module installiert und geladen? steht was neues in den Logs (sollte eigentlich)

Link to post
Share on other sites

Nope, in den Logfiles steht nicht viel mehr wie vorhin - auch mit LogLevel debug beim apache2.

 

libnss-mysql-bg und nscd habe ich eingerichtet und entsprechend konfiguriert. Da aber von Froxlor noch keine User bestehen, kann ich das nicht grossartig testen. Beim restart von nscd bekomme ich jedoch keine Fehlermeldungen. Kann ich das irgendwie sinnvoll testen, auch ohne eingerichtete Kunden bei Froxlor?

 

Die apache2 Module fastcgi und actions sind geladen, sollten f?r php-fpm reichen, oder?

Link to post
Share on other sites

Ne passt schon, wenn du's eingerichtet hast ist alles ok.

 

Leider hilft mir deine "Fehlerbeschreibung" nicht viel weiter:

 

Leider klappt das parsen von php Files weiterhin nicht.

 

Und ich weiss ja nicht, ob du nun eine Fantasie-Domain hier angegeben hast, aber wenn ich auf "froxlor.chileo.ch" zugreifen will, passiert nichts. Denn die Subdomain "froxlor.chileo.ch" scheint auf nichts zu zeigen (DNS falsch).

 

Sorge bitte erstmal daf?r, dass *.chileo.ch auch auf die Server-IP zeigt. Sonst wundert man sich sp?ter warum irgendwas nicht geht.

Link to post
Share on other sites

Also damits allgemein verst?ndlich wird: das ist eine VM auf meinem Macbook. Ich arbeite hier lokal und nicht nackt in der grossen weiten Welt. Auch IP technisch reagiert das System "nur" unter 192.168.218.129 - oder aktuell zum testen mittels hosts File unter froxlor.chileo.ch (die Domain ist trotzdem mein, nur nicht im ?ffentlichen DNS von mir eingetragen).

 

Ich habe nun unter /var/www die Datei 'test.php' erstellt mit folgendem Inhalt:

<?php
        phpinfo();
?>

Und die rufe ich entweder ?ber http://192.168.218.129/test.php oder http://froxlor.chileo.ch/test.php auf.

 

Als Ergebnis erwarte ich ein Sammelsurium an PHP Informationen meiner PHP Installation von Debian 7.

Bekommen tu' ich nur eine leere Seite -> "wird nicht geparsed", oder wie man dem auch im allgemein sagen will.

 

Gleiches wenn ich /froxlor aufrufen will, ich bekomme nicht das Loginfenster sondern einen Haufen Text von der index.php.

Link to post
Share on other sites

also aufruf ?ber IP/test.php kann nicht gehen, denn daf?r gibts vom apache keine fpm-config im vhost. wenn ?ber froxlor/test.php.

Davon abgesehen: wenn php als text angezeigt und nicht geparsed wird, heisst das, php ist nicht korrekt in apache eingebunden. Schau bitte in die Logs, es gibt GARANTIERT welche die diesen Fehler anzeigen.

 

Solltest du dort ein Debian emulieren, dann versuche auch bitte auf jeden Fall ein apache STOP mit anschlie?endem apache START (absichtlich KEIN reload oder restart). Gleiches bitte auch beim php-fpm Dienst.

Link to post
Share on other sites

Ich start mal von grund auf neu. Irgendwas stimmt nicht wirklich, kP obs mit Debian 7 zusammenh?ngt. Was mir n?mlich nun auffiel (frisches System, installier nur apache2, libapache2-mod-php und php5):

 

  • Aufruf /froxlor gibt nur Text aus
  • Aufruf /froxlor/index.php gibt korrekt Loginfenster aus

Ich glaub, ich Depp hab jetzt Stunden mit so nem scheiss Fehler rumhantiert, welcher gar ned beim Froxlor ist.

Link to post
Share on other sites

joa, dann hat dein apache f?r "DirectoryIndex" vllt kein "index.php" drinstehen?`warum allerings /froxlor dann nur textausgeben sollte wundert mich. Geh?rt ja mit zum Vhost (also wenn du via froxlor.chileo.ch aufrufst, ?ber IP/froxlor gilt das NICHT).

Link to post
Share on other sites

jepp, wundert mich echt... habs jetzt schnell nachgebaut und es klemmt wieder mit php-fpm. Diesesmal wenigstens einheitlich mit und ohne index.php nur Text. ^_^

Muss mich mal in einer ruhigen Minute nochmals damit befassen, danke trotzdem f?r's helfen!

 

Gruss

Link to post
Share on other sites

Oh man, ich glaub ich werd bl?de!!!

Man sollte nat?rlich noch den gew?hlten vhost Ordner in der apache2 includen... ich hab nie daran gedacht, das mal zu kontrollieren. Siehe da, es funktioniert auf einmal.

 

Kann man auf gel?st setzen. PEBCAC war die Ursache ;D

Link to post
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...