let’s encrypt 是一个非营利性的证书颁发机构,它提供证书,以便您的网站可以使用安全连接。certbot是一个开源软件工具,用于在 web 上集成和管理 let’s encrypt 证书以启用安全的 https 协议。它将自动为您管理 let’s encrypt 证书。
在 ubuntu 22.04 lts jammy jellyfish 上使用 let’s encrypt 安装 apache
apt
步骤 1. 首先,通过在终端中运行以下命令,确保所有系统包都是最新的。
sudo apt update
sudo apt upgrade
步骤 2. 在 ubuntu 22.04 上安装 apache http 服务器。
默认情况下,apache 在 ubuntu 22.04 基础存储库中可用。现在运行以下命令将最新版本的 apache 安装到您的 ubuntu 系统:
sudo apt install apache2
成功安装后,启用 apache(系统启动时自动启动),启动,并使用以下命令验证状态:
sudo systemctl enable apache2
sudo systemctl start apache2
sudo systemctl status apache2
您可以使用以下命令确认 apache2 版本:
apache2 -v
步骤 3. 配置防火墙。
现在,我们使用 apache 设置了一个简单防火墙 (ufw),以允许对 http 和 https 的默认 web 端口进行公共访问:
sudo ufw allow openssh sudo ufw allow 'apache full' sudo ufw enable
步骤 4. 访问 apache web 服务器。
成功安装后,打开系统上的 web 浏览器并在地址栏中输入服务器的 ip。您将获得默认的 apache 服务器页面:
步骤 5. 创建 apache 虚拟主机。
首先,创建一个根目录来保存您网站的文件:
sudo mkdir -p /var/www/html/domain.com/
然后,更改目录的所有权和组:
sudo chown -r www-data:www-data /var/www/html/domain.com/
之后,我们创建一个 apache 虚拟主机来为网站的 http 版本提供服务:
sudo nano /etc/apache2/sites-available/www.domain.com.conf
添加以下文件:
*:80>
servername domain.com
serveralias www.domain.com
serveradmin admin@domain.com
documentroot /var/www/html/www.domain.com
errorlog ${apache_log_dir}/www.domain.com_error.log
customlog ${apache_log_dir}/www.domain.com_access.log combined
/var/www/html/www.domain.com>
options followsymlinks
allowoverride all
require all granted
保存并关闭文件,然后重新启动 apache 网络服务器以进行更改:
sudo a2ensite www.domain.com.conf sudo a2enmod ssl rewrite sudo systemctl restart apache2
步骤 6. 在 ubuntu 22.04 上使用 let’s encrypt 保护 apache。
首先,您需要安装 certbot 以使用 let’s encrypt 获取 ssl 证书:
sudo apt install certbot python3-certbot-apache
接下来,按照以下步骤使用 let’s encrypt 获取您的 ssl 证书:
sudo certbot --apache
您将需要按照交互式提示安装证书。由于我有两个域,我将为这两个域安装 ssl 证书:
saving debug log to /var/log/letsencrypt/letsencrypt.log enter email address (used for urgent renewal and security notices) (enter 'c' to cancel): admin@domain.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - please read the terms of service at https://letsencrypt.org/documents/le-sa-v1.2-november-15-2017.pdf. you must agree in order to register with the acme server. do you agree? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (y)es/(n)o: y - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - would you be willing, once your first certificate is successfully issued, to share your email address with the electronic frontier foundation, a founding partner of the let's encrypt project and the non-profit organization that develops certbot? we'd like to send you email about our work encrypting the web, eff news, campaigns, and ways to support digital freedom. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (y)es/(n)o: n account registered. which names would you like to activate https for? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: domain.com 2: www.domain.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - select the appropriate numbers separated by commas and/or spaces, or leave input blank to select all options shown (enter 'c' to cancel): 1,2 requesting a certificate for domain.com and www.domain.com successfully received certificate. certificate is saved at: /etc/letsencrypt/live/domain.com/fullchain.pem key is saved at: /etc/letsencrypt/live/domain.com/privkey.pem this certificate expires on 2022-12-10. these files will be updated when the certificate renews. certbot has set up a scheduled task to automatically renew this certificate in the background. deploying certificate successfully deployed certificate for domain.com to /etc/apache2/sites-available/www.domain.com-le-ssl.conf successfully deployed certificate for www.domain.com to /etc/apache2/sites-available/www.domain.com-le-ssl.conf congratulations! you have successfully enabled https on https://domain.com and https://www.domain.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if you like certbot, please consider supporting our work by: * donating to isrg / let's encrypt: https://letsencrypt.org/donate * donating to eff: https://eff.org/donate-le - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
步骤 7. 自动续订 ssl。
let’s encrypt 证书的有效期为 90 天,强烈建议在证书到期前更新证书。您可以通过运行以下命令来测试证书的自动续订:
sudo certbot renew --dry-run
输出:
saving debug log to /var/log/letsencrypt/letsencrypt.log - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - processing /etc/letsencrypt/renewal/domain.com.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - account registered. simulating renewal of an existing certificate for domain.com and www.domain.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - congratulations, all simulated renewals succeeded: /etc/letsencrypt/live/domain.com/fullchain.pem (success) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
步骤 8. 测试 ssl。
使用 let’s encrypt ssl 成功完成安全 apache 后,现在转到并在您的域上运行 ssl 测试:
感谢您使用本教程在 ubuntu 22.04 lts jammy jellyfish 系统上使用 let’s encrypt tls/ssl 安装 apache。如需更多帮助或有用信息,我们建议您查看。
原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/yun224301.html