Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

一个用php写的监控域名https证书有效期的管理系统,自动检测、自动发送提醒,支持curl和命令行

License

Notifications You must be signed in to change notification settings

brisk21/https_manager

Repository files navigation

这是一个基于thinkphp5开发的一个监听域名https证书有效期的系统,可以自动发送邮件提醒管理员。

支持mysql和sqlite3数据库(v1.0)

核心功能就两个:查询域名https信息、发送邮件提醒

页面展示

域名 邮件记录 通知栏 邮件内容

安装

1、使用composer安装

composer install

2、配置域名(下面以monitor.test.top为例)

server {
 listen 80;
 server_name abc.manager.top;
 root "/https-manager/public"; 
 location ~ \.php(.*)$ {
 fastcgi_pass 127.0.0.1:9000;
 fastcgi_index index.php;
 fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
 fastcgi_param PATH_INFO $fastcgi_path_info;
 fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
 include fastcgi_params;
 }
}

3、Nginx伪静态

location / {
 if (!-e $request_filename) {
 	rewrite ^(.*)$ /index.php?s=/1ドル last;
 }
}

数据库配置,支持mysql和sqlite3

1sqlite版本(v1.0以下):复制sqlite数据库文件(如果是sqlite版本,即v1.0)

(1)自动复制 - composer install 命令执行完成后,自动复制数据库文件

(2)如果发生未知错误,可以进行手动复制 - 可以直接执行 php think copy_db_file 快速进行复制

- 复制install/struct.db到data/db/manager.db 数据库基础文件
(main.sql是结构文件,struct.db是数据库文件可以直接用)

(3)然后修改config/database.php填写type和dsn信息

2采用mysql(v1.1以后):install/https_manager_msyql.sql是mysql版本的数据库,导入到自己新建的数据库,然后修改config/database.php填写信息或者用下面的env配置亦可。

支持.env配置环境变量示例如下:

[app]
app_debug = true
app_trace = false
[database]
TYPE = mysql
hostname = 127.0.0.1
database = https_manager
username = root
password = root
hostport = 3306
prefix = bs_https_
debug = true

具体检测

方式一:workerman定时器

具体命令:

# 守护进程方式启动,每15秒执行一次定时器,定时检查域名,以及发送提醒邮件
php think timer start --d --i 15
# 停止
php think timer stop
# 重启
php think timer restart --d --i 15

注:如果修改了代码,请务必重启定时器

方式二:curl请求或linux定时任务

一、检测域名有效期

定时任务api接口地址(如果域名数量小于30建议每天一次)
  • curl模式获取域名证书状态
http://abc.manager.top/task/check_domain
  • php命令行模式(linux添加crontab,每5分钟执行一次)
*/5 * * * * php think check_domain

二、发送邮件通知

定时任务api接口地址(视任务多少,建议间隔大于5分钟)
  • curl模式发送(宝塔模式)
http://abc.manager.top/task/send_email
  • php命令行模式(linux添加crontab,每5分钟执行一次)
*/5 * * * * php think send_email

三、后台管理

浏览器中访问admin进入管理后台

http://abc.manager.top/admin

四、其它说明

  • config/admin.php 管理员的登录账号信息
  • config/menus.php 后台管理菜单
  • config/notice.php 配置距离多少天过期可以发送邮件,以及是否立即发送提醒邮件(默认开启)
  • data/db/manager.db 以及sqlite数据库文件(不添加到版本控制,仅支持v1.0以下版本)
  • 确保runtime、data目录可写
  • install/https_manager_msyql.sql 此乃mysql结构文件
  • install/struct.db 此乃sqlite版基础数据库,仅支持v1.0以下

About

一个用php写的监控域名https证书有效期的管理系统,自动检测、自动发送提醒,支持curl和命令行

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

AltStyle によって変換されたページ (->オリジナル) /