Чего я хочу достичь:
Локальный веб-сервер, который позволит мне запускать статические сайты и сайты на PHP. Никакие базы данных мне не нужны, достаточно одной достаточно свежей версии PHP. Сайты находятся в моей домашней папке и принадлежат моему пользователю, и я хочу, чтобы так и было, поскольку мне нужно иметь возможность с ними работать.
Как я это настраивал:
В моей старой системе у меня был установлен apache2, а также, кажется, несколько версий PHP из репозиториев Ondrej, которые я на самом деле никогда не использовал. Раньше я помещал символические ссылки на каждый сайт в /var/html/www, и /etc/apache2/sites-available/000-default.conf выглядел так:
Код: Выделить всё
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/html
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
# 2.4.10+ can proxy to unix socket
SetHandler "proxy:unix:/var/run/php/php7.4-fpm.sock|fcgi://localhost"
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Код: Выделить всё
user = myname
group = myname
listen.owner = myname
listen.group = myname
Что я сделал сейчас:
В новой системе я установил apache2, libapache2-mod-fcgid, php-fpm и кучу модулей, использующих apt без дополнительных репозиториев, так что теперь у меня PHP8.4. Внесены те же изменения имени пользователя, что и выше, только в аналогичных файлах 8.4, и файл конфигурации VirtualHost сделан таким же, за исключением SetHandler "proxy:unix:/var/run/php/php8.4-fpm.sock|fcgi://localhost".
Результат: статические веб-сайты работают нормально, все, что связано с php, говорит 503 Service Unavailable и создает следующие записи в /var/log/apache2/error.log:
Код: Выделить всё
[Wed Dec 10 16:48:20.407597 2025] [proxy:error] [pid 16091:tid 16119] (13)Permission denied: AH02454: FCGI: attempt to connect to Unix domain socket /var/run/php/php8.4-fpm.sock (localhost:8000) failed
[Wed Dec 10 16:48:20.407635 2025] [proxy_fcgi:error] [pid 16091:tid 16119] [client 127.0.0.1:38804] AH01079: failed to make connection to backend: localhost
Подробнее здесь: https://stackoverflow.com/questions/798 ... n-denied-a
Мобильная версия