Jump to content
Froxlor Forum
  • 0

[solved] suexec fcgi a2dismod php5


feiaweng

Question

Hallo,

 

ich habe fcgi und suexec eingerichtet nach folgender Anleitung http://redmine.froxlor.org/projects/froxlor/wiki/FCGID_-_Handbuch

Nur den Punkt

addgroup --gid 9999 froxlorlocal

adduser --no-create-home --uid 9999 --ingroup froxlorlocal --shell /bin/false hab ich nicht gemacht.

Ebenso hab ich folgendes ?bersprungen, da sonst www-data keinen Zugriff mehr hat

chown -R froxlorlocal:froxlorlocal /var/www/froxlor

W mich auch verwundert ist, wenn ich folgendes eingebe, wie in der Anleitunga

2dismod php5

f?hrt der Apache logischerweise keine php-scripte mehr aus.

Hab ich was ?bersehen, oder ist das howto veraltet?

suexec und fcgi muss doch von Hand installiert werden,das kann man doch nicht ?ber das froxlor GUI machen.

Ich komme grad nicht weiter. K?nnt ihrmir helfen?

 

Gru? feiaweng

Link to comment
Share on other sites

Recommended Posts

Was genau geht denn nicht? Hast du den Froxlor-vHost manuell angelegt oder vor deinen Umbauarbeiten den Cron gestoppt und schon alles im Webinterface vorbereitet damit es vom Cron nach der Umstellung richtig generiert wird? Hast du bei Letzterem dann den Cron mittels --force aufgerufen damit alle Configs neu erstellt werden?

Link to comment
Share on other sites

Hallo,

 

ja den cron hatte ich gestoppt. Aber nicht mit --force aufgerufen. Sobald ich a2dismod php5 eingegeben habe, kann der Apache keine php-scripte mehr ausf?hren. Ich werde das ganze nochmal mit --force ausf?hren. Evtl. ist das der Knackpunkt. Muss man den User froxlorlocal anlegen?

Link to comment
Share on other sites

Ja nat?rlich - warum hast du den denn nicht gemacht? Steht doch alles im Handbuch EXAKT und EINDEUTIG beschrieben.

 

Wenn es weiterhin nicht geht musst du selbstverst?ndlich auch den Logeintrag aus der error.log der Domain und der suexec.log posten.

Link to comment
Share on other sites

Was steht exakt und eindeutig im Handbuch?

Cronjob --force oder den User froxlorlocal anlegen?

Von --force steht da nix, und vom User anlegen, steht da, man kann, kein muss.

Hast du das auch so gemacht? Ist es ein gro?es Sicherheitsloch wenn man den Apachen mit dem aktivierten php5 Modul laufenl?sst?

Link to comment
Share on other sites

 

Froxlor vHost einrichten

Da jetzt soweit alles eingerichtet ist, wird jetzt suexec f?r Froxlor aktiviert.

 

 

Wo steht da was von kann? Es ist essentieller Bestandteil der Anleitung sonst l?uft Froxlor ja nicht. Und ja du willst mod_php nicht aktiviert lassen.

Link to comment
Share on other sites

Hallo Sephiroth,

 

ich habe den Satz

 

Ein eigener Benutzer f?r Froxlor ist eine gute L?sung, da normalerweise kein FTP-Zugriff ben?tigt wird.

so verstanden, dass man das so machen kann, aber nicht muss. Ok ich habe mich geirrt.

Auf einem anderen Server habe ich das auch ohne froxlorlocal gemacht, daher dachte ich es geht auch ohne. Vielleicht stimmt die Installation dort auch nicht ganz. Check ich nachher mal.

Ich mache es nochmal exakt nach dem Handbuch.

Und schon habe ich den ersten Fehler:

/usr/lib/apache2/suexec -V liefert mir folgende Ausgabe:

-D SUEXEC_CONFIG_DIR=/etc/apache2/suexec/
 -D AP_GID_MIN=100
 -D AP_LOG_EXEC="/var/log/apache2/suexec.log"
 -D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
 -D AP_UID_MIN=100
 

Es ist kein AP_DOC_ROOT gesetzt.

Was kann denn der Fehler sein?

 

Danke

feiaweng

Link to comment
Share on other sites

Einen Ansatz habe ich schon mal.

Wenn ich apache2-suexec-custom deinstalliere, und stattdessen apache2-suexec installiere zeigt er mir auch eine AP_DOC_ROOT an:

<quote> -D AP_DOC_ROOT="/var/www"
 -D AP_GID_MIN=100
 -D AP_HTTPD_USER="www-data"
 -D AP_LOG_EXEC="/var/log/apache2/suexec.log"
 -D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
 -D AP_UID_MIN=100
 -D AP_USERDIR_SUFFIX="public_html"

<quote>

Ich dachte man soll apache2-suexec-custom nehmen. Aber gut, wenn es mit apache2-suexec geht, lasse ich das so.

 

Link to comment
Share on other sites

sorry, Kommando zur?ck. Es funktionieren keine php-seiten. Sobald ich das modul deaktiviere mit a2dismod php5 geht nichts mehr.

Der Debuglevel von Apache liefert auch nichts brauchnbares. Und ein suexec-Log habe ich nicht. Er legt keins kein. Auch manuelles Anlegen bringt nichts.

Jetzt f?llt mir grad nichts ein, was zur L?sung f?hren k?nnte.

Link to comment
Share on other sites

Ich habe jetzt alles exakt so gemacht wie es im Handbuch steht. Bekomme aberdas gleiche Ergebnis.

Wenn ich apache2-suexec installiere, und

/usr/lib/apache2/suexec -V

aufrufe bekomme ich eine AP_DOC_ROOT angezeigt.

Sobald ich apache2-suexec-custom installiere, und /usr/lib/apache2/suexec -V aufrufe, gibt es keinen Ap_DOC_ROOT mehr.

Kann sein, dass das normal ist. Wei? ich nicht. Was ist der Sinn davon, erst apache2-suexec zu installieren, und danach mit apache2-suexec-custom zu ersetzen?

Bei Eingabe von php-cgi -v bekomme ich auch (cgi-fcgi) in der Ausgabe angezeigt.

Sobald ich aber a2dismod php5 eingebe, f?hrt apache keine php-scripte mehr aus.

Ich habe keine Ahnung warum es nicht geht. Irgendwas muss falsch sein.

Was entsteht denn f?r ein Sicherheitsloch wenn ich mod_php5 im Apache aktiv lasse?

 

Danke und Gru?

Link to comment
Share on other sites

Hallo d00p,

Im Hanfbuch steht:

Nachdem alles funktioniert muss noch sicher gestellt werden, das das Modul mod_php5 von Apache deaktiviert ist. Dies w?re ein Sicherheitsloch in der neuen Installation. Deswegen dachte ich, wenn das Modul aktiv bleibt, hat man ein Sicherheitsloch.

Suexec benutzt man, um den Apacheprozess mit der jeweiligen User-ID laufenzulassen, und damit es f?r den gleichnamigen FTP-User kein Rechteproblem gibt.

Da dies in Froxlor angeboten wird, dachte ich, man sollte das auch nutzen.

Ich bin ?berzeugt, dass euer Handbuch korrekt ist. Warum es bei mir nicht funktioniert, wei? ich ehrlich gesagt nicht.

Link to comment
Share on other sites

ich habe jetzt nochmal Punkt f?r Punkt aus dem Handbuch durchgef?hrt. Jetzt hat es geklappt.

Auf einem frisch installierten System hab ich es hinbekommen.

Was ich diesmal anders gemacht habe, war folgendes:

Jedesmal wenn ich laut Handbuch einen Schritt im  Froxlor durchgef?hrt hatte, habe ich den Cronjob ausgef?hrt.

/usr/bin/nice -n 5 /usr/bin/php5 -q /var/www/froxlor/scripts/froxlor_master_cronjob.php --tasks 1> /dev/null

so wie es auch unter /etc/cron.d/froxlor gemacht wird.

Auf dem anderen System, das schon l?uft, habe ich es auch mal versucht, genauso zu machen.

Allerdings ohne Erfolg.

Es l?uft suexec, allersdings als Apachehandler, nicht als mod_fcgid. Hab noch nicht herausgefunden warum.

Alle Schritte wie im Handbuch http://redmine.froxlor.org/projects/froxlor/wiki/FCGID_-_Handbuchbeschrieben, funktionieren, bis zum Punkt

 

Damit das auch funktioniert, ist noch folgendes einzustellen:
In Froxlor einloggen, dann Einstellungen >> FCGID >> Konfiguration und dort die Checkbox ''Verwende FCGID im Froxlor Vhost'' aktivieren.

 

wenn ich dann

chown -R froxlorlocal:froxlorlocal /var/www/froxlor

ausf?hrevkann ich mich nicht mehr im Froxlor einloggen.Dann sagt mir Froxlor ich soll

chown -R www-data:www-data /var/www/froxlor eingeben weil er die lib/userdata.inc.php nicht lesen kann.

Hier ist irgendwie das Problem.

Im Log /var/log/apache/error.log finde ich keine Hinweise, nur andere Fehler:

<b>Deprecated</b>:  Directive 'register_long_arrays' is deprecated in PHP 5.3 and greater in <b>Unknown</b> on line <b>0</b><br />

oder

PHP:  syntax error, unexpected '(' in /var/www/fcgi/user/domain/php.ini on line 29
Zend Optimizer requires Zend Engine API version 220060519.
The Zend Engine API version 220090626 which is installed, is newer.
Contact Zend Technologies at http://www.zend.com/for a later version of Zend Optimizer.

Die Zeile 29 beinhaltet folgendes:

error_reporting(0);

Das ist aber wie ich gelesen habe, kein Fehler, der eine Auswirkung h?tte.

An welche Stelle k?nnte ich suchen, um den Fehler zu finden?

Debugmodus im Apache hab ich mal aktiviert, mal sehen was er ins Log schreibt.

Link to comment
Share on other sites

Das deaktivieren von mod_php ist nat?rlich nur sinnvoll, wenn du in den Einstellungen auch angegeben hast, das Froxlor (also nicht nur die kunden-vhosts) auch via fcgid/php-fpm erreichbar sein soll...daf?r auch der lokale user "froxlorlocal"....ansonsten braucht froxlor weiterhin mod_php

Link to comment
Share on other sites

Danke f?r die Info. Man kann also auch mod_php5 im Apache aktiv lassen, ohne ein Sicherheitsloch zu ?ffnen?

Aber irgendwo bei den Schritten die ich gemacht habe, muss ein Fehler sein, da es nicht funktioniert. Oder ich denke nur es funktioniert nicht. Wass aber nicht erkl?ren wurde, warum php-scripte zum Download angeboten werden, sobald ich mod_php5 im Apache deaktiviere. Das hei?t ja, suexec l?uft nicht. Das erkl?rt vllt auch warum das suexec.log leer ist. Hast du dann eine Idee?

Link to comment
Share on other sites

Hi,

 

ich habe jetzt nochmal alle Schritte durchgef?hrt. Leider ohne Erfolg.

Es kommt nach wie vor das gleiche Fehlerbild.

wenn ich

chown -R froxlorlocal:froxlorlocal /var/www/froxlor

ausf?hre kann ich mich nicht mehr im Froxlor einloggen.Dann sagt mir Froxlor ich soll

chown -R www-data:www-data /var/www/froxlor eingeben weil er die lib/userdata.inc.php nicht lesen kann.

Ich habe wie im Handbuch angegeben folgendes gemacht:

In Froxlor einloggen, dann Einstellungen >> FCGID >> Konfiguration und dort die Checkbox ''Verwende FCGID im Froxlor Vhost'' aktivieren.

Danach den cronjob ausgef?hrt

/usr/bin/nice -n 5 /usr/bin/php5 -q /var/www/froxlor/scripts/froxlor_master_cronjob.php --tasks 1> /dev/null

mal ohne mal mit --force.

danach kommt wieder die Meldung ich soll

chown -R www-data:www-data /var/www/froxlor eingeben weil er die lib/userdata.inc.php nicht lesen kann.

/ver/log/apache2/suexec.log

[2014-12-12 13:47:47]: uid: (10016/user) gid: (10016/user) cmd: php-fcgi-starter

 

suexec funktioniert ja, nur nicht mit mod_fcgid

im apache errorlog finde ich nur Meldungen ?ber Zend, die man ignorieren kann.

 

Zend Optimizer requires Zend Engine API version 220060519.
The Zend Engine API version 220090626 which is installed, is newer.

 

Komischerweise finde ich auch folgende Meldungen:

[Thu Dec 11 00:10:32 2014] [info] mod_fcgid: server localhost:/var/www/fcgi/user/domain/php-fcgi-starter(20125) started
Contact Zend Technologies at http://www.zend.com/for a later version of Zend Optimizer.

 

Also l?uft nun mod_fcgid oder nicht?

Wahrscheinlich ja, aber ?ber Apache.

 

Hat jemand eine Idee?

Link to comment
Share on other sites

1) Folgendes ist schlichtweg FALSCH

/usr/bin/nice -n 5 /usr/bin/php5 -q /var/www/froxlor/scripts/froxlor_master_cronjob.php --tasks 1> /dev/null
mal ohne mal mit --force.

Ein --force wird ALLEINE benutzt, ohne andere Parameter, auch sollst du nat?rlich um evtl. auftretende Fehler zu sehen, php nicht mit --quiet (-q) laufen lassen. Ebensowenig solltest du die Ausgabe des Befehls nach /dev/null umleiten, wie willst du denn an Infos kommen? Benutze bitte f?r das manuelle forcieren folgenden Befehl und nichts anderes:

/usr/bin/php5 /var/www/froxlor/scripts/froxlor_master_cronjob.php --force

2) wenn Froxlor sagt, dass es nicht unter dem user "froxlorlocal" ausgef?hrt wird, hat es wohl Recht, bitte nopaste doch mal die entsprechende Vhost-Config f?r froxlor (die, die mit 10_ anfangen), danach sehen wir weiter.

Link to comment
Share on other sites

danke f?r den Hinweis mit dem cronjob. Hab den einfach rauskopiert. :-(

Ich habe herausgefunden, dass alle Sites, bis auf den Froxlorhost als mod_fcgid laufen, das ist schon mal ok.

Dachte schon, es geht ?berhaupt nicht.

K?nnte es sein, dass das Problem daran liegt, dass ich keine Vhost-Config f?r froxlor habe?

Froxlor l?uft als Alias auf einer anderen Domain, nicht als eigene.

Apachekonfig aus 22_froxlor_normal_vhost_anderedomain.de.conf

Alias /kunden "/var/www/froxlor/"

Als froxlorconfigs habe ich nur

10_froxlor_ipandport_IPADRESSE.443.conf

Wenn das der Fehler ist, m?sste ich f?r froxlor einen eigenen host anlegen?

Link to comment
Share on other sites

Du sagst hier st?ndig du gehst nach Handbuch vor und dann machst du sowas? Echt jetzt? Solche Sachen verschwendet echt unn?tig meine Zeit.

 

Gehe zu IP/Port einstellungen, setzte "erstelle virtualhost" auf "ja" f?r die IP/Port worauf der hostname l?uft (die froxlor url) und mach diesen komischen Alias da weg. Und nein, du legst keinen eigenen host f?r froxlor an, denn es gibt schon einen, n?mlich den system-hostname, den du bei der installation angegeben hast.

 

Und das n?chste mal sagst du gleich das du NICHT nach handbuch vorgegangen bist, das erspart mir die doofe hin und her fragerei nach nix...

Link to comment
Share on other sites

entschuldige, dass ich da jetzt unn?tig deine Zeit verschwendet habe. Wollte ich nat?rlich nicht.

Im habe im suexec/mod_fcgid Handbuch  nichts gefunden, was darauf hinweist,dass man daf?r einen eigenen V-host f?r froxlor ben?tigt.

Ich mache das jetzt mal, wie du vorschl?gst.

Danke

Link to comment
Share on other sites

Archived

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



×
×
  • Create New...