在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指南,如果你有任何问题,请不要犹豫,请参阅官方指南 。