[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,上传程序通过另外的上传服务器提供文件上传)