apache2在ubuntu11.10下的操作及问题汇总

这都是折腾了俺的问题, 俺要记录下来, 以泄其愤:

伍家岗网站建设公司成都创新互联,伍家岗网站设计制作,有大型网站制作公司丰富经验。已为伍家岗上1000家提供企业网站建设服务。企业网站搭建\成都外贸网站制作要多少钱,请找那个售后服务好的伍家岗做网站的公司定做!

1. 重启apache:

sudo /etc/init.d/apache2 restart

2.apache 虚拟主机以后出现 [warn] NameVirtualHost *:80 has no VirtualHosts

解决办法: 直接吧 httpd.conf 中 NameVirtualHost *:80 这行注释掉

原因:NameVirtualHost语法错误 ,对于同一主机支持多个虚拟主机的情况,只需要命名一次NameVirtualHost,如果在每个虚拟主机配置文件中都加上NameVirtualHost *:80 ,则会报这个警告。

原来在/etc/apache2/ports.conf中定义了*:80的 VirtualHost , 我又在httpd.conf中重新定义了一遍, 所以呢, 就错了. 只要注释掉 httpd.conf中的 NameVirtualHost *:80 就ok了;

3. ubuntu服务器开启Apache重写扩展 :

第1步: 打开终端, 开启扩展:

sudo a2enmod rewrite

或者是:

sudo ln -s /etc/apache2/mods-cuailable/rewrite.load /etc/apache2/mods-enabled/rewrite.load

第2步: 修改一些东西

sudo vim /etc/apache2/sites-enabled/000-default

将其中所有的AllowOverride None 修改成 AllowOverride All.

备注:000-default实则为sites-available/default的链接,而AllowOverride None 则会完全忽略.htaccess文件,rewrite规则就不能生效,另外注意您的程序文件的权限不能忘记开启, 所以开启扩展后必须修改000-default文件。

然后重启apache服务;

sudo /etc/init.d/apache2 restart

其他参考:

Ubuntu下apache2的rewrite模块默认是不加载的。

只要运行了一下这个命令:a2enmod rewrite 就可以启用rewrite模块了。

或:

sudo ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load

Apaceh2 多了一组 a2enmod, a2dismod指令,用于启用和禁用Apache的模块。a2enmod用于在Apache启用指定的 模块,它实际上做的是在/etc/apache2 /mods-enabled目录下创建模块文件的符号链接。相反a2dismo则是通过删除符号链 接而达到禁用指定模块的功能。当然,启用已启用的模块或禁用已禁用的模块是不会报错的。

这里有必要说明一下:

/etc/apache2/mods-available 放apache可用的模块文件

/etc/apache2/mods-enabled 放apache已启用的模块文件的链接

弄明白了,去查看一下/etc/apache2/mods-enabled目录,果然有新增了一条rewrite.load的链接。


新闻标题:apache2在ubuntu11.10下的操作及问题汇总
文章来源:http://scyanting.com/article/cpcdec.html