我正在使用Pleskbuild立一个服务器,我们希望能够提供一个可公开访问的phpMyAdmin副本。
我能够确定它可以去的地方:
/var/www/vhosts/default/httpsdocs
但是,它将phpMyAdmin作为实际的PHP文件,而不是执行PHP。
在该目录上启用PHP执行的最佳/正确方法是什么?
你不写,你使用什么networking服务器。 我认为它是在RHEL5上运行的Apache
首先,你必须检查,如果PHP模块安装并加载到Apache并正确configuration。
你写道,Apache返回执行它们的文件。 这是Apache的默认动作,如果Apache不知道,如何处理特殊的文件types。 在默认的RHEL apacheconfiguration中,php是从文件/etc/httpd/conf.d/php.conf加载的,文件/etc/httpd/conf/httpd.conf包含Include conf.d/*.conf ,其中包括所有文件来自conf.d dir。 这些来自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 manpage。 目录/var/www/vhosts/default/httpsdocs应该标记为httpd_sys_content_t标签(您应该执行chcon -R -t httpd_sys_content_t )。 为了使这个改变premament(以维护filestytem relabel),你也应该执行semanage fcontext -a -t httpd_sys_content_t /var/www/vhosts/default/httpsdocs(/.*)?
一种方法是添加一个指令来控制/configuration该目录