How can I fix this php-fpm error message?

alexander7567 asked:

I know very little about linux/ubuntu, but I needed it for a webserver I am wanting to run. I got everything setup and running nice and I have been getting this for some time now. Every time I attempt to install something using apt, I get this error. I have seen similar articles, and they all suggest making a folder and trying to start the service, but I get the same result every time.

[email protected]:/run# sudo apt-get install samba
Reading package lists... Done
Building dependency tree
Reading state information... Done
samba is already the newest version (2:4.11.6+dfsg-0ubuntu1.6).
The following package was automatically installed and is no longer required:
Use 'sudo apt autoremove' to remove it.
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
2 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y
Setting up php7.4-fpm ( ...
NOTICE: Not enabling PHP 7.4 FPM by default.
NOTICE: To enable PHP 7.4 FPM in Apache2 do:
NOTICE: a2enmod proxy_fcgi setenvif
NOTICE: a2enconf php7.4-fpm
NOTICE: You are seeing this message because you have apache2 package installed.
Detected unsafe path transition / → /run during canonicalization of /run.
Job for php7.4-fpm.service failed because the control process exited with error code.
See "systemctl status php7.4-fpm.service" and "journalctl -xe" for details.
invoke-rc.d: initscript php7.4-fpm, action "restart" failed.
● php7.4-fpm.service - The PHP 7.4 FastCGI Process Manager
     Loaded: loaded (/lib/systemd/system/php7.4-fpm.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Thu 2020-12-03 16:15:33 UTC; 16ms ago
       Docs: man:php-fpm7.4(8)
    Process: 39404 ExecStart=/usr/sbin/php-fpm7.4 --nodaemonize --fpm-config /etc/php/7.4/fpm/php-fpm.conf (code=exited, status=78)
    Process: 39424 ExecStopPost=/usr/lib/php/php-fpm-socket-helper remove /run/php/php-fpm.sock /etc/php/7.4/fpm/pool.d/www.conf 74 (code=exited, status=0/SUCCESS)
   Main PID: 39404 (code=exited, status=78)

Dec 03 16:15:33 <FQDN> systemd[1]: Starting The PHP 7.4 FastCGI Process Manager...
Dec 03 16:15:33 <FQDN> php-fpm7.4[39404]: [03-Dec-2020 16:15:33] ERROR: unable to bind listening socket for address '/run/php/php7.4-fpm.sock': No such file or directory (2)
Dec 03 16:15:33 <FQDN> php-fpm7.4[39404]: [03-Dec-2020 16:15:33] ERROR: FPM initialization failed
Dec 03 16:15:33 <FQDN> systemd[1]: php7.4-fpm.service: Main process exited, code=exited, status=78/CONFIG
Dec 03 16:15:33 <FQDN> systemd[1]: php7.4-fpm.service: Failed with result 'exit-code'.
Dec 03 16:15:33 <FQDN> systemd[1]: Failed to start The PHP 7.4 FastCGI Process Manager.
dpkg: error processing package php7.4-fpm (--configure):
 installed php7.4-fpm package post-installation script subprocess returned error exit status 1
dpkg: dependency problems prevent configuration of php-fpm:
 php-fpm depends on php7.4-fpm; however:
  Package php7.4-fpm is not configured yet.

dpkg: error processing package php-fpm (--configure):
 dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
                                                                                                          Errors were encountered while processing:
E: Sub-process /usr/bin/dpkg returned an error code (1)

Some of the articles/things I have tried:

My answer:

The root cause is identified by this error message:

Detected unsafe path transition / → /run during canonicalization of /run.

This happens when your system’s root directory / has the wrong ownership or permissions.

To fix the problem, correct the ownership and permissions.

chown root /
chgrp root /
chmod u=rwx,go=rx /

After this is fixed, you can fix the partially installed packages.

sudo apt -f install

Then move on to whatever your next issue is.

View the full question and any other answers on Server Fault.

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.