Apache没有权限或无法启动的解决方法 - konakona
konakona
Dream Afar.
konakona

Apache没有权限或无法启动的解决方法

我们经常会在linux上遇到不同的问题,例如我明明设置了足够的权限,但还是提示权限不足。或者我明明配置好了httpd.conf的目录,访问localhost还是无法,又或者apache无法启动等等原因。

 

太多太多,我将我的发现和解决方法全部记在这里的,欢迎大家补充。

所有的操作都需要root权限。

1.

给网站根目录下的项目足够的权限.

su chmod -R 777 ./

 

2.

有些系统默认是开启SeLinux的,关掉它。

修改/etc/sysconfig/selinux文件:SELINUX=enforcing为SELINUX=disabled(要重启) 或直接在命令行下输入 : setenforce 0(不用重启)
3.

(如果你系统默认没有开启SeLinux可以跳过这一步)

chcon -R -h -t httpd_sys_content_t /home/konakona/www
把目录或文件的策略类型改成 httpd_sys_content_t 。

 

4.

打开httpd.conf,将“ServerName www.example.com:80”前的#去掉。

“<Directory>”中的地址必须与 “DocumentRoot”一致。

 

DocumentRoot “/home/konakona/www”

 

<Directory “/home/konakona/www/”>

Options Indexes FollowSymLinks

AllowOverride None

Order allow,deny

Allow from all

</Directory>

(代码1)

 

如果以上步骤完成后,还算无法打开,那么继续下面的。

1.

httpd.conf:

检查所有 “Allow from “处,改为 “Allow from all”(允许所有来源访问)

“AllowOverride All” 全部改成 “AllowOverride None”。

所有“Order ” 以及其后面的参数(整句话)改为”Order allow,deny”。

在仔细检查一下其他<Directory>的里面的设置,除了目录名不用改以外,都可以参考代码1<Directory></Directory>里边的代码,嫌麻烦,也可以全部copy过去。

 

2.

执行命令

strace -p apache id

这个是监视apache进程的,也是一个同事告诉我的,但不知道为什么,运行完着这个命令以后就可以打开http://localhost了……(在此之前,我上面的工作都做全了的)

 

。。。但是上面这个方法成功是上周6的事!现在是礼拜一!启动apache后看到的竟然是apache默认页面!!!可是我早已删除了aapche默认的www了啊!而httpd.conf指向的目录是我的项目,里边有什么东西我最清楚不过了。

难道有2个apache?

检测命令有2个,一个是进程查看:

ps -aux

如果apache用户的目录是相同的,则没问题,如果不相同,则说明安装了2个apache。

一个是占用端口查看:

netstat -ap | grep http

一般来说,只有3行信息,如果超过了,说明还有其他占用http服务。

你可以通过输入:

httpd version

来查看当前运行的apache的版本,来决定到底卸载那一个。

 

 

如果这样还不行……留言给我!

 

赞赏

团哥

文章作者

继续玩我的CODE,让别人说去。 低调,就是这么自信。

konakona

Apache没有权限或无法启动的解决方法
关闭selinux即可。
扫描二维码继续阅读
2012-09-24