修改时区
apk add tzdata
# 复制上海时区文件
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
(可选)设置时区名称
echo "Asia/Shanghai" > /etc/timezone
验证时区更改
date -R
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
来管理开机自启动项。
在
/etc/systemd/system/
目录下创建服务文件:
sudo vi /etc/systemd/system/certimate.service
编写服务配置:
[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
启用并启动服务
# 启用服务
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、配置工作流
工作流-新建工作流-使用标准模版。工作流可以配置自动执行也可以手动执行。
最后检查证书是否更新。