📌 导读:本文承接上一篇,演示如何在谷歌云(GCP)服务器上通过 SSH + Certbot 为 Magento 自建站部署 Let’s Encrypt 免费 SSL 证书并实现自动续签。需要说明两点:①Magento 已被 Adobe 收购并整合,商业版现为 Adobe Commerce,开源版为 Magento Open Source;②本文界面与命令基于成文时的 GCP 控制台和 Certbot 版本,属历史教程,相关界面与 certbot-auto 等命令早已更新(certbot-auto 现已弃用),请以各平台与工具的最新文档为准,技术步骤仅供原理参考。
在上一期《如何为magento系统自建站安装SSL安全证书 开启HTTPS访问》已经介绍了通过sslforfree.com网站获得来自Let’s encrypt的免费SSL安全证书。有些朋友通过邮件向我反馈,按照教程已经成功申请到了SSl安全证书,但在部署到站点时却无从下手,namecheap.com上的那篇英文安装教程似乎并不适用。在读者建议下,我试着按照这篇教程去尝试安装,确实发现一些问题,有些细节,我给忽略了。
有一点需要注意,Let’s encrypt的免费SSL安全证书有效期只有90天,也就是说每隔90天,你需要手动去更新一次,毕竟是免费的,我们不能要求太多。但作为商业网站,到期时,出现断开链接或者安全证书失效时,不仅影响客户体验,而且对网站的SEO优化搜索权重上或多或少会有所影响。所以,今天qicai66给大家介绍一种新方法,帮大家顺利完成安装ssl证书,并且可以实现永久自动续签证书。实现过程涉及到比较多的网络技术知识,全程通过SSH代码命令方式执行,看似比较复杂,别担心,只要按照我的步骤走,可以顺利完成。
我们还是以部署在google云平台上的magento站点为例,进行演示。当然,如果你购买的godaddy、bluehost、搬瓦工vps等服务器主机,只要能获得SSH管理权限,这种方式是同样适用的。
整个步骤如下:
1. 通过 SSH 连接到服务器上
2. 安装 Git
3. 安装 CertBot Client
4. 获得 Certificates
5. 安装 Certificate 自动更新
6. 配置 Certificates
7. 配置 HTTPS 指向
8. 重启 Apache 服务器
9. magento 设置
10.完成
好的,现在就按照上面的步骤来做,首先,登录https://cloud.google.com 进入你的谷歌云平台账户,进入Compute Engine – VM实例,在右侧找到你的主机实例。(提示:GCP 控制台界面经过多次改版,下文截图为旧版界面,菜单位置可能已调整,请以最新控制台为准。)
1. 通过 SSH 连接到服务器上
2. 安装 Git
通过SSH连接到你的实例后,用Sudo -i获得root管理权限,然后用apt-get命令告诉Apache去下载Git;
sudo -i
sudo apt-get install git-all
3. 安装 CertBot Client
现在你已经安装了Git了,输入 cd /tmp 命令,进入tmp临时目录,然后用 git clone 方法获得 certbot 文件;
cd /tmp
git clone https://github.com/certbot/certbot
4. 获得 Certificates
这步是获得证书。如图上1的命令表示进入 certbot这个文件夹,2是 你的网站所在的根目录,3是你的网站域名,这里分别填写2个,例如 chenfeiblog.com 和chenfeiblog.com
cd /tmp/certbot
./certbot-auto certonly --webroot -w /var/www/html/ -d chenfeiblog.com -d chenfeiblog.com
输入上面命令后,这里就可以看到你的证书所在的目录;
5. 安装 Certificate 自动更新
参考这张图,输入下面这些命令,三行的意思是,获得root权限,进入tmp下的certbot文件夹,进行证书自动更新操作;
sudo -i
cd /tmp/certbot/
./certbot-auto renew --dry-run
接下来,你需要用crontab -e命令,去设置一个自动更新的计划任务,
crontab -e
1
这里输入1 ,
0 0 * * * cd && ./certbot-auto renew --quiet --no-self-upgrade
0 12 * * * cd && ./certbot-auto renew --quiet --no-self-upgrade
这2段命令的意思是告诉服务器,每天自动检测2次证书续签;
6. 配置 Certificates
nano /etc/apache2/sites-available/default-ssl.conf
我们重新用ssh连接实例,先获取root权限,然后用nano方式打开default-ssl.conf 这个文件进行编辑;nano是终端下的文本编辑器命令,可以理解为电脑的记事本;
粘贴这些内容
<Directory /var/www/html/>
options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
再继续往下找,你会找到2个已经存在的SSLCertificateFile文件路径,删除这些,并用以下3个路径地址进行替换;
SSLCertificateFile /etc/letsencrypt/live/chenfeiblog.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/chenfeiblog.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/chenfeiblog.com/chain.pem
注意了,里面的域名替换成你自己的;
然后,按ctrl+o保存更改内容,在按 ctrl+x 退出;
7. magento 设置
登录magento系统后台,左侧菜单,STORE–Configuration–Web,右侧设置;
8. 重启 Apache 服务器
为了让上面的设置生效,还需要重启服务器,输入这些命令,
sudo a2ensite default-ssl
service apache2 reload
sudo a2enmod ssl
service apache2 reload
sudo service apache2 restart
到这里,在终端上的设置就全部结束了,
9、测试结果
好了,全部搞定。如果你的设置都正确,这时候,在浏览器中打开网站,你会看到绿色安全小图标;并且,因为你已经设置了SSL安全证书自动续签的,所以,就即便在证书到期时,也不必再去重新申请或者手动续期。
10. 配置 HTTPS 指向(补充内容,可忽略不执行)
如果你的web服务器同时配置了多个站点,可以通过以下命令完成
用cd 进入这个/etc/apache2/sites-available/ 然后 ls 命令列出当前目录下的文件;我们看到有几个配置文件,这里我们用nano方式打开000-default.conf
sudo -i
cd /etc/apache2/sites-available/
nano /etc/apache2/sites-available/000-default.conf
如果你的服务器存在多个站点,用这个方式,也可以对其他网站进行同样的设置。
这里的意思是告诉服务器,你的网站只启动https方式,然后 ctrl+o 保存更改, ctrl+x 退出;
ServerName chenfeiblog.com
Redirect / //www.qicai66.com/
💡 自己用 VPS 搭 Magento/Adobe Commerce 或其他自建站,绕不开 SSL 证书、服务器配置与运维这些硬骨头。欢迎加入 点点KG百家乐会员区,获取自建站选型、服务器部署与 HTTPS 配置的实操笔记,少踩坑、快上线。 📍 这一步在《qicai66十二年》路线图 · 第 4 站「模式转型期」。
https://youtu.be/o39Wim7W8uM
















