在Ubuntu 16.04上,安装Apache和let\'s Encrypt

・4 分钟阅读

以下教程将介绍,在Ubuntu 16.04上安装let's Encrypt客户端,安装SSL证书的整个进程。

在这个Ubuntu指南的最后,你将能够创建let's Encrypt SSL证书,并且在你的Apache服务器上设置它们。

步骤1:先决条件

安装let's Encrypt客户端软件需要LAMP堆栈,如果你还没有一个,请参考教程如何在Ubuntu上安装Apache mysql和php

一旦你在云服务器上拥有一个可以正常工作的Apache服务器,就应该安装let's Encrypt了,将客户端下载到/opt/letsencrypt


apt-get install git
git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt

步骤2:生成let's Encrypt SSL证书

let's Encrypt通过客户端验证你的域名,你的SSL证书将使用以下命令自动生成:


cd /opt/letsencrypt/
./letsencrypt-auto --apache -d yourubuntuserver.example

为多个域名创建SSL证书更容易: 只要添加-d开关就可以了。


./letsencrypt-auto --apache -d yourubuntuserver.example -d mysslcertificate.example
./letsencrypt-auto --apache -d yourubuntuserver.example -d mysslcertificate.example -d anotherwebsite.example

你还可以为你的www.子域生成let's Encrypt SSL证书,如下所示:


./letsencrypt-auto --apache -d yourubuntuserver.example -d mysslcertificate.example -d anotherwebsite.example -d www.yourubuntuserver.example -d www.mysslcertificate.example -d www.anotherwebsite.example

步骤3:强制SSL

一旦你生成了SSL证书,你就可以强制你的网站重定向到受SSL保护的网站。将以下行添加到你网站的.htaccess文件中:


RewriteEngine On 
RewriteCond % 80 
RewriteRule ^(.*)$ https://yourubuntuserver.example/$1 [R,L]

如果你希望使用let's Encrypt重定向到www.子域,请执行以下操作:


RewriteEngine On 
RewriteCond % 80 
RewriteRule ^(.*)$ https://www.yourubuntuserver.example/$1 [R,L]

步骤4:自动更新let's Encrypt证书

let's Encrypt是免费的证书颁发机构(CA ),因此,默认情况下,证书的有效期超过90天,当然,如果你管理了很多Let's Encrypt SSL证书,那么手动更新这些证书是非常不安全的,let's Encrypt提供了一个实用工具,以便在你选择时自动尝试续订所有证书。

这个过程是自动 cron job完成的。

 
crontab -e

 

将以下cronjob附加到文件底部:


15 5 * * 5 /opt/letsencrypt/letsencrypt-auto renew >> /var/log/le-renew.log

我们刚刚创建的cron作业将在每周五上午5:15更新SSL证书。通过运行以下脚本: /opt/letsencrypt/letsencrypt-auto renew

感谢你阅读此let's Encrypt指南,如果你有任何问题,请不要犹豫,请参阅官方指南 。

杨和超 profile image