Я настраиваю сервер с помощью Plesk, и мы хотели бы иметь возможность предоставить общедоступную копию phpMyAdmin.
Я смог определить, куда он может пойти:
/var/www/vhosts/default/httpsdocs
Однако он обслуживает phpMyAdmin как фактические файлы PHP, а не как исполняемый PHP.
Какой лучший / правильный способ включить выполнение PHP в этом каталоге?
Один из способов - добавить директиву для управления / настройки этого каталога.
Вы не пишете, какой веб-сервер используете. Я предполагаю, что это Apache, работающий на RHEL5
Во-первых, вы должны проверить, установлен ли модуль php, загружен в apache и правильно ли настроен.
Вы писали, что apache возвращает файлы вместо их выполнения. Это действие по умолчанию для apache, если apache не знает, что делать с файлом особого типа. В конфигурации RHEL apache по умолчанию php загружается из файла /etc/httpd/conf.d/php.conf
и файл /etc/httpd/conf/httpd.conf
содержит строку Include conf.d/*.conf
, который включает все файлы из conf.d
реж. Эти строки из php.conf
следует раскомментировать:
LoadModule php5_module modules/libphp5.so
AddHandler php5-script .php
AddType text/html .php
DirectoryIndex index.php
Во-вторых, вы должны проверить, не отклоняет ли защита SELinux какие-либо запросы. Если SELinux запрещает доступ к некоторым файлам из apache, вы увидите 403 Forbidden
ошибка в вашем браузере. В /var/log/audit/audit.log
ты увидишь некоторые avc: denied
Сообщения. Вы должны прочитать man httpd_selinux
справочная страница. Файлы из каталога /var/www/vhosts/default/httpsdocs
должен быть помечен httpd_sys_content_t
метка (вы должны выполнить chcon -R -t httpd_sys_content_t
). Чтобы сделать это изменение premament (для просмотра перемаркировки файловой системы), вы должны также выполнить semanage fcontext -a -t httpd_sys_content_t /var/www/vhosts/default/httpsdocs(/.*)?