为ConcreteCMS创建和管理网站HTTPS证书的软件包

资助软件包维护!
mlocati
paypal.me/mlocati

安装次数: 62

依赖项: 0

建议者: 0

安全性: 0

星级: 10

关注者: 2

分支: 1

开放问题: 0

类型:concrete5-package

6.0.3 2023-03-27 06:46 UTC

README

这是一个Concrete5软件包,允许您生成网站证书,以便它们可以使用HTTPS协议。

证书是通过ACME(自动证书管理环境)协议生成的,该协议由Let's Encrypt等提供免费服务。

功能

这是一个功能丰富的软件包

  • 初始设置非常简单
  • 支持多个ACME服务器和账户
  • 添加ACME服务器和账户只需点击几个按钮
  • 支持ACME v1和ACME v2(也称为RFC8555)协议
  • 支持多个域名,包括本地和远程
  • 支持包含国际字符的域名
  • 支持为多个域名创建HTTPS证书
  • 允许您指定在证书生成/续订时执行的操作(例如,它可以通过SSH将新生成的证书保存到远程服务器,并重新加载Web服务器配置)
  • 提供完整的CLI(命令行界面)命令,您可以通过终端控制台创建/编辑/修改/删除/控制几乎一切
  • 通过在crontab中添加一行,可以自动化证书的续订
  • 您对已吊销的证书有完全的控制权
  • 支持检查证书是否已被吊销

演示视频

concrete5 ACME addon demo

初始设置

此软件包可以通过两种方式安装

  1. 如果您有基于composer的Concrete5安装,只需运行
    composer require mlocati-concrete5-packages/acme
    
  2. 否则,您需要
    • 下载此存储库并将其保存到packages文件夹下,文件夹名为acme
    • 此处下载composerpkg命令
    • 在下载的acme文件夹内部,运行此命令
      composerpkg install
      

完成上述操作后,只需浏览到/dashboard/extend/install仪表板页面。您应该看到这个

Dashboard installation

点击安装按钮后,ACME软件包会执行一些检查

Install checks

如果出现问题,该页面将告诉您如何修复。一旦所有测试通过,请点击安装ACME按钮。过了一会儿,软件包就安装好了,然后您会被询问是否想要轻松创建第一个所需的数据(要使用的ACME服务器和ACME账户)

Install wizard - ACME Server

Install wizard - ACME Account

Install wizard - Ready

通过Web界面使用

ACME软件包的主要页面位于仪表板中,在系统 & 设置下(即/dashboard/system/acme URL)

Main menu

ACME服务器和账户

通常您只有一个ACME服务器和一个ACME账户(在安装时配置的,如上所述)。无论如何,为了测试目的,您可能需要更多。

以下是您可以使用的新增ACME服务器的界面

Add ACME Server

ACME服务器按以下方式列出

ACME Server list

您可以添加ACME账户(无论是新账户还是之前已在ACME服务器上注册的账户)

Add ACME Account

您将有一个所有已定义账户的列表

ACME Account list

域名

为了生成HTTPS证书,您需要定义它们有效的域名,以及当ACME服务器确认您拥有它们时控制它们的方式。

目前您有两种方式来控制ACME授权过程。

第一种方式仅适用于当前运行的concrete5安装

Local domain authorization

第二种方式允许您控制远程Web服务器(它们不必运行concrete5,您只需对其Web根目录具有SSH/FTP访问权限即可)

Remote domain authorization

您还会有一个页面,其中列出了所有域名

Domain list

证书

一旦您定义了想要获取HTTPS证书的域名,您可以使用类似以下界面的方式创建新的证书

Add certificate

您可以在同一证书中包含一个或多个域名,这对于在同一服务器上托管多个域名来说非常方便。

该软件包提供了一个页面,列出了所有证书,并提供了它们的主要详细信息

Certificate list

证书操作

当HTTPS证书由ACME服务器签发后,您需要将它们保存到文件中,并通知Web服务器需要刷新其配置(以便将新的证书提供给访问您网站的访客)。

您可以在本地机器或远程机器上定义一个或多个在证书生成/续订时执行的操作

Certificate actions

证书生成、续订和操作执行

仪表板页面允许您生成证书、续订证书以及执行操作(如果有)

Certificate renewal

远程服务器

为了控制远程网站(用于ACME授权过程、保存证书文件和重新加载Web服务器配置),您可以定义一个或多个远程服务器。您对此有很好的控制权;目前支持连接到远程服务器的协议有

  • FTP(在主动或被动模式下)
  • 通过SSL的FTP(在主动或被动模式下)
  • 使用用户名和密码的SFTP
  • 使用用户名和私钥的SFTP
  • 使用SSH Agent的SFTP

(请注意,FTP协议不允许运行命令,因此您无法要求Web服务器重新加载其配置,例如)

Add Remote Server

通过命令行界面使用

有大量的CLI命令可以让您执行通过Web界面可以执行的所有操作

All CLI Commands

您可以通过输入命令名称后跟--help来获取所有允许的参数和选项的列表。

例如,要列出当前定义的证书,并获取特定证书的详细信息,您可以使用acme:certificate:list命令

Certificate List CLI Command

最重要的CLI命令(您可能需要每天运行一次 - 可能与crontab一起使用)是acme:certificate:refresh命令。此命令将续订证书,执行操作,并在出现错误时向一个或多个操作员发送电子邮件。

以下是一个示例会话

Certificate Refresh CLI Command

测试环境

您可以通过遵循这些说明来使用此ACME concrete5软件包测试本地网站。