原文地址: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. HDU 5793 A Boring Question (找规律 : 快速幂+逆元)

    A Boring Question 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5793 Description Input The first l ...

  2. 「CF 961G」Partitions

    题目链接 戳我 \(Solution\) 首先,这个直接推式子.自己推去 所以我们来想一想一些巧妙的方法 \(|S|\sum w_i\) 可以转化为:划分好集合后,每个点都对当前点有\(w_i\)的贡 ...

  3. 01.二维数组中的查找 (Java)

    题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数 ...

  4. JS 类和继承

    function User(name, pass) { this.name = name this.pass = pass } User.prototype.showName = function ( ...

  5. MySort(选做)的实现

    MySort(选做)的实现 题目内容 注意:研究sort的其他功能,要能改的动代码,需要答辩 模拟实现Linux下Sort -t : -k 2的功能. 要有伪代码,产品代码,测试代码(注意测试用例的设 ...

  6. LocalDateTime自动转化格式

    开发中,遇到这样的问题.一个LocalDateTime类型的属性返回给前端是中间带T的格式,前端说转不了. 可以引入jackson包转换一下 <properties> <jackso ...

  7. php 发送邮件(1)代码逻辑

    tp3.2 使用phpmailer发送短信邮箱 准备工作 1.thinkphp3.2 2.qq邮箱(开通过POP3/SMTP服务)在qq邮箱内,设置->账户->POP3/IMAP/SMTP ...

  8. 查询redis中没有设置过期时间的key

    #!/bin/sh ## 该脚本用来查询redis集群中,哪些key是没有设置过期时间,对应只需要修改redis的其中一个实例的 host和port ## 脚本会自动识别出该集群的所有实例,并查出对应 ...

  9. tinymq学习小结

    学了tinymq, 先将它的README翻译了一下: TinyMQ - A diminutive message queue (TinyMQ ---一个小型的消息队列) TinyMQ是一个为erlan ...

  10. Raspbian 编译安装 PHP 7.2

    原文地址:Raspbian 编译安装 PHP 7.2 0x00 配置 开发板: Raspberry Pi 3B 系统: Raspbian 2019-04-08 stretch 0x01 下载源码 20 ...