Jump to content
Froxlor Forum
  • 0

Installationsschwierigkeiten von PHP-FPM mit Apache


mrmanuel
 Share

Question

Hallo,

ich bin gerade dabei einen neuen Froxlor (0.10.30-1) Webserver aufzusetzen und komme leider nicht weiter, da die Anleitung leider etwas in die Jahre gekommen ist. Als Betriebssystem verwende ich Debian Bullseye 11.1.0 amd64.

Ich habe Froxlor wie folgt konfiguriert:

Install froxlor on debian: Punkte 1 - 4

Symbolischen Link erstellt um Froxlor über HTTP/HTTPS erreichen zu können:

ln -s /var/www/froxlor/ /var/www/html/froxlor

Froxlor über die Web UI installiert und die Services über Shell automatisch konfiguriert:

php /var/www/froxlor//install/scripts/config-services.php --froxlor-dir=/var/www/froxlor/ --create

 

  • choose distribution [bullseye]: Enter
  • choose service [apache24]: Enter
  • choose service [bind]: x
  • choose service [postfix_dovecot]: x
  • choose service [dovecot_postfix2]: x
  • choose service [proftpd]: Enter
  • Select every service you need. Enter empty value when done
    choose service:
    cron
  • choose service: awstats
  • choose service: libnssextrausers
  • choose service: logrotate
  • choose service: php-fpm
  • choose service: Enter
  • choose output-filename [/tmp/froxlor-config-20211125.json]: Enter
  • Do you want to apply the config now? [y/N]: Y
  • --- Configuring: FTP ---
    Do you want to continue? [Y/n]
    Enter

Soweit so gut. Während der Konfiguration habe ich keine Fehler erhalten. Nun wollte ich anhang der Anleitung apache2 with php fpm PHP-FPM konfigurieren. Schritt 2 wurde vermutlich mit der Autokonfiguration über die Shell ausgeführt, jedoch fehlt z.B. das Modul fastcgi in Apache.

Bei Schritt 3 weiß ich leider nicht woher ich die Inhalte von /etc/libnss-mysql-root.cfg und /etc/libnss-mysql.cfg herbekommen soll. Die Datei /etc/nsswitch.conf ist bereits vorhanden. Wenn ich im Froxlor Panel unter "System -> Configuration -> Debian Bullseye (11.x) - Others (System) - libnss-extrausers (required for FCGID/php-fpm/mpm-itk)" auswähle erscheint mir nur die Konfiguration von /etc/nsswitch.conf.

Bei Schritt 4 gibt es die Datei /etc/apache2/mods-available/fastcgi.conf nicht, da in Schritt 2 das Modul nicht installiert/aktiviert wurde.

Wie kann ich nun PHP-FPM auf einem aktuellen System installieren? Gibt es eine aktuelle Anleitung die ich vielleicht nicht gefunden habe?

Vielen Dank im Voraus :)

 

Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 0
2 minutes ago, mrmanuel said:

Nun wollte ich anhang der Anleitung apache2 with php fpm PHP-FPM konfigurieren. Schritt 2 wurde vermutlich mit der Autokonfiguration über die Shell ausgeführt, jedoch fehlt z.B. das Modul fastcgi in Apache.

wenn du es über das config-services script gemacht hast brauchst du da eigentlich nix mehr installieren - voraussetzung ist natürlich das du vorher - so wie die anleitung es sagt - die Einstellungen alle entsprechend korrekt gesetzt hast!

3 minutes ago, mrmanuel said:

Bei Schritt 3 weiß ich leider nicht woher ich die Inhalte von /etc/libnss-mysql-root.cfg und /etc/libnss-mysql.cfg herbekommen soll. Die Datei /etc/nsswitch.conf ist bereits vorhanden. Wenn ich im Froxlor Panel unter "System -> Configuration -> Debian Bullseye (11.x) - Others (System) - libnss-extrausers (required for FCGID/php-fpm/mpm-itk)" auswähle erscheint mir nur die Konfiguration von /etc/nsswitch.conf.

libnss-extrausers ist was anderes als libnss-mysql !!! ich rate dringend libnss-extrausers zu nutzen, beachte das dafür die Option in den entsprechenden Einstellungen aktiviert sein muss.

Also:

1) Einstellungen komplett kontrollieren, alle gewünschten Dienste aktivieren (wie z.B. php-fpm, libnss-extrausers, etc.).

2) config-services ausführen oder ggfls manuell als admin -> Configuration -> distro wählen -> dienst wählen -> etc. -> befehle anschauen, kopieren und auf der shell ausführen

 

Link to comment
Share on other sites

  • 0

Vielen Dank für die schnelle Antwort.

Da dies meine erste Installation mit PHP-FPM ist, habe ich leider keine Ahnung welche Einstellungen ich vorher alles setzen muss und kann somit leider nur nach Anleitung vorgehen. Würde gerne Apache mit PHP-FPM nach den "best practice" Einstellungen installieren. Hast du vielleicht eine Liste welche das sind?

Würde sonst nur folgendes konfigurieren:

Settings --> System Settings --> Use libnss-extrausers instead of libnss-mysql --> tick checkbox

Settings --> PHP-FPM - Activated: Yes

Settings --> Froxlor VirtualHost settings --> Enable PHP-FPM for the Froxlor vHost --> tick checkbox

Link to comment
Share on other sites

  • 0

Ich habe nun mehrmals eine komplette Neuinstallation zum Testen durchgeführt. Ich habe Froxlor installiert, über Web konfiguriert und anschließend den Befehl

php /var/www/froxlor//install/scripts/config-services.php --froxlor-dir=/var/www/froxlor/ --create

ausgeführt um die restlichen Konfigurationen vorzunehmen. Hier scheint der Schritt zu fehlen, dass der froxlorlocal Benutzer und Gruppe angelegt wird, da die Berechtigungen auf den Ordner /var/custoers/tmp/froxlor.panel falsch gesetzt sind und der Benutzer/Gruppe froxlorlocal die "falsche"  ID hat:

Nov 25 18:47:45 srvweb01 php7.4-fpm[23596]: NOTICE: Not enabling PHP 7.4 FPM by default.
Nov 25 18:47:45 srvweb01 php7.4-fpm[23597]: NOTICE: To enable PHP 7.4 FPM in Apache2 do:
Nov 25 18:47:45 srvweb01 php7.4-fpm[23598]: NOTICE: a2enmod proxy_fcgi setenvif
Nov 25 18:47:45 srvweb01 php7.4-fpm[23599]: NOTICE: a2enconf php7.4-fpm
Nov 25 18:47:45 srvweb01 php7.4-fpm[23600]: NOTICE: You are seeing this message because you have apache2 package installed.
Nov 25 18:47:45 srvweb01 systemd[1]: Reloading.
Nov 25 18:47:45 srvweb01 systemd[1]: Reloading.
Nov 25 18:47:45 srvweb01 systemd[1]: Starting The PHP 7.4 FastCGI Process Manager...
░░ Subject: A start job for unit php7.4-fpm.service has begun execution
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ A start job for unit php7.4-fpm.service has begun execution.
░░
░░ The job identifier is 1284.
Nov 25 18:47:45 srvweb01 php-fpm7.4[23652]: [25-Nov-2021 18:47:45] ERROR: [pool srvweb01.hro.md0.eu] cannot get uid for user 'froxlorlocal'
Nov 25 18:47:45 srvweb01 php-fpm7.4[23652]: [25-Nov-2021 18:47:45] ERROR: FPM initialization failed
Nov 25 18:47:45 srvweb01 systemd[1]: php7.4-fpm.service: Main process exited, code=exited, status=78/CONFIG
░░ Subject: Unit process exited
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ An ExecStart= process belonging to unit php7.4-fpm.service has exited.
░░
░░ The process' exit code is 'exited' and its exit status is 78.
Nov 25 18:47:45 srvweb01 systemd[1]: php7.4-fpm.service: Failed with result 'exit-code'.
░░ Subject: Unit failed
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ The unit php7.4-fpm.service has entered the 'failed' state with result 'exit-code'.
Nov 25 18:47:45 srvweb01 systemd[1]: Failed to start The PHP 7.4 FastCGI Process Manager.
░░ Subject: A start job for unit php7.4-fpm.service has failed
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ A start job for unit php7.4-fpm.service has finished with a failure.
░░
░░ The job identifier is 1284 and the job result is failed.
Nov 25 18:47:45 srvweb01 groupadd[23685]: group added to /etc/group: name=froxlorlocal, GID=1000
Nov 25 18:47:45 srvweb01 groupadd[23685]: group added to /etc/gshadow: name=froxlorlocal
Nov 25 18:47:45 srvweb01 groupadd[23685]: new group: name=froxlorlocal, GID=1000
Nov 25 18:47:45 srvweb01 useradd[23692]: new user: name=froxlorlocal, UID=1000, GID=1000, home=/home/froxlorlocal, shell=/bin/false, from=/dev/pts/0
Nov 25 18:47:45 srvweb01 systemd[1]: Stopping The Apache HTTP Server...
░░ Subject: A stop job for unit apache2.service has begun execution
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support

 

root@srvweb01:~# ls -l /var/customers/tmp/
total 4
drwxr-x--- 2 root root 4096 Nov 25 18:46 froxlor.panel

 

root@srvweb01:~# cat /etc/passwd | grep froxlorlocal
froxlorlocal:x:1000:1000::/home/froxlorlocal:/bin/false

 

Laut Anleitung sollte der Benutzer und Gruppe mit der ID 9999 angelegt werden:

addgroup --gid 9999 froxlorlocal

adduser --no-create-home --uid 9999 --ingroup froxlorlocal --shell /bin/false --disabled-password --gecos '' froxlorlocal

Vermutlich ein Bug?

Link to comment
Share on other sites

  • 0
16 minutes ago, mrmanuel said:

Laut Anleitung sollte der Benutzer und Gruppe mit der ID 9999 angelegt werden:

addgroup --gid 9999 froxlorlocal

adduser --no-create-home --uid 9999 --ingroup froxlorlocal --shell /bin/false --disabled-password --gecos '' froxlorlocal

Vermutlich ein Bug?

Nein, lediglich eine forcierte uid/gid - nicht relevant, der user ist mit uid/gid 1000 genausogut wie mit 9999

Das "Problem" in deinem Fall ist wohl eher das vor während der Konfiguration schon php-fpm pool-configs aus vorherigen Installation vorhanden sind und er deswegen nicht starten kann, wie du deiner eigenen Log entnehmen kannst, wurden die User ja anschließen erstellt.

Du solltest also lediglich nun apache2 und php-fpm neustarten müssen und alles ist ok; oder noch besser, einfach 1x den cronjob forcieren:

php /var/www/froxlor/scripts/froxlor_master_cronjob.php --force --debug

 

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...