彩虹DNS
Go to file
2025-03-13 23:42:37 +08:00
app fix 2025-03-08 09:32:17 +08:00
config version 2025-03-08 09:32:49 +08:00
public 支持又拍云部署 2025-03-07 18:04:02 +08:00
route 增加导入已有证书,支持天翼云CDN部署 2025-01-10 14:54:45 +08:00
runtime Initial 2024-04-03 20:51:10 +08:00
.example.env 修改syskey存储 2024-05-23 16:26:40 +08:00
.gitignore readme 2024-04-03 20:55:29 +08:00
composer.json 格式化代码 2024-11-09 18:29:20 +08:00
LICENSE Initial commit 2024-04-03 20:43:27 +08:00
README.md Update README.md 2025-03-13 23:42:37 +08:00
think Initial 2024-04-03 20:51:10 +08:00

聚合DNS管理系统

聚合DNS管理系统可以实现在一个网站内管理多个平台的域名解析目前已支持的域名平台有阿里云、腾讯云、华为云、百度云、西部数码、火山引擎、DNSLA、CloudFlare、Namesilo

功能特性

  • 多用户管理,可为每个用户可分配不同的域名解析权限
  • 提供API接口可获取域名单独的登录链接方便各种IDC系统对接
  • 容灾切换功能支持ping、tcp、http(s)检测协议并自动暂停/修改域名解析并支持邮件、微信公众号、TG群机器人通知
  • CF优选IP功能支持获取最新的Cloudflare优选IP并自动更新到解析记录
  • SSL证书申请与自动部署功能支持从Let's Encrypt等渠道申请SSL证书并自动部署到各种面板、云服务商、服务器等

演示截图

添加域名账户

域名管理列表

域名DNS解析管理支持解析批量操作

用户管理添加用户支持为用户开启API接口

CF优选IP功能添加优选IP任务

SSL证书申请功能

SSL证书自动部署功能

部署方法

  • Release页面下载安装包

  • 运行环境要求PHP7.4+MySQL5.6+

  • 设置网站运行目录为public

  • 设置伪静态为ThinkPHP

  • 如果是下载的Source code包还需Composer安装依赖Release页面下载的安装包不需要

    composer install --no-dev
    
  • 访问网站,会自动跳转到安装页面,根据提示安装完成

  • 访问首页登录控制面板

伪静态规则
  • Nginx
location / {
	if (!-e $request_filename){
		rewrite  ^(.*)$  /index.php?s=$1  last;   break;
	}
}
  • Apache
<IfModule mod_rewrite.c>
  Options +FollowSymlinks -Multiviews
  RewriteEngine On

  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>

Docker部署方法

首先需要安装Docker然后执行以下命令拉取镜像并启动启动后监听8081端口

docker run --name dnsmgr -dit -p 8081:80 -v /var/dnsmgr:/app/www netcccyun/dnsmgr

访问并安装好后如果容灾切换未自动启动,重启容器即可:

docker restart dnsmgr

Docker-compose部署方法

创建my.cnf数据库配置并写入一下内容:

[mysqld]
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

docker-compose.yml配置

services:
  dnsmgr:
    image: netcccyun/dnsmgr
    container_name: dnsmgr
    ports:
      - 8081:80
    volumes:
      - ./dnsmgr/web:/app/www
    depends_on:
      - dnsmgr-mysql

  dnsmgr-mysql:
    image: mysql:5.7
    restart: always
    volumes:
      - ./my.cnf:/etc/mysql/my.cnf  # 数据库配置
      - ./mysql:/var/lib/mysql      # 数据库持久化存储
    environment:
      - MYSQL_DATABASE=dnsmgr       		# 数据库名称
      - MYSQL_USER=dnsmgr           		# 数据库用户
      - MYSQL_PASSWORD=dnsmgr123456		# 数据库密码
      - MYSQL_ROOT_PASSWORD=dnsmgr123456	# 数据库root密码
      - TZ=Asia/Shanghai

启动:docker compose up -d

面板端口:8081

面板初始化界面数据库地址填写:dnsmgr-mysql

作者信息

消失的彩虹海(https://blog.cccyun.cn)

其他推荐