Jump to content
Froxlor Forum
  • 0

Froxlor & Joomla


saxandl
 Share

Question

Hallo!

Ich habe eine Frage an jene, die Joomla auf Froxlor nutzen, weil mir folgendes aufgefallen ist:

Nachdem ich die Joomla-Dateien ins web-root geladen und die Installation aufgerufen habe, erhalte ich die Fehlermeldung, dass die "configuration.php" nicht erstellt werden kann.
Das führte ich auf fehlende Rechte zurück und habe webroot temporär auf 777 gesetzt. 
Damit ist zwar das Installations-Problem gelöst, es lassen sich aber keinerlei Module oder Templates laden.

Augenscheinlich werden die Rechte durch FTP-Upload auf 10000:10000 gesetzt, Jommla über html erwartet jedoch www-data:www-data (ich kann aber auch falsch liegen, mit dieser Vermutung).

Kann mir jmd, der Joomla im Einsatz hat, nützliche Hinweise geben?


Danke & greets 

Link to comment
Share on other sites

19 answers to this question

Recommended Posts

  • 0

Na du weisst doch was du eingerichtet hast...hast du nix php spezielles eingerichtet, nutzt du wohl mod_php - hier solltest du dann libnss-extrausers einrichten, damit der user www-data der gruppe der kunden hinzugefügt werden kann, und dann solltest du auch kein zugriffsproblem mehr haben

Link to comment
Share on other sites

  • 0

wie vorgeschlagen vorgegangen libnss-extrausers eingerichtet - scheint zu funktionieren: ftp user:group wird auf customer:customer umgeschrieben.

neues Problem entstanden: php wird nicht ausgeführt, sondern der code im browser angezeigt. Zum Test deaktiviere ich den <FilesMatch \.(php)$> im vhost => wird php ausgeführt.

vl auch von Bedeutung: 

Froxlor\Cron\Http\ApacheFcgi::reload: running service php8.0-fpm restart
sh: 1: service: not found

 

Link to comment
Share on other sites

  • 0
1 hour ago, saxandl said:
Froxlor\Cron\Http\ApacheFcgi::reload: running service php8.0-fpm restart
sh: 1: service: not found

vllt von bedeutung? Ziemlich sicher...was hast du denn für nen OS das er den "service" befehl nich hat?

Im Zweifel musst du halt in den froxlor/php-fpm-daemon settings den korrekten reload-command angeben

Link to comment
Share on other sites

  • 0
vor 38 Minuten schrieb d00p:

 nen OS das er den "service" befehl nich hat?

als root von der console:

# sudo service Usage: service < option > | --status-all | ....
  • Debian 10
  • Apache 2.4.38
  • php 8.0
  • MariaDB 10.3.31
vor 43 Minuten schrieb d00p:

froxlor/php-fpm-daemon settings den korrekten reload-command angeben

wo finde ich froxlor/php-fpm-daemon settings?

Link to comment
Share on other sites

  • 0

sudo? als root? Brauchste nich, der cron läuft doch (hoffentlich!) als root user, der braucht die rechte und "service php8.0-fpm restart" sollte problemlos gehen, ggfls nimmste halt einfach "systemctl restart php8.0-fpm"

2 minutes ago, saxandl said:

wo finde ich froxlor/php-fpm-daemon settings?

Als admin einloggen, links im Menü "PHP-FPM Versionen"

Link to comment
Share on other sites

  • 0
2 hours ago, saxandl said:

neues Problem entstanden: php wird nicht ausgeführt, sondern der code im browser angezeigt. Zum Test deaktiviere ich den <FilesMatch \.(php)$> im vhost => wird php ausgeführt.

Settings -> PHP-FPM -> Use mod_proxy / mod_proxy_fcgi steht aber auf "Ja" oder? das muss bei debian 9+ 

Auch nicht vergessen dann die Webserver Configuration-Templates zu prüfen, ggfls musst du entsprechende module noch aktiveren (die config-templates zeigen dir die befehle dafür an)

Link to comment
Share on other sites

  • 0
vor 32 Minuten schrieb d00p:

Auch nicht vergessen dann die Webserver Configuration-Templates zu prüfen, ggfls musst du entsprechende module noch aktiveren (die config-templates zeigen dir die befehle dafür an)

a2enmod proxy_fcgi => alles gut

thanks!

Link to comment
Share on other sites

  • 0

update: leider ein Folgeproblem aufgetreten:

apache error.log:
AH01215: suexec policy violation: see suexec log for more details: 

suexec.log
uid: (10000/<customer>) gid: (10000/<customer>) cmd: env.cgi
command not in docroot (/mnt/datastore2/webs/<customer>/<domain>.<tdl>/shop/cgi-bin/env.cgi)

sieht so aus, was würde das env.cgi aufgrund Rechteproblem nicht ausgeführt werden können.

Es gibt da bei den Einstellungen Perl/CGI den Punkt
 - Aktiviere SuExec-Workaround
der vermutlich angepasst werden muss.

Ich habe die Pfade grundsätzlich so angelegt, dass sich das Verzeichnis /cgi-bin/ unterhalb des 
docroots befindet:
/var/customers/webs/<customer>/<domain>.<tdl>/cgi-bin/
und dies in der vHost-Einstellung über ScriptAlias definiert.  

Wie sollte die Konfiguration angepasst werden?

Link to comment
Share on other sites

  • 0

Wenn suexec nutzt, musst du den "SuExec Workaround" nutzen, also "Enable SuExec workaround" auf ja, und "Path for customer perl-enabled directory symlinks" auf einen Pfad der innerhalb der suexec Directory von apache liegt.

Dann als customer -> Pfadoptionen -> /domain.tld/ -> Exec Perl: yes

Es wird dann ein /cgi-bin/ Ordner als Symlink in die suexec-directory erstellt (achtung, du solltest den vorhandenen ordner dann umbenennen!!!).

Custom vHost Einstellungen mit ScriptAlias oder sowas brauchst du nicht

Link to comment
Share on other sites

  • 0

bin exakt wie beschrieben vorgegangen. softlink's werden korrekt eingerichtet, apache scheint nicht richtig darauf zu reagieren:

AH02811: script not found or unable to stat: /usr/lib/cgi-bin/env.cgi

 

Link to comment
Share on other sites

  • 0
vor 16 Minuten schrieb d00p:

wie kommst du denn jetzt auf einmal auf /usr/lib/cgi-bin/ ???

das weiss ich nicht! das cgi-script wird nicht im Verzeichnis ausgeführt - daher hab ich ins logfile geschaut. 

 

Link to comment
Share on other sites

  • 0

Bisschen mehr info, was is das denn für nen script? Was macht es? Verweist das ding vllt selbst irgendwo auf /usr/lib/ oder sowas? Da kann ich dir halt nur bedingt helfen 

Link to comment
Share on other sites

  • 0
vor 16 Minuten schrieb d00p:

Bisschen mehr info, was is das denn für nen script? Was macht es? Verweist das ding vllt selbst irgendwo auf /usr/lib/ oder sowas? Da kann ich dir halt nur bedingt helfen 

das script selbst tut nichts anderes, als das Environment auszulesen und an den Browser weiter geben - vergleichbar mit phpinfo().

Am script liegt es definitiv nicht! 

Wenn ich das script über den Browser aufrufe, bekomme ich einen 404-error und im logfile den beschriebenen error. Es sieht so aus, als würde apache nicht auf das Verzeichnis des customers zugreifen, sondern das script im Verzeichnis /usr/lib/cgi-bin/ ausführen versuchen.

Nur zur Sicherheit: FCGID ist deaktiviert

Link to comment
Share on other sites

  • 0

zeig doch bitte das script einfach und nen ls auf das customer dir wo die liegt und permission/ownership und den vhost der datei und und und. Ich kann dir nicht auf den server gucken sondern nur raten und ohne info wird  das schwer.

FCGID hat mit Perl genau nix zu tun

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...