在 fedora14中搭建了一个 Apache+ mysql + php 环境(使用源码安装),为了开发方便,我想把apache的工作目录改到当前用户目录下面
/home/currentUser/htdocs (其中“currentUser”为当前用户人名称)
我修改了apache的配置文件
/usr/local/apache2/conf/httpd.conf (其中/usr/local/apache2是我的apache安装路径)
修改如下:
#DocumentRoot "/usr/local/apache2/htdocs" 注释原来的工作路径
DocumentRoot "/home/currentUser/htdocs" 把工作路径改为自己设定的路径
#
# This should be changed to whatever you set DocumentRoot to.
#
#<Directory "/usr/local/apache2/htdocs"> 把原来的Directory设置注释
<Directory "/home/currentUser/htdocs"> 设置新的Directory
此时,保存配置文件,重启apache服务完成修改
但是,在我访问服务的时候,网页却返回了一个错误页面,提示403 Forbidden ,下面的说明大概就是说我没有权限访问改资源。
我首先想到的是目录的读写权限,于是我修改把改目录的权限
chmod 777 /home/currentUser/htdocs -R(使用管理员身份执行,加上参数-R是为了让改路径下的子目录都具有相同的权限)
但是,问题依然存在,为什么呢?
在网上找了很多,终于发现问题所在了,还是httpd.conf配置的问题
在配置文件中找到下面两句
user deamon
group deamon
因为这两句的存在,使得apache并没有权限去读写当前用户的目录,所以会出现权限问题
把它们改为
user currentUser (其中 currentUser 是当前用户的用户名)
group currentGroup (其中 currentGroup 是当前用户所在的组名 如不知道 可用命令 groups "当前用户名" 来查询)
这样,使用当前用户身份运行apache就可以访问到工作目录了。