手机版
你好,游客 登录 注册
背景:
阅读新闻

Ubuntu 下Apache安装和配置

[日期:2013-06-11] 来源:Linux社区  作者:学海有涯 [字体: ]

Ubuntu上安装Apache,有两种方式:1 使用开发包的打包服务,例如使用apt-get命令;2 从源码构建Apache。本文章将详细描述这两种不同的安装方式。

方法一:使用开发包的打包服务——apt-get

安装apache,在命令行终端中输入一下命令:

$ sudo apt-get install apache2

安装完成后,重启apache服务,在命令行终端中输入一下命令:

$ sudo /etc/init.d/apache2 restart

可能会出现的问题1: NameVirtualHost *:80 has no VirtualHosts,如下截图

出现上述问题的原因:定义了多个NameVirtualHost,故将/etc/apache2/ports.conf中的NameVirtualHost *:80注释掉即可。

可能会出现的问题2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName

原因:

根据提示,无法可靠的确定服务器的有效域名,使用127.0.1.1作为服务器域名。应此,在下面的测试中,应该使用127.0.1.1,而不是127.0.0.1!

解决:

$ vim /etc/apache2/httpd.conf,在文件中添加:

ServerName localhost:80,再次重启apache2,就可以使用127.0.0.1来访问web服务器啦!

测试:

在浏览器里输入http://localhost或者是http://127.0.0.1,如果看到了It works!,那就说明Apache就成功的安装了,Apache的默认安装,会在/var下建立一个名为www的目录,这个就是Web目录了,所有要能过浏览器访问的Web文件都要放到这个目录里。

测试过程中可能遇到问题:

原因:apache2使用的服务器地址不是127.0.0.1,根据在前面的分析,可能的ip为127.0.1.1,访问http://127.0.1.1即可。

如果觉得不再需要apache了,可以将它卸载:

1. 删除apache
在命令行中输入:
$ sudo apt-get --purge remove apache-common
$ sudo apt-get --purge remove apache


2.找到没有删除掉的配置文件,一并删除
代码:
$ sudo find /etc -name "*apache*" |xargs rm -rf
$ sudo rm -rf /var/www
$sudo rm -rf /etc/libapache2-mod-jk

3.删除关联,这样就可以再次用apt-get install apache2 重装了
#dpkg -l |grep apache2|awk '{print $2}'|xargs dpkg -P

方法二:从源构建Apache

参考资料:

Ubuntu下安装Apache+PHP+MySQL:http://www.linuxidc.com/Linux/2012-05/61079.htm

Ubuntu下彻底卸载Apache2:http://www.linuxidc.com/Linux/2013-06/85825.htm

Apache问题解决:httpd: Could not reliably determine the server's fully qualified domain name 链接:http://www.linuxidc.com/Linux/2012-08/68901.htm

--------------------------------------分割线--------------------------------------

apache2 [warn] NameVirtualHost *:80 has no VirtualHosts的解决方法


错误:[warn] NameVirtualHost *:80 has no VirtualHosts
 
原因:定义了多个NameVirtualHost
 
解决:Ubuntu之前的版本定义在/etc/apache2/sites-available/default, 8.04后在/etc/apache2/ports.conf
 
故可以将/etc/apache2/ports.conf中的NameVirtualHost *:80注释掉
 
这个问题的本质是在没有定义域名是一个端口只能对应一个虚拟主机,将NameVirtualHost *:80改为其他端口也可以解决
 
如果有多个不同的域名的话,用同样的端口也可以

更多Ubuntu相关信息见Ubuntu 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=2

linux
本文评论   查看全部评论 (1)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
第 1 楼
* 匿名 发表于 2017/1/20 15:51:29
感谢