Last updated at Fri, 08 Dec 2017 22:00:28 GMT

Synopsis

对于每个Linux管理员来说,提高网站安全性通常是最复杂和最昂贵的任务. Let 's Encrypt是一个免费的、自动化的、开放的证书颁发机构,它提供免费的X.通过自动过程进行传输层安全加密的509证书. 在web服务器上安装和添加SSL证书是一个非常复杂的过程. 您可以在Let 's Encrypt的帮助下使其更容易. 您可以轻松地加密您的网站数据免费使用Let 's encrypt .

本文将介绍在Ubuntu 16上安装和使用Let’s Encrypt的过程.04 server.

Prerequisites

  • A server running Ubuntu 16.04.
  • A non-root user with sudo privileges.
  • 一个有效的公共注册域名指向您的服务器IP地址.

Install LAMP

首先,您需要在服务器上安装LAMP服务器(Apache、MySQL、PHP). 安装命令如下:

sudo apt-get install apache2 php7.0 mariadb-server -y

Once the LAMP server is installed, 您需要为Apache激活SSL模块和默认SSL站点.

您可以通过运行以下命令来执行此操作:

sudo a2enmode ssl
sudo a2ensite default-ssl

接下来,重新启动Apache web服务器来应用这些更改:

sudo systemctl restart apache2

现在,通过HTTPS协议输入URL,使用您的域名访问您的Apache web服务器 http://yourdomain.com in your browser. You should see the following page:

您应该在上面的页面中看到一个错误警报. 因为您的服务器自签名证书不是由受信任的证书颁发机构颁发的.

Download and Install Let’s Encrypt

First, 您需要从GitHub存储库下载Let 's Encrypt的最新稳定版本. 您可以使用git命令行实用程序下载它.

首先,用下面的命令安装git:

sudo apt-get install git -y

接下来,用以下命令下载Let 's Encrypt:

sudo git clone http://github.com/letsencrypt/letsencrypt /opt/letsencrypt

接下来,您需要为您的域生成SSL证书. 您可以使用以下命令对您的域名执行此操作,如下所示:

cd /opt/letsencrypt
sudo ./letsencrypt-auto --apache -d yourdomain.com

在安装过程中,您需要指定您的电子邮件地址,并同意服务条款. 一旦一切正常,您应该看到以下消息:

 - Congratulations! Your certificate and chain have been saved at 
 /etc/letsencrypt/live/yourdomain.com/fullchain.pem. Your 
 cert will expire on 2016-03-31. To obtain a new version of the 
 证书,只需再次运行Let's Encrypt. 
 -您的帐户凭证已保存在您的Let's Encrypt中 
 configuration directory at /etc/letsencrypt. You should make a 
 secure backup of this folder now. This configuration directory will 
 还包含由Let’s获得的证书和私钥 
 加密,因此对该文件夹进行定期备份是理想的. 
 -如果你喜欢我们加密,请考虑通过以下方式支持我们的工作:
  
 捐赠给ISRG / Let's Encrypt: http://letsencrypt.org/donate 
 Donating to EFF: http://eff.org/donate-le

您可以在其中列出所有证书文件 /etc/letsencrypt/live directory:

ls /etc/letsencrypt/live/yourdomain.com/

You should see the following output.

cert.pem chain.pem fullchain.pem privkey.pem

最后,您的域应该可以通过HTTPS协议访问. You can check it out at http://yourdomain.com. You should see the following page:

您也可以通过访问URL来验证SSL证书的状态 http://www.ssllabs.com/ssltest/analyze.html?d=yourdomain.com&latest.

Renew Lets Encrypt Certificates

默认情况下,Let 's Encrypt颁发的SSL证书的有效期为90天. 因此建议在证书到期前进行续签.

手动更新SSL证书的命令如下:

cd /opt/letsencrypt
sudo ./letsencrypt-auto certonly——renew-by-default -d yourdomain.com

还可以通过编辑使证书续订过程自动化 /etc/crontab file:

sudo nano /etc/crontab

在文件末尾添加以下行:

 @monthly root /opt/letsencrypt/letsencrypt-auto certonly——renew-by-default -d yourdomain.com

Save and close the file when you are finished.

Update Let’s Encrypt

如果你想更新你的Let 's Encrypt软件. Then, you can do this with the git command.

首先,将目录更改为letsencrypt:

cd /opt/letsencrypt

接下来,使用以下命令下载对Let 's Encrypt所做的任何更改:

sudo git pull

Note: Don’t forget to change yourdomain.com with your public domain name.

Conclusion

Congratulations! 你已经在Ubuntu 16上成功安装并配置了Let 's Encrypt with Apache.04 server. 您现在可以很容易地访问您的web服务器与HTTPS协议.

References