lamp的403问题
2016-03-05 20:44
239 查看
httpd.conf 中有一步至关重要的,你有没有修改:
2.2版本这样修改:
vim /usr/local/apache2/conf/httpd.conf找到:
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
改为:
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
</Directory>
2.4版本的这样修改:
<Directory />
AllowOverride none
Require all denied
</Directory>
改为
<Directory />
AllowOverride none
Require all granted
</Directory>
2. 没有定义合适的index我们印象中所有网站都可以只输入一个域名就可以访问。 这是因为定义了index。
vi /usr/local/apache2/conf/httpd.conf
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
这里应该加上 index.php或者你自定义的首页
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
3. DocumentRoot目录权限不合适
首先确定你访问你的网站对应的DocumentRoot是什么,比如是 /data/www
那么你要确定 httpd进程用户(查看方法是: ps aux |grep httpd, 第一列的用户就是),假如是daemon
ls -ld /
ls -ld /data/
ls -ld /data/www
分别看这些目录,daemon用户是否有x权限,还要看看 /data/www/下面的文件,daemon用户是否有读权限
4. 你设定了访问控制
我们在做实验的时候,经常会开启虚拟主机配置文件:
/usr/local/apache2/conf/extra/httpd-vhosts.conf
这里面的第一个虚拟主机(第一段 <virtualhost*> </virtualhost> 这里面的配置就是)为默认虚拟主机,关于默认虚拟主机,它有一个特性,就是无论我们配置什么域名(ServerName或者Serveralias)或者没有配置,只要我们把域名指向到该机器,只要其他虚拟主机中没有配置该域名,都会访问该虚拟主机。搞清楚了这点,我们就可以理清思路了。 我举一个案例:
你访问你的域名是 www.test.com
你的虚拟机ip是 192.168.31.110
windows的hosts文件中配置了记录: 192.168.31.100 www.test.com
而我们在浏览器访问的时候 www.test.com 出现了问题
这时候,我们就应该去查配置文件,你肯定要先确定好,你的配置文件中是否开启了虚拟主机配置文件,开启与否看/usr/local/apache2
/conf/httpd.conf中这一行Include conf/extra/httpd-vhosts.conf
行首是否有#号,如果没有就是开启了。 开启了的话,我们肯定就要去
/usr/local/apache2/conf/extra/httpd-vhosts.conf 这里面查配置。 先搜索全文是否有域名 www.test.com, 有就在对应的虚拟主机配置中查。如果没有就去默认虚拟主机配置中查
2.2版本这样修改:
vim /usr/local/apache2/conf/httpd.conf找到:
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
改为:
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
</Directory>
2.4版本的这样修改:
<Directory />
AllowOverride none
Require all denied
</Directory>
改为
<Directory />
AllowOverride none
Require all granted
</Directory>
2. 没有定义合适的index我们印象中所有网站都可以只输入一个域名就可以访问。 这是因为定义了index。
vi /usr/local/apache2/conf/httpd.conf
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
这里应该加上 index.php或者你自定义的首页
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
3. DocumentRoot目录权限不合适
首先确定你访问你的网站对应的DocumentRoot是什么,比如是 /data/www
那么你要确定 httpd进程用户(查看方法是: ps aux |grep httpd, 第一列的用户就是),假如是daemon
ls -ld /
ls -ld /data/
ls -ld /data/www
分别看这些目录,daemon用户是否有x权限,还要看看 /data/www/下面的文件,daemon用户是否有读权限
4. 你设定了访问控制
我们在做实验的时候,经常会开启虚拟主机配置文件:
/usr/local/apache2/conf/extra/httpd-vhosts.conf
这里面的第一个虚拟主机(第一段 <virtualhost*> </virtualhost> 这里面的配置就是)为默认虚拟主机,关于默认虚拟主机,它有一个特性,就是无论我们配置什么域名(ServerName或者Serveralias)或者没有配置,只要我们把域名指向到该机器,只要其他虚拟主机中没有配置该域名,都会访问该虚拟主机。搞清楚了这点,我们就可以理清思路了。 我举一个案例:
你访问你的域名是 www.test.com
你的虚拟机ip是 192.168.31.110
windows的hosts文件中配置了记录: 192.168.31.100 www.test.com
而我们在浏览器访问的时候 www.test.com 出现了问题
这时候,我们就应该去查配置文件,你肯定要先确定好,你的配置文件中是否开启了虚拟主机配置文件,开启与否看/usr/local/apache2
/conf/httpd.conf中这一行Include conf/extra/httpd-vhosts.conf
行首是否有#号,如果没有就是开启了。 开启了的话,我们肯定就要去
/usr/local/apache2/conf/extra/httpd-vhosts.conf 这里面查配置。 先搜索全文是否有域名 www.test.com, 有就在对应的虚拟主机配置中查。如果没有就去默认虚拟主机配置中查
相关文章推荐
- LAMP源码环境搭建WEB服务器Linux+Apache+MySQL+PHP
- 网卡安装常见问题精解
- css网页布局中注意的几个问题小结
- 使用mysql中遇到的几个问题
- 装完linux以后需要注意的问题
- .net中前台javascript与后台c#函数相互调用问题
- SQLite字符串比较时的大小写问题解决方法
- PHP动态规划解决0-1背包问题实例分析
- django中使用jquery ajax post数据出现403错误的解决办法(两种方法)
- django使用ajax post数据出现403错误如何解决
- jquery1.8版本使用ajax实现微信调用出现的问题分析及解决办法
- 搭建SSH时的思考和遇到的几个问题的解决方法
- 我认为JSP有问题(下)
- php猴子选大王问题解决方法
- JSP应用的安全问题
- 实战 LAMP 服务器配置 完整篇
- 令PHP初学者头疼十四条问题大总结
- 数据库相关问题
- php 面试碰到过的问题 在此做下记录
- 64位CentOS 6.0下搭建LAMP环境详细步骤