Ubuntu下apache的安装与配置

CSDNGitHub
Ubuntu下apache的安装与配置AderXCoding/system/tools/apache


知识共享许可协议
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可, 转载请注明出处

1 安装apache


Ubuntu 上安装 Apache,有两种方式

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

  2. 从源码构建Apache

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

sudo apt-get install apache2

2 配置apache


2.1 启动apache服务


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

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

或者

service apache2  [ start | stop | restart | status ]

2.2 开机不启动apache服务


由于我们不是服务器, 安装了 apache 并不是一直开启的, 我们期望的是需要的时候手动开启, 因此希望设置开始不启动apache服务

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

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

sudo install sysv-rc-conf #或者使用带gui的工具bum
sudo sysv-rc-conf

1~6分别是运行级别, 具体配置参见Ubuntu下使用sysv-rc-conf管理服务

只需要将apache对应运行界别的[X](运行)修改为[](不启动)即可

update-rc.d命令详解

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

update-rc.d -f remove

按指定顺序、在指定运行级别中启动或关闭

update-rc.d start|stop

实例: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

A启动后B才能启动,B关闭后A才关闭

update-rc.d A defaults 80 20
update-rc.d B defaults 90 10

启动和关闭顺序为90,级别默认

3 问题


3.1 apache2 [warn] NameVirtualHost *:80 has no VirtualHosts


问题描述

apache2 [warn] NameVirtualHost *:80 has no VirtualHosts

问题原因

出现上述问题的原因 : 定义了多个 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

using 127.0.1.1 for ServerName

问题解决

  • 方法1, 修改httpd.conf

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

ServerName localhost:80

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

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

或者

  • 方法二

修改 /etc/apache2/sites-available/default

在最顶端加入

ServerName 127.0.0.1

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

directive globally to suppress this message

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

测试:

在浏览器里输入

http://localhost

或者是

http://127.0.0.1

访问localhost

Apache 的默认安装, Apache 的默认安装,会在/var 下建立一个名为 www 的目录, 这个就是Web 目录了, 所有要能过浏览器访问的Web文件都要放到这个目录里.

Ubuntu系统上安装Apache服务器并配置它,可以按照以下步骤操作: 1. **安装Apache**: 打开终端,输入命令行并添加软件仓库的官方支持: ```bash sudo apt-get update sudo apt-get install apache2 ``` 安装完成后,你可以通过`http://localhost`访问默认的Apache欢迎页面。 2. **启动服务**: 使用`systemctl`命令启动Apache服务: ```bash sudo systemctl start apache2 ``` 如果需要让服务在系统重启时自动运行,可以执行: ```bash sudo systemctl enable apache2 ``` 3. **配置文件**: Apache的主要配置文件位于`/etc/apache2/apache2.conf`。你可以用文本编辑器如`nano`打开这个文件查看和修改配置。例如,要更改监听的端口,可以在`VirtualHost *:80`块内修改`Listen`指令。 4. **管理虚拟主机**: 需要创建一个新的网站或虚拟主机,可以在`/etc/apache2/sites-available`目录下新建一个配置文件,然后启用它: ```bash sudo nano /etc/apache2/sites-available/example.com.conf ``` 添加虚拟主机配置,保存后链接到`sites-enabled`目录: ```bash sudo ln -s /etc/apache2/sites-available/example.com.conf /etc/apache2/sites-enabled/ ``` 5. **SSL支持**: 要提供HTTPS访问,你需要生成SSL证书或购买,并在`/etc/apache2/sites-available/your-site.conf`中启用SSL支持。 6. **测试和查看日志**: 测试新配置后,可以用`sudo apache2ctl configtest`检查是否有错误。查看日志通常在`/var/log/apache2/error.log`或`access.log`。 **相关问题--:** 1. 如何查看当前正在运行的Apache站点? 2. 我如何在Apache中设置基本的身份验证? 3. 如何处理Apache重启后配置变化未生效的问题?
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值