进阶
安装
安装 Apache 最简单的方式就是在线安装:
安装内核
# Installing on Fedora/CentOS/Red Hat Enterprise Linux
sudo yum install httpd
sudo systemctl enable httpd
sudo systemctl start httpd
# Installing on Ubuntu/Debian
sudo apt install apache2
sudo service apache2 start
安装Apache的时候默认会安装核心特性与多处理模块(MPM),其他的扩展模块可以后续自行安装。
安装模块
安装 Apache HTTP Server 内核的同时,会默认安装一些模块,通过 apachectl -M
命令即可查看。
$ apachectl -M
Loaded Modules:
core_module (static)
so_module (static)
...
安装模块有yum/apt在线安装和源码编译安装两种方式,其中在线安装非常简单:
在线安装
例如:准备在CentOS上安装 mod_ssl
模块:
-
搜索 mod_ssl 是否存在
sudo yum search mod_ssl
============================= N/S matched: mod_ssl =============================
mod_ssl.x86_64 : SSL/TLS module for the Apache HTTP Server -
搜索结果提示有一个 mod_ssl.x86_64 可用,接下来运行安装命令
sudo yum install mod_ssl
-
等待自动安装,直至安装完成
源码安装
如果在线搜索找不到所需的 Module, 就需要通过源码编译安装的方式安装新的模块。主要步骤如下:
- 安装 apxs 这个Apache模块管理工具以及配套工具
yum install httpd-devel
yum groupinstall 'Development tools' - 下载 Apache 源码到 /opt 目录,并解压之
cd /opt
wget http://mirror.bit.edu.cn/apache//httpd/httpd-2.4.41.tar.gz
tar xvf httpd-2.4.41.tar.gz - 以安装 mod_auth_form 模块为例,我们找到其所在的目录,然后运行编译命令
cd /opt/httpd-2.4.41/modules/aaa
mod_auth_form.c - 编译成功,会增加一个模块配置文件:/usr/lib64/httpd/modules/mod_auth_form.so
以上的源码编译安装方案来源于此处
启停模块
需要注意的是,安装过的所有模块并不会全部被启用,即安装模块与启用是有区别的,只有安装之后才能被启用,被启用的模块也可以让它停止运行。接下来,我们讲解如何启停模块。
下面先介绍通过修改模块配置文件实现模块启用的方案:
以CentOS为例,我们打开Apache模块配置文件:/etc/httpd/conf.modules.d/00-base.conf
...
LoadModule version_module modules/mod_version.so
LoadModule vhost_alias_module modules/mod_vhost_alias.so
#LoadModule buffer_module modules/mod_buffer.so
#LoadModule watchdog_module modules/mod_watchdog.so
...
其中带“#”号的模块是没有启用的,如果需要启用,去掉“#”号,然后重启 Apache HTTP 服务即可。
修改Apache配置文件显得繁琐,可以安装通过a2enmod
这个模块来管理Apache扩展模块的启停
更新
Apache HTTP Server在安全性方面有良好记录,并且开发人员社区高度关注安全性问题。但是,不可避免的是,某些问题(无论大小)都会在发布后在软件中发现。因此,保持对软件更新的了解至关重要。如果您直接从Apache获得HTTP Server的版本,我们强烈建议您订阅Apache HTTP Server公告列表,在其中可以随时了解新版本和安全更新。