CentOS 下编译安装 Apache 并配置 SSL 模块以支持 HTTPS
分类: Apache学习 发布时间: 2024-09-28 15:04:05
一、编译安装 Apache 首先,我们需要从源码编译安装 Apache,以便获得更高的灵活性和定制性。 安装编译工具和依赖库 sudo yum install gcc make pcre-devel openssl-devel 下载 Apache 源码 从 Apache 官网下载最新的源码包...
在当前的互联网环境中,HTTPS 已成为网站安全的标配,它通过使用 SSL/TLS 协议对传输的数据进行加密,保障用户信息的安全。今天,我将带大家一步步在 CentOS 系统上编译安装 Apache 服务器,并配置 SSL 模块,使其支持 HTTPS 访问。
一、编译安装 Apache
首先,我们需要从源码编译安装 Apache,以便获得更高的灵活性和定制性。
-
安装编译工具和依赖库
sudo yum install gcc make pcre-devel openssl-devel
-
下载 Apache 源码 从 Apache 官网下载最新的源码包,例如 httpd-2.4.xx.tar.gz。
-
解压并编译安装
tar -zxvf httpd-2.4.xx.tar.gz cd httpd-2.4.xx ./configure --prefix=/usr/local/apache2 --enable-ssl --enable-so --with-ssl=/usr/bin/openssl make sudo make install
二、配置 SSL 模块以支持 HTTPS
-
生成 SSL 证书和密钥 使用 OpenSSL 生成自签名证书,以便在测试环境中使用。
sudo mkdir -p /etc/apache2/ssl cd /etc/apache2/ssl sudo openssl genrsa -out server.key 2048 sudo openssl req -new -key server.key -out server.csr sudo openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
-
配置 Apache 以使用 SSL 编辑 Apache 的配置文件,通常位于
/usr/local/apache2/conf/httpd.conf
或/usr/local/apache2/conf/extra/httpd-ssl.conf
。重点配置内容:
- 加载 SSL 模块:
LoadModule ssl_module modules/mod_ssl.so
- 配置 SSL 证书和密钥:
<VirtualHost *:443> ServerName yourdomain.com DocumentRoot "/var/www/html" SSLEngine on SSLCertificateFile "/etc/apache2/ssl/server.crt" SSLCertificateKeyFile "/etc/apache2/ssl/server.key" # 其他 SSL 配置... </VirtualHost>
- 加载 SSL 模块:
-
启动 Apache 并测试 HTTPS
sudo /usr/local/apache2/bin/apachectl start
在浏览器中访问
https://yourdomain.com
,如果配置正确,你将看到 Apache 的默认页面,且浏览器会显示证书信息(由于是自签名证书,浏览器会发出警告)。
总结: 通过以上步骤,我们成功在 CentOS 系统上从源码编译安装了 Apache,并配置了 SSL 模块以支持 HTTPS 访问。重点在于正确生成 SSL 证书和密钥,并在 Apache 配置文件中正确设置这些证书和密钥的路径。这样,你的网站就能以更安全的方式与访问者进行通信了。