Система: LAMP, работающий под управлением CentOS 6 и Virutalmin / Webmin.
Я установил поддомен с помощью Webmin в существующем главном домене (также созданном с помощью Webmin). Основной домен запускается как пользователь 910, группа 582. Размещение php-скрипта в директории public_html основного домена с этим кодом:
<? echo `whoami`; ?>
генерирует имя пользователя владельца домена.
Размещение того же скрипта в поддомене public_html создает «apache».
И каталоги, и файлы имеют одинаковое правообладание (910: 582).
В /etc/httpd/conf/httpd.conf оба виртуальных хоста имеют одинаковую строку SuexecUserGroup:
SuexecUserGroup "#910" "#582"
Мне нужен поддомен для запуска под тем же пользователем, чтобы WordPress мог обращаться к файлам напрямую. В противном случае мне придется скомбинировать все в поддомене с apache: apache, который представляет собой угрозу безопасности / плохую практику.
Что мне здесь не хватает?
Спасибо!
Оказывается, эта проблема была вызвана несколькими причинами:
mod_php5 включен по умолчанию. Добавление директивы
php_admin_value engine Off
в файле httpd.conf для этого виртуального хоста отключается mod_php5, который несовместим с suexec.
Добавить директиву FCGIWrapper, которая не была создана Webmin
FCGIWrapper [home dir]/fcgi-bin/php5.fcgi .php
Создайте файл php5.fcgi в каталоге fcgi-bin. Я просто скопировал этот файл с другого виртуального хоста, так как это всего лишь скрипт оболочки bash для запуска интерпретатора php.
Добавьте директивы AddHandler и AddType в основной раздел VirtualHost, а также public_html <directory>
раздел:
AddType application/x-httpd-php .php
AddHandler fcgid-script .php
Убедитесь, что все владельцы файлов и разрешения правильно установлены для владельца учетной записи.
Других решений пока нет …