Проверено на ubuntu 20.04.1

Очень удобно иметь дело с сайтом если можно сохранять и редактировать файлы от своего пользователя, а не от www-data который ставится по умолчанию. При работе с mod-php+mpm-prefork это делает mpm-itk, а для работы в конфигурации php-fpm+mpm-event нужны специальные настройки о которых я сейчас расскажу. Преимущества php-fpm+mpm-event в большей производительности и в возможность работы с http2.

  1. Надо выключить mod-php+mpm-prefork+mpm-itk если он был установлен и включить php-fpm+mpm-event.
    a2dismod php7.3
    a2dismod mpm_itk
    a2dismod mpm_prefork
     
    a2enmod rewrite
    a2enmod mpm_event
    a2enmod proxy_fcgi setenvif
    a2enconf php7.3-fpm.conf
    a2enmod http2
     
    systemctl restart apache2 
    systemctl restart php7.3-fpm

  2. Создаем пуул для своего пользователя. 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
  3. Теперь в теле своего сайта /etc/apache2/sites-enabled/jura12.ru-le-ssl.conf в разделе Virtualhost добавляем строки:

    <FilesMatch ".+\.ph(ar|p|tml)$">
            SetHandler "proxy:unix:/run/php/php7.3-fpm-jura12.sock|fcgi://localhost"
    </FilesMatch>

    обратите внимание на имя файла sock. оно должно быть таким каким мы его поменяли ранее.

  4. Теперь можно создавать папку для сайта с правами пользователя. например

    sudo mkdir /var/www/dirofmysite
    sudo chown username:username /var/www/dirofmysite

  5. Далее рестартуем сервисы.

    sudo systemctl restart php7.3-fpm
    sudo systemctl restart apache2

  6. безопасность. поскольку включается mod_proxy то лучше обезопасить его использование локальной сетью. иначе могут использовать ваш сервер. для этого надо в /etc/apache2/mods-enabled/proxy.conf добавить строки:

    <Proxy *>
       Require all denied
       Require local
       Require ip 192.168.1
    </Proxy>

Ссылки