原文地址:https://blog.csdn.net/gatieme/article/details/53025505
1 安装apache
在 Ubuntu 上安装 Apache,有两种方式

使用源中的软件包安装, 例如使用apt-get命令

从源码构建Apache

我们直接使用源中的软件包进行安装, 安装apache,在命令行终端中输入一下命令:

sudo apt-get install apache2
1
2 配置apache
2.1 启动apache服务
安装完成后,重启apache服务,在命令行终端中输入一下命令:

sudo /etc/init.d/apache2 [ start | stop | restart | status ]
1
或者

service apache2 [ start | stop | restart | status ]
1
2.2 开机不启动apache服务
由于我们不是服务器, 安装了 apache 并不是一直开启的, 我们期望的是需要的时候手动开启, 因此希望设置开始不启动apache服务

Ubuntu有如下几种方法配置, 但是都是异曲同工, 他们都是修改了启动初始化脚本rcS等配置文件

启动项管理工具sysv-rc-conf

sudo install sysv-rc-conf #或者使用带gui的工具bum
sudo sysv-rc-conf
1
2
1~6分别是运行级别, 具体配置参见Ubuntu下使用sysv-rc-conf管理服务

只需要将apache对应运行界别的X修改为即可

update-rc.d命令详解

从所有的运行级别中删除指定启动项

update-rc.d -f remove
1
按指定顺序、在指定运行级别中启动或关闭

update-rc.d start|stop
1
实例:update-rc.d apachectl start 20 2 3 4 5 . stop 20 0 1 6 .

解析:表示在2、3、4、5这五个运行级别中,由小到大,第20个开始运行apachectl;在 0 1 6这3个运行级别中,第20个关闭apachectl。这是合并起来的写法,注意它有2个点号,效果等于下面方法:

update-rc.d apachectl defaults
1
A启动后B才能启动,B关闭后A才关闭

update-rc.d A defaults 80 20
update-rc.d B defaults 90 10
1
2
启动和关闭顺序为90,级别默认

3 问题
3.1 apache2 [warn] NameVirtualHost *:80 has no VirtualHosts
问题描述

apache2 [warn] NameVirtualHost *:80 has no VirtualHosts
1
问题原因

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

问题解决

Ubuntu之前的版本定义在 /etc/apache2/sites-available/default, 8.04后在/etc/apache2/ports.conf

故可以将 /etc/apache2/ports.conf 中的NameVirtualHost *:80 注释掉

这个问题的本质是在没有定义域名是一个端口只能对应一个虚拟主机,将NameVirtualHost *:80改为其他端口也可以解决

如果有多个不同的域名的话,用同样的端口也可以

3.2 using 127.0.1.1 for ServerName
问题描述

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

问题解决

方法1, 修改httpd.conf
修改 /etc/apache2/httpd.conf, 在文件中添加,

ServerName localhost:80
1
一般来说 httpd.conf 是个空文件, 直接添加即可, 如果 httpd.conf 文件不存在, 则新建它, 并检查 /etc/apache2/apache2.conf 中是否包含了 httpd.conf, 如果没有使用如下语句包含

Include httpd to listen on @/etc/apache2/apache2.conf

Include httpd.conf
1
2
或者

方法二
修改 /etc/apache2/sites-available/default

在最顶端加入

ServerName 127.0.0.1
1
注意, 第二种方法修改 default 的时候, 必须写在顶部, 否则重启apache服务, 会提示如下错误

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

测试:

在浏览器里输入

http://localhost

或者是

http://127.0.0.1

Apache 的默认安装, Apache 的默认安装,会在/var 下建立一个名为 www 的目录, 这个就是Web 目录了, 所有要能过浏览器访问的Web文件都要放到这个目录里.
————————————————
版权声明:本文为CSDN博主「JeanCheng」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/gatieme/article/details/53025505

[转载]Ubuntu下apache的安装与配置的更多相关文章

  1. Ubuntu下APACHE HTTPS安装和配置

    http://blog.csdn.net/newjueqi/article/details/9789659

  2. Linux(Ubuntu)下MySQL的安装与配置

    转自:http://www.2cto.com/database/201401/273423.html 在Linux下MySQL的安装,我一直觉得挺麻烦的,因为之前安装时就是由于复杂的配置导致有点晕.今 ...

  3. Ubuntu下Apache的安装

    Ubuntu下可快速安装LAMP server(Apache+MySQL+PHP5),参见<Ubuntu下快速安装LAMP server>一文. 也可以手动安装Apache.本文介绍如何手 ...

  4. ubuntu下的openfire安装、配置、运行

    openfire服务器              Openfire 采用Java开发,开源的实时协作(RTC)服务器基于XMPP(Jabber)协议.您可以使用它轻易的构建高效率的即时通信服务器.Op ...

  5. Ubuntu下samba的安装和配置

    samba是Linux系统上的一种文件共享协议,可以实现Windows系统访问Linux系统上的共享资源,现在介绍一下如何在Ubuntu 14.04上安装和配置samba一. 一.更新源列表 打开&q ...

  6. Linux下Apache的安装与配置

    本文安装的httpd版本为httpd 2.4.4安装之前确保 Development Libraries与Development tools安装上.安装方法参考:http://www.linuxidc ...

  7. ubuntu下Tomcat7的安装和配置

    和前几个软件一样,Tomcat 同样是由JAVA开发的,所以,在安装前一定要装好JDK. 大家可以到 http://tomcat.apache.org/download-70.cgi 下载最新的Tom ...

  8. Ubuntu 下 Tomcat7 的安装和配置

    tomcat下载地址:http://tomcat.apache.org/download-70.cgi 声明:下面的内容和原创笔者的博文的内容差不多,不一样的只是tomcat7的安装目录不同,我按照我 ...

  9. Java全栈程序员之02:Ubuntu下Java环境安装、配置、测试

    在上文讲完之后,我们手里的ubuntu只能算是一个上网机,什么也干不了,本篇我们将折腾它为开发机. 这里,我们这里假定你对linux体系是初级选手,所以本篇会讲的啰嗦一点,高手就出门左转吧. 1.安装 ...

随机推荐

  1. 分布式-信息方式-ActiveMQ的Destination高级特性1

    ActiveMQ的Destination高级特性 Destination高级特性----->Composite Destinations 组合队列Composite Destinations : ...

  2. ShiroFilterFactoryBean 找不到的原因

    是因为参考的那篇shiro的博客,没有引入这个依赖的原因 <dependency> <groupId>org.apache.shiro</groupId> < ...

  3. 【python】windows更改jupyter notebook(ipython)的默认打开工作路径

    写在前面:本博客为本人原创,严禁任何形式的转载!本博客只允许放在博客园(.cnblogs.com),如果您在其他网站看到这篇博文,请通过下面这个唯一的合法链接转到原文! 本博客全网唯一合法URL:ht ...

  4. 1. 参数的传入和添加 argparse.ArgumentParser()

    # Edit configuration 传入的参数使用的是--file_dir picture, 获取使用的是argv.file_dir import argparse, sys def parse ...

  5. leetcode 198. House Robber 、 213. House Robber II 、337. House Robber III 、256. Paint House(lintcode 515) 、265. Paint House II(lintcode 516) 、276. Paint Fence(lintcode 514)

    House Robber:不能相邻,求能获得的最大值 House Robber II:不能相邻且第一个和最后一个不能同时取,求能获得的最大值 House Robber III:二叉树下的不能相邻,求能 ...

  6. MPP - GreenPlum数据库安装以及简单使用

    一.集群介绍 共3台主机,ip 为193.168.0.93   193.168.0.94  193.168.0.95 集群对应master和segment如下,193.168.0.93为master节 ...

  7. django 如何传递id 参数

    urls.py  注意这里的bid

  8. PPT鼠绘必须掌握的PPT绘图三大核心功能

    在PPT制作教程栏目中,陆陆续续的分享了一系列通过合并形状功能来绘图的教程,绘制安卓机器人.绘制西瓜.绘制鸡蛋.其实,合并形状功能只是PPT绘图的一部分,而真正想要掌握PPT鼠绘,仅仅是会使用合并形状 ...

  9. JS中document对象 && window对象

    所有的全局函数和对象都属于Window对象的属性和方法. 区别: 1.window 指窗体.Window 对象表示浏览器中打开的窗口. document指页面.document是window的一个子对 ...

  10. scanf("%[^\n]",str)

    题目地址 scanf()   遇到空格结束输入 可以用 scanf("%[^\n]" , str)   输入一行数据包括空格,直到遇到换行符 ' \n ' #include< ...