阿里云服务器5年150元之alpine安装certimate

发布于 2025年08月31日

certimate 简介

Certimate 就是为了解决上述问题而产生的,它具有以下优势:

  • 本地部署:一键安装,只需要下载二进制文件,然后直接运行即可。同时也支持 Docker 部署、源代码部署等方式。​

  • 数据安全:由于是私有部署,所有数据均存储在自己的服务器上,不会经过第三方,确保数据的隐私和安全。​

  • 操作简单:简单配置即可轻松申请 SSL 证书并部署到指定的目标上,在证书即将过期前自动续期,从申请证书到使用证书完全自动化,无需人工操作。​

Certimate 旨在为用户提供一个安全、简便的 SSL 证书管理解决方案。

官网文档:安装 | Certimate

gitee地址:certimate 发行版 - Gitee.com

github地址:https://github.com/certimate-go/certimate

一、安装certimate

mkdir -p /opt/certimate 
cd /opt/certimate 
apk add wget 
wget https://gitee.com/certimate-go/certimate/releases/download/v0.3.26/certimate_v0.3.26_linux_amd64.zip
unzip certimate_v0.3.26_linux_amd64.zip

mv certimate_v0.3.26_linux_amd64/certimate ./
#启动certimate 这样启动只是监听在127.0.0.1:8090
./certimate serve
#这样启动可以监听在0.0.0.0:8090 即所有地址
./certimate serve --http 0.0.0.0:8090

二、配置开机自启动

你可以使用以下方法来设置开机自启动:

1. 使用 OpenRC 服务 (推荐)

这是 Alpine Linux 官方推荐和管理服务的方式。

创建自定义服务脚本

1.​1创建服务文件​:在 /etc/init.d/目录下创建一个新的服务脚本。例如,为你的服务命名为 my_service

vi /etc/init.d/certimate 

2.编写服务脚本内容​:文件内容基本结构如下:

#!/sbin/openrc-run

name="certimate"
command="/opt/certimate/certimate"
#command_args="serve --http 0.0.0.0:8090"
command_args="serve --http 127.0.0.1:8090"#监听在127.0.0.1:8090
command_background="yes" # 如果程序需要在后台运行,使用此选项
pidfile="/run/${RC_SVCNAME}.pid"
stdout_log="/var/log/certimate.log"
stderr_log="/var/log/certimate.log"

depend() {
    need net
    after sshd
}
  • name: 服务的名称。

  • command: 要执行的可执行文件或脚本的完整路径

  • command_args: 传递给命令的参数(可选)。

  • command_background: 如果需要以守护进程方式运行,设置为 "yes"(可选)。

  • depend(): 定义服务的依赖关系,例如需要网络 (need net) 和在 sshd 之后启动 (after sshd)。

3.设置执行权限​:让脚本文件可执行。

chmod +x /etc/init.d/certimate

1.4.让 OpenRC 识别新服务​:执行以下命令更新:

rc-update add certimate default

2.管理服务

#​启动服务​:
rc-service certimate start
#停止服务
rc-service certimate stop
#​重启服务​:
 rc-service certimate restart
#查看服务状态​
rc-service certimate status
#启用服务开机自启
 rc-update add certimate
#​禁用服务开机自启
rc-update del certimate

遇到的问题:故障原因分析

错误信息 command_background option used but no pidfile specified意味着:你的init脚本中设置了 command_background="yes",这告诉OpenRC该服务会以守护进程(daemon)​​ 形式在后台运行。OpenRC为了能跟踪和管理这个后台进程(例如检查它是否在运行、停止它或重启它),​必须知道该进程的进程ID(PID)保存在哪个文件中,这个文件就是PID文件(pidfile)。

你的脚本缺少了 pidfile指令来告诉OpenRC去哪里查找这个文件的路径。

🛠️ 解决方案

需要修改 /etc/init.d/certimate脚本,为后台运行的服务指定一个PID文件。

3、Linux Systemd 利用 systemd 来管理开机自启动项。

  1. /etc/systemd/system/ 目录下创建服务文件:

sudo vi /etc/systemd/system/certimate.service
  1. 编写服务配置:

[Unit]
Description=Certimate
After=network.target

[Service]
# 请将以下路径替换为你的实际安装路径
WorkingDirectory=/usr/sbin/certimate/
ExecStart=/usr/sbin/certimate/certimate serve
Restart=on-failure
User=root
PrivateTmp=true

[Install]
WantedBy=multi-user.target
  1. 启用并启动服务

# 启用服务
sudo systemctl enable certimate.service

# 启动服务
sudo systemctl start certimate.service

三、certimate的使用

浏览器访问 ip:8090 ,默认账号admin@certimate.fun 密码1234567890

1、修改默认信息

登录以后在系统设置里面修改默认账号和默认密码

2、配置通知渠道授权

授权管理-通知渠道-新建授权 ,配置邮件和钉钉通知

3、配置DNS提供商授权信息

授权管理-提供商-新建授权 ,配置阿里云DNS授权

4、配置SSH授权信息

授权管理-提供商-新建授权-远程主机SSH。即需要将证书推到哪个主机上

5、配置工作流

工作流-新建工作流-使用标准模版。工作流可以配置自动执行也可以手动执行。

最后检查证书是否更新。



评论