CentOS 下编译安装 Apache 并配置 SSL 模块以支持 HTTPS
分类: Apache学习 发布时间: 2024-10-05 17:57:49
一、编译安装Apache 首先,您需要从Apache官网下载最新的Apache、apr和apr-util源码包。解压这些文件后,将apr和apr-util源码移动到Apache的源码目录中,以便一起编译安装。 tar -zxvf httpd-2.4.xx.tar.gz tar -zxvf apr-1...
在CentOS系统上编译安装Apache服务器并配置SSL模块以支持HTTPS,是一个既实用又具挑战性的过程。本文将详细指导您完成这一任务,确保您的网站能够安全地通过HTTPS协议进行通信。
一、编译安装Apache
首先,您需要从Apache官网下载最新的Apache、apr和apr-util源码包。解压这些文件后,将apr和apr-util源码移动到Apache的源码目录中,以便一起编译安装。
tar -zxvf httpd-2.4.xx.tar.gz
tar -zxvf apr-1.7.xx.tar.gz
tar -zxvf apr-util-1.6.xx.tar.gz
mv apr-1.7.xx httpd-2.4.xx/srclib/apr
mv apr-util-1.6.xx httpd-2.4.xx/srclib/apr-util
接下来,使用yum安装Apache编译所需的依赖项,并开始编译安装过程。
yum install -y pcre-devel openssl-devel
cd httpd-2.4.xx
./configure --enable-so --enable-deflate --enable-ssl
make && make install
重点注意:编译过程中可能会遇到缺少依赖的情况,如expat-devel
,此时只需通过yum安装即可。
二、配置SSL模块
安装完Apache后,下一步是配置SSL模块以支持HTTPS。首先,确保已经安装了mod_ssl模块和openssl。
yum install mod_ssl openssl
接下来,需要生成SSL证书。您可以选择购买商业证书或使用免费的证书颁发机构(CA),如Let's Encrypt。为了演示,这里将展示如何使用openssl生成自签名证书。
cd /etc/pki/tls
openssl genrsa -out server.key 1024
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
重点步骤:将生成的证书和私钥文件配置到Apache中。编辑Apache的SSL配置文件(如/etc/httpd/conf.d/ssl.conf
),添加或修改以下配置:
<VirtualHost *:443>
DocumentRoot "/var/www/https"
ServerName www.example.com
SSLEngine on
SSLCertificateFile /etc/pki/tls/server.crt
SSLCertificateKeyFile /etc/pki/tls/server.key
</VirtualHost>
重启Apache服务以应用更改:
service httpd restart
至此,您的Apache服务器已配置好SSL模块,并支持HTTPS访问。通过访问https://您的服务器IP或域名
,您应该能看到SSL证书生效的页面,尽管由于是自签名证书,浏览器可能会提示安全警告。
通过以上步骤,您成功在CentOS系统上编译安装了Apache,并配置了SSL模块以支持HTTPS,为网站访问者提供了更加安全的通信方式。