Для решения проблемы с доступом к файлам и выполнением PHP через PHP-FPM у вас уже есть довольно хорошая основа, но давайте проверим и уточним несколько важных моментов:
### 1. Проверьте права на директории и файлы
Обратите внимание, что права доступа к файлам и директориям имеют большое значение. У вас установлены права `775` для директорий и `664` для файлов. Убедитесь, что все родительские директории до `/home/http/` также имеют соответствующие права доступа для группы `http`.
- Проверьте права на папку `/home/http/` и все её родительские директории, чтобы убедиться, что группа `http` может в них выполнять операции `cd` и т.д.
```bash
ls -ld /home
ls -ld /home/http
```
### 2. Проверьте конфигурацию SELinux (если используется)
Если на вашем сервере включен SELinux, он может блокировать операции, даже если права доступа установлены правильно. В таком случае попробуйте временно отключить SELinux, чтобы проверить, является ли это причиной проблемы:
```bash
sudo setenforce 0
```
Если это решает проблему, вам нужно будет настроить политику SELinux для корректной работы с Apache и PHP-FPM.
### 3. Убедитесь, что Apache и PHP-FPM используют одинаковую группу
Ваш PHP-FPM работает под группой `http`, убедитесь, что Apache тоже работает с этой же группой. Проверьте следующие настройки в файле конфигурации `httpd.conf`:
```apache
User http
Group http
```
### 4. Настройка виртуального хоста
Убедитесь, что конфигурация вашего виртуального хоста правильно настроена и учитывает файл `.htaccess`. Если вы используете файл `.htaccess`, убедитесь, что у вас есть следующие инструкции:
```apache
<Directory /home/http/ваш_путь_к_сайту>
AllowOverride All
Require all granted
</Directory>
```
### 5. Перезапустите службы
После внесения изменений всегда перезагружайте службы Apache и PHP-FPM:
```bash
sudo systemctl restart httpd
sudo systemctl restart php-fpm
```
### 6. Логи и отладка
Если проблема не решается, внимательно проверьте логи Apache (`/var/log/httpd/error_log`) и логи PHP-FPM (`/var/log/php-fpm/www-error.log` или их аналог, в зависимости от вашей конфигурации). Ошибки в этих логах могут дать важные подсказки о том, что именно не так.
### 7. Проверьте, что все необходимые модули включены
Убедитесь, что у вас включены модули Apache, необходимые для работы с PHP-FPM и проксированием, такие как `proxy`, `proxy_fcgi`, `rewrite`. Вы можете проверить это с помощью команды:
```bash
httpd -M | grep proxy
```
Если какой-либо из модулей не загружен, добавьте его в конфигурацию Apache.
### Заключение
Следуя этим шагам, вы сможете диагностировать и решить проблему доступа и выполнения PHP файлов через PHP-FPM на вашем сервере Apache. Если проблема по-прежнему не решена, пожалуйста, предоставьте дополнительные детали конфигурации или логи для более углубленной диагностики.