[TOC]
## ServerName配置未填写错误
~~~
[root@luo.centos6.5 /usr/local/apache/conf/extra]
# apachectl -t # 使用改命令检查apache配置文件
httpd: Could not reliably determine the server's fully qualified domain name, using luo.centos6.5 for ServerName
~~~
**解决办法:**
在apache主配置文件httpd.conf的98行左右`#ServerName www.example.com:80`前面的`#`去掉,换成自己的域名或者ip地址。
例如:修改为:`ServerName localhost:80`或者`ServerName 127.0.0.1:80`
## 403 Forbidden错误原因详解
~~~
403 - Forbidden(禁止访问),服务器拒绝请求
- forbidden request (matches a deny filter) => HTTP 403
- The request was a legal request, but the server is refusing to respond to it.
~~~
### 原因1 apache的配置文件没有对站点目录许可
apache配置文件中没有对站点目录的权限许可配置,这通常是在初始化安装apahce后,更改了默认的apache站点目录导致。
**解决办法**可能是:通过给主配置文件增加`<Directory "/application/apache2.2.31/htdocs"></Directory>`标签实现对指定目录的权限控制
典型如下(对/var/www目录下的文件允许访问):
~~~
<Directory "/var/www">
Options -Indexes FollowSymLinks # 为了服务器的安全 Indexes参数一般要取消
AllowOverride None
Order allow,deny # 允许未被明确拒绝的
Allow from all
</Directory>
~~~
### 原因2 站点目录下没有首页文件,而apache 的配置又禁止了目录的浏览
站点目录下没有首页文件(index.php、index.html等默认文件),而apache的配置又禁止了目录浏览(#Indexes参数:访问目录时,如果不存在默认首页则展示站点列表,该行建议改成 `Options None`),也会提示403错误。
**解决办法**:在站点目录添加默认首页文件或者将配置文件中`Options Index`增加上。
* * * * *
### 原因3 deny from all 禁用了所有来访者访问
~~~
<Directory "/var/www">
Options -Indexes FollowSymLinks # 为了服务器的安全 Indexes参数一般要取消
AllowOverride None
Order allow,deny # 允许未被明确拒绝的
Deny from all
# Deny from
</Directory>
~~~
**解决办法:**参考原因2解决方法配置`<Directory ></Directory>` 参数。
### 站点目录权限问题
站点目录需要apache的用户有访问权限,否则就会报403错误(一般web站点目录权限给755,站点文件权限给644,上传程序通过另外的上传服务器提供文件上传)