Php-fpm запуск от пользователя на apache2 Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
wiki:php-fpm-fromuser [2020/08/17 01:05]
jura12jura1220.04 создано
wiki:php-fpm-fromuser [2021/02/04 15:10] (текущий)
jura12jura1220.04 [Ссылки]
Строка 1: Строка 1:
-====== Php-fpm-запуск от пользователя на apache2======+====== Php-fpm запуск от пользователя на apache2====== 
 +<​note>​Проверено на ubuntu 20.04.1</​note>​
 Очень удобно иметь дело с сайтом если можно сохранять и редактировать файлы от своего пользователя,​ а не от www-data который ставится по умолчанию. ​ Очень удобно иметь дело с сайтом если можно сохранять и редактировать файлы от своего пользователя,​ а не от www-data который ставится по умолчанию. ​
 При работе с mod-php+mpm-prefork это делает mpm-itk, а для работы в конфигурации php-fpm+mpm-event нужны специальные настройки о которых я сейчас расскажу. При работе с mod-php+mpm-prefork это делает mpm-itk, а для работы в конфигурации php-fpm+mpm-event нужны специальные настройки о которых я сейчас расскажу.
 Преимущества php-fpm+mpm-event в большей производительности и в возможность работы с http2. Преимущества php-fpm+mpm-event в большей производительности и в возможность работы с http2.
  
-  - Надо выключить mod-php+mpm-prefork+mpm-itk если он был установлен и включить php-fpm+mpm-event. +  - Надо выключить mod-php+mpm-prefork+mpm-itk если он был установлен и включить php-fpm+mpm-event. <code bash>
-<code bash>+
 a2dismod php7.3 a2dismod php7.3
 a2dismod mpm_itk a2dismod mpm_itk
Строка 18: Строка 18:
 systemctl restart apache2 ​ systemctl restart apache2 ​
 systemctl restart php7.3-fpm systemctl restart php7.3-fpm
- 
 </​code>​ </​code>​
 +  - Создаем пуул для своего пользователя. 1. копируем файл /​etc/​php/​7.3/​fpm/​pool.d/​www.conf с именем своего сайта например jura12.conf. 2. меняем там 3 вещи. 2.1. название пула с [www] на [jura12]. 2.2. имя пользователя и группы с user = www-data group = www-data на своего пользователя username и свою группу username. 2.3. имя файла listen = /​run/​php/​php7.3-fpm.sock на php7.3-fpm-jura12.sock
 +  - Теперь в теле своего сайта /​etc/​apache2/​sites-enabled/​jura12.ru-le-ssl.conf в разделе Virtualhost добавляем строки:<​code apache>
 +<​FilesMatch "​.+\.ph(ar|p|tml)$">​
 +        SetHandler "​proxy:​unix:/​run/​php/​php7.3-fpm-jura12.sock|fcgi://​localhost"​
 +</​FilesMatch>​
 +</​code>​обратите внимание на имя файла sock. оно должно быть таким каким мы его поменяли ранее.
 +  - Теперь можно создавать папку для сайта с правами пользователя. например <code bash>​sudo mkdir /​var/​www/​dirofmysite
 +sudo chown username:​username /​var/​www/​dirofmysite</​code>​
 +  - Далее рестартуем сервисы.<​code bash>
 +sudo systemctl restart php7.3-fpm
 +sudo systemctl restart apache2</​code>​
 +  - безопасность. поскольку включается mod_proxy то лучше обезопасить его использование локальной сетью. иначе могут использовать ваш сервер. для этого надо в /​etc/​apache2/​mods-enabled/​proxy.conf добавить строки:<​code apache>
 +<Proxy *>
 +   ​Require all denied
 +   ​Require local
 +   ​Require ip 192.168.1
 +</​Proxy>​
 +</​code>​
 +
 ===== Ссылки ===== ===== Ссылки =====
 +  * [[https://​cwiki.apache.org/​confluence/​display/​HTTPD/​PHP-FPM]]
  
 {{tag>​php-fpm-fromuser}} {{tag>​php-fpm-fromuser}}