操作系统:Ubuntu 10.04 LTS
在/ opt
中下载并安装了Xampp for linux 1.8.1当我去localhost时,我得到标准的xampp启动页面,每个工作,除了phpmyadmin,我通过添加“required all Granted”行添加到extra / httpd-xampp.conf
# since XAMPP 1.4.3
<Directory "/opt/lampp/phpmyadmin">
AllowOverride AuthConfig Limit
Order allow,Deny
Allow from all
#cahg
Require all granted
</Directory>
我想开发多个站点,所以我使用我认为的标准方法设置了虚拟主机。
在extra / httpd-vhosts.conf文件中添加了一个虚拟主机容器。 3.将以下内容添加到/ etc / hosts文件
127.0.1.1 site1
我必须完成第一部分,因为它正常工作,但当我导航到'site 1'时,我的网页浏览器出现以下错误
Access forbidden!
You don't have permission to access the requested directory. There is either no index document or the directory is read-protected.
If you think this is a server error, please contact the webmaster.
Error 403
site1
Apache/2.4.3 (Unix) OpenSSL/1.0.1c PHP/5.4.7
我的ErrorLog中出现此错误
[Fri Nov 16 17:14:22.481075 2012] [core:error] [pid 14465] (13)Permission denied: [client 127.0.1.1:46687] AH00035: access to / denied (filesystem path '/home/andrew/websites/site1') because search permissions are missing on a component of the path
我尝试的解决方案是将此目录块添加到目录标记中的httpd-vhosts.conf文件中,其中/ home / andrew / websites / site as和attribute。
Options Indexes FollowSymLinks ExecCGI Includes
AllowOverride All
Require all granted
如果没有完全理解它的作用,因为它是我找到的解决方案,并且在httpd.conf中它指出"You must explicitly permit access to web content directories in other <Directory> blocks below."
我的问题是:允许apache访问各种虚拟主机的文件的最佳方法是什么? 注意:在httpd.conf中,user是nobody,group设置为nogroup。
答案 0 :(得分:1)
首先将用户nobody更改为httpd.conf中的ubuntu用户名
然后在httpd.conf的末尾:
# XAMPP
Include etc/extra/httpd-xampp.conf
第二,确保您的虚拟文件夹属于您的用户名(如果我的记忆有效,您将不得不更改phpmyadmin的所有权)
然后在httpd-xampp.conf中创建别名:
Alias /phpmyadmin "/opt/lampp/phpmyadmin"
Alias /youralias "/path/to/folder"
然后在同一个httpd-xampp.conf中允许目录:
<Directory "/path/to/folder">
AllowOverride AuthConfig Limit
Order allow,deny
Allow from all
Require all granted
</Directory>
再见403