在 Linux 上使用 mod_ssl、openssl 安装 Apache 2
本文提供了有关如何使用 mod_ssl 安装 Apache 2 的分步说明。
我更喜欢从源代码安装 Apache,因为它让我可以更灵活地选择要启用或禁用的模块,而且我还可以在 Apache 发布补丁后立即升级或应用补丁。
1.下载apache
从httpd.apache.org下载 Apache 。当前的稳定版本是 2.2.17。
获得下载最新稳定版 Apache 的直接 URL 后,使用 wget 如下所示将其直接下载到您的服务器。
cd ~
wget http://www.eng.lsu.edu/mirrors/apache//httpd/httpd-2.2.17.tar.gz
tar xvfz httpd-2.2.17.tar.gz
2. 使用 SSL/TLS 安装 Apache
查看所有可用的 Apache 安装和配置选项,如下所示。
cd httpd-2.2.17
./configure --help
要安装 Apache 模块,您通常会说 –enable-{module-name}。例如,要使用 Apache 安装 SSL,它是 –enable-ssl。要安装 ldap 模块,它是 –enable-ldap。
要卸载 Apache 附带的任何默认模块,您通常会说 –disable-{module-name}。例如,要在 Apache 中禁用基本身份验证,它是 –disable-auth-basic
在此示例中,我们将安装 Apache 和所有默认模块,并添加 –enable-ssl(安装 mod_ssl 以支持 SSL)和 –enable-so,这有助于在运行时通过 Dynamic Shared 在 Apache 中加载模块对象(DSO)机制,而不需要重新编译。
./configure --enable-ssl --enable-so
make
make install
注意:默认情况下,上述安装 Apache 在 /usr/local/apache2 下。如果您想更改此位置,请使用 ./configure 中的 –prefix 选项。
3. 在 httpd.conf 中启用 SSL
Apache 配置文件 httpd.conf 位于 /usr/local/apache2/conf 下。
取消注释 /usr/local/apache2/conf/httpd.conf 文件中的 httpd-ssl.conf Include 行。
# vi /usr/local/apache2/conf/httpd.conf
Include conf/extra/httpd-ssl.conf
查看 httpd-ssl.conf 以查看所有默认 SSL 配置。大多数情况下,您不需要修改此文件中的任何内容。
vi /usr/local/apache2/conf/extra/httpd-ssl.conf
在我们启动 Apache 之前需要 SSL 证书和密钥。httpd-ssl.conf 中提到的 server.crt 和 server.key 文件需要在我们继续之前创建。
# egrep 'server.crt|server.key' httpd-ssl.conf
SSLCertificateFile "/usr/local/apache2/conf/server.crt"
SSLCertificateKeyFile "/usr/local/apache2/conf/server.key"
4.创建server.crt和server.key文件
首先,使用 openssl 生成 server.key。
cd ~
openssl genrsa -des3 -out server.key 1024
上面的命令会要求输入密码。请务必记住此密码。您在稍后启动 Apache 时需要它。
如果您不提供密码,您将收到以下错误消息。
2415:error:28069065:lib(40):UI_set_result:result too small:ui_lib.c:849:You must type in 4 to 8191 characters
接下来,使用上面的 server.key 文件生成证书请求文件(server.csr)。
openssl req -new -key server.key -out server.csr
最后,使用上面的 server.key 和 server.csr 文件生成一个自签名的 ssl 证书(server.crt)。
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
5.复制server.key和server.crt
将 server.key 和 server.crt 文件复制到适当的 Apache 配置目录位置。
cd ~
cp server.key /usr/local/apache2/conf/
cp server.crt /usr/local/apache2/conf/
6.启动apache并验证SSL
如下所示启动 Apache。
/usr/local/apache2/bin/apachectl start
这将提示您输入私钥的密码。
Apache/2.2.17 mod_ssl/2.2.17 (Pass Phrase Dialog)
Some of your private key files are encrypted for security reasons.
In order to read them you have to provide the pass phrases.
Server www.example.com:443 (RSA)
Enter pass phrase:
OK: Pass Phrase Dialog successful.
默认情况下,Apache SSL 在 443 端口上运行。打开网络浏览器并验证您是否可以使用 https://(your-ip-address) 访问您的 Apache
- 点赞
- 收藏
- 关注作者
评论(0)