【开源项目】彩虹聚合DNS管理系统部署全平台高效管理多域名实操指南

玩技站长
玩技站长
管理员, Keymaster
6871
文章
1
粉丝
软件头条评论14字数 4407阅读14分41秒阅读模式

适用场景

无论你是个人站长、企业站长,还是管理多客户域名的 IDC 从业者,彩虹聚合 DNS 管理系统都能针对性解决域名管理痛点,其核心价值体现在以下 4 个方面:(项目地址:>>>

域名整合

目前系统已支持阿里云、腾讯云、华为云、百度云、西部数码、火山引擎、DNSLA、CloudFlare、NameSilo、PowerDNS十大主流域名平台,无论你的域名分散在 2 个还是 10 个平台,都能在一个后台统一管理。后续还在更新增加。
举例:若你在阿里云有企业官网域名、腾讯云有电商网站域名、CloudFlare 有海外博客域名,以往需分别登录 3 个平台查看解析状态,现在只需打开彩虹聚合 DNS 后台,所有域名的解析记录、到期时间、运行状态一目了然,操作效率提升 300%。

【开源项目】彩虹聚合DNS管理系统部署全平台高效管理多域名实操指南-图片1

容灾切换

域名解析故障是站长常见的 “隐形风险”—— 即使服务器正常,若解析指向错误或 DNS 服务器宕机,网站仍会无法访问。系统支持ping、tcp、http (s) 三种检测协议,可实时监测域名解析有效性:
  • 当检测到异常(如解析指向的 IP 无法访问、http 状态码异常),系统会自动暂停错误解析或切换到备用解析记录;
  • 同时通过邮件、微信公众号实时推送通知,让你第一时间知晓问题,最大限度减少因解析故障导致的流量损失和用户流失。

【开源项目】彩虹聚合DNS管理系统部署全平台高效管理多域名实操指南-图片2

CF优选IP

对于使用 CloudFlare CDN 的站长,默认 IP 可能因地域、运营商差异导致部分用户访问卡顿。系统的CF 优选 IP 功能可自动抓取并更新全球最优的 CloudFlare 节点 IP,结合 “电信 / 联通 / 移动 / 默认” 多线路解析配置:
  • 国内用户可通过对应运营商线路访问最优节点,海外用户可匹配就近 CDN 节点,网站加载速度平均提升 20%-50%,既优化用户体验,也间接助力 SEO 排名。

【开源项目】彩虹聚合DNS管理系统部署全平台高效管理多域名实操指南-图片3

API 对接

  • 多用户权限分配:若你是团队管理站长,可给技术人员分配 “解析修改权限”、给运营人员分配 “状态查看权限”、给客户分配 “专属域名管理权限”,避免误操作风险;
  • API 接口支持:支持与 IDC 系统、网站管理面板(如宝塔、WHMCS)对接,可自动生成域名单独登录链接,实现 “用户自主管理域名”“解析状态自动同步” 等自动化场景,尤其适合 IDC 服务商或多客户管理场景。

SSL 证书

SSL 证书管理是本次升级的核心,以下为针对所有站长的详细实操步骤,以 “Let's Encrypt 免费证书 + 宝塔面板自动部署” 为例:

添加账户

【开源项目】彩虹聚合DNS管理系统部署全平台高效管理多域名实操指南-图片4

  1. 登录系统后台,左侧 “功能导航” 点击 “SSL 证书”→“SSL 证书账户”→“+ 添加”;
  2. 选择账户类型:根据需求选择(如 “Let's Encrypt”);
  3. 填写关键信息
    • 邮箱地址:用于接收证书到期通知(需真实有效);
    • 环境选择:正式环境(生产用)、测试环境(调试用);
    • 代理服务器:若服务器无法直接访问外网,可开启并填写代理信息;
  4. 点击 “保存”,若状态显示 “正常”,说明账户对接成功。

申请证书

  1. 点击 “SSL 证书订单”→“+ 添加”;
  2. 选择证书账户:选择上一步添加的 Let's Encrypt 账户;
  3. 绑定域名:输入需申请证书的域名(如www.abc.com,支持泛域名*.abc.com,需确保域名已在系统中添加并完成解析);
  4. 选择验证方式:系统支持 “DNS 验证”(自动添加解析记录,推荐)、“HTTP 验证”(需服务器开放 80 端口);
  5. 配置证书参数:选择签名算法(RSA 2048/4096、ECC 256/384,ECC 性能更优)、是否开启 “自动续签”;
  6. 点击 “提交”,系统会自动完成验证并申请证书,约 1-3 分钟后状态显示 “已签发”,表示申请成功。

部署账户

【开源项目】彩虹聚合DNS管理系统部署全平台高效管理多域名实操指南-图片5

  1. 点击 “自动部署账户”→“+ 添加”;
  2. 选择账户类型:根据你的服务器 / 面板类型选择(如 “宝塔面板”);
  3. 填写部署信息
    • 面板地址:宝塔面板访问地址(如http://123.45.67.89:8888);
    • 接口密钥:从宝塔面板 “设置 - API 接口” 中获取,需开启 API 权限;
    • 备注:如 “主站宝塔面板”,方便区分;
  4. 点击 “保存”,系统会自动测试连接,连接成功则状态显示 “正常”。

自动任务

【开源项目】彩虹聚合DNS管理系统部署全平台高效管理多域名实操指南-图片6

  1. 点击 “自动部署任务”→“+ 添加”;
  2. 选择证书订单:选择已签发的 SSL 证书(如www.abc.com的 Let's Encrypt 证书);
  3. 选择部署账户:选择上一步添加的宝塔面板账户;
  4. 配置部署参数
    • 部署目标:选择需部署证书的网站(从宝塔面板同步,需提前在宝塔添加对应域名);
    • 部署选项:勾选 “部署后重启 Web 服务”(确保证书生效);
  5. 点击 “提交”,系统会自动执行部署任务,约 10-30 秒后 “任务状态” 显示 “成功”,表示证书已部署到宝塔面板;
  6. 验证:访问域名,查看浏览器地址栏是否显示 “小绿锁”,或通过 “SSL Labs” 检测证书是否生效。

证书管理

【开源项目】彩虹聚合DNS管理系统部署全平台高效管理多域名实操指南-图片7

  • 查看证书信息:在 “SSL 证书订单” 列表中,可查看证书 “剩余天数”“签名算法”,到期前系统会自动续签;
  • 手动续签 / 下载:若需提前续签,点击 “续签”;若需手动使用证书,点击 “下载” 获取 PEM 格式的证书文件与私钥。

部署准备

无论选择常规部署还是 Docker 部署,需先确保环境满足要求,并准备好必要工具,避免部署中途 “卡壳”。

环境要求

类别具体要求说明
服务器系统Linux(CentOS/Ubuntu/Debian)、Windows Server推荐 Linux 系统,稳定性更强,兼容性更好
运行环境PHP 7.4 及以上、MySQL 5.6 及以上可通过 “php -v”“mysql -V” 命令在终端查看版本
服务器配置至少 1 核 2G 内存,5GB 以上硬盘空间若管理域名数量超过 50 个,建议 2 核 4G 内存
网络要求公网 IP,开放 80(HTTP)、443(HTTPS,可选)端口确保外部能访问管理后台,解析通信正常

工具账号

  • 文件传输工具:FileZilla(免费)、WinSCP,用于上传安装包到服务器;
  • 服务器操作工具:PuTTY(Windows)、终端(Linux/Mac)、Xshell(付费,功能更全),用于执行命令;
  • 域名平台账号:需提前获取各平台的 “AccessKey ID” 和 “AccessKey Secret”(从平台 “访问控制” 页面生成,需勾选 “域名解析管理” 权限);
  • Composer(可选):仅下载 “Source code 包” 时需安装,用于安装 PHP 依赖;若下载 Release 页面的 “已打包安装包”,无需准备。

部署方式

根据自身技术基础,选择最适合的部署方式 —— 常规部署适合有服务器操作经验的站长,Docker 部署适合追求 “快速上手、免环境配置” 的站长。

常规部署(详细步骤,适合有基础的站长)

下载安装包

  1. 访问彩虹聚合 DNS 管理系统的 Release 页面(可通过官方渠道获取链接);
  2. 选择安装包类型:
    • 推荐新手下载 “已打包安装包”(文件名通常含 “release”,无需 Composer 安装依赖);
    • 技术型站长若需自定义代码,可下载 “Source code(zip/tar.gz)”。

上传并解压安装包

  1. 通过 FileZilla 连接服务器,将安装包上传到网站根目录(如 Linux 的 “/var/www/html/”、Windows 的 “C:\inetpub\wwwroot\”);
  2. 解压安装包:
    • Linux 系统:登录终端,进入根目录,执行unzip 安装包文件名.zip(若提示 “unzip: command not found”,先执行yum install unzipapt-get install unzip安装工具);
    • Windows 系统:直接右键解压,或通过远程桌面操作。

运行目录与伪静态

这一步是系统正常访问的核心,若配置错误,会出现 “404 页面” 或 “后台无法打开” 问题。
  • 设置运行目录
    系统基于 ThinkPHP 框架开发,必须将网站运行目录指定为解压后文件夹中的 “public” 目录。
    以宝塔面板为例:进入 “网站”→“管理”→“网站目录”,将 “运行目录” 选择为 “public”,勾选 “防跨站攻击(open_basedir)”,点击保存。
  • 配置伪静态规则
    根据服务器类型(Nginx/Apache)添加对应规则,确保 URL 重写正常。
    • Nginx 服务器
      进入服务器的 Nginx 配置文件(通常在 “/etc/nginx/conf.d/ 网站域名.conf”),在 “server {}” 节点内添加:

      location / {
          if (!-e $request_filename){
              rewrite  ^(.*)$  /index.php?s=$1  last;   break;
          }
      }
    • 添加后执行nginx -t检查配置是否正确,无错误则执行systemctl restart nginx重启 Nginx。
    • Apache 服务器
      在网站根目录(public 的上级目录)找到 “.htaccess” 文件(若没有则新建),添加:

      <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>

      保存后执行systemctl restart httpd(Linux)或在 “服务” 中重启 Apache(Windows)。

安装依赖(仅 Source code 包需执行)

若下载的是源码包,需通过 Composer 安装依赖:
  1. 安装 Composer:执行curl -sS https://getcomposer.org/installer | php,再执行mv composer.phar /usr/local/bin/composer实现全局调用;
  2. 进入系统根目录(非 public 目录),执行composer install --no-dev,等待依赖安装完成(需确保服务器网络通畅,过程约 1-5 分钟)。

完成系统安装

  1. 在浏览器中输入服务器 IP 或已绑定的域名(如 “http://192.168.1.100”),系统会自动跳转到安装页面;
  2. 环境检测:页面会自动检测 PHP 版本、MySQL 连接、文件夹权限,若有 “红色警告”(如文件夹无写入权限),按提示修改(Linux 执行chmod -R 755 系统目录赋予权限);
  3. 数据库配置:输入 MySQL 的 “主机地址”(默认localhost)、“数据库名”(需提前在 MySQL 中创建)、“用户名”“密码”,点击 “下一步”;
  4. 管理员设置:填写 “管理员用户名”“密码”(建议包含大小写字母 + 数字 + 符号,提高安全性),点击 “安装”;
  5. 安装完成后,点击 “进入后台”,输入账号密码即可登录。

方式二:Docker 部署(3 步完成,适合新手站长)

Docker 部署无需手动配置 PHP、MySQL 环境,通过容器化方式快速启动,尤其适合不想折腾环境的站长。

安装 Docker

  • Linux 系统(以 CentOS 为例)
    1. 卸载旧版本(若有):yum remove docker docker-client docker-common docker-latest
    2. 安装依赖:yum install -y yum-utils device-mapper-persistent-data lvm2
    3. 添加 Docker 仓库:yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    4. 安装并启动:yum install docker-ce -y → systemctl start docker → systemctl enable docker(设置开机自启);
  • Windows/Mac 系统
    下载 Docker Desktop(官网:https://www.docker.com/products/docker-desktop/),按向导安装,启动后在终端执行docker --version,显示版本即安装成功。

拉取镜像并启动容器

在终端执行以下命令,拉取系统镜像并启动容器(默认监听 8081 端口,可自定义修改):
docker run --name dnsmgr -dit -p 8081:80 -v /var/dnsmgr:/app/www netcccyun/dnsmgr
  • 命令说明:
    • --name dnsmgr:给容器命名为 “dnsmgr”,方便后续管理;
    • -p 8081:80:将服务器 8081 端口映射到容器 80 端口(若 8081 被占用,可改为 “8082:80” 等未占用端口);
    • -v /var/dnsmgr:/app/www:将服务器 “/var/dnsmgr” 目录挂载到容器,实现数据持久化(避免容器删除后配置丢失)。

完成安装与容器重启

  1. 在浏览器输入 “服务器 IP:8081”(如 “http://123.45.67.89:8081”),按常规部署的 “系统安装” 步骤完成数据库配置和管理员设置;
  2. 若安装后 “容灾切换” 功能未自动启动,执行docker restart dnsmgr重启容器即可。

配置文件方式

/docker/dnsmgr目录下创建docker-compose.yml,内容如下:

version: '3'
services:
  dnsmgr-web:
    container_name: dnsmgr-web
    stdin_open: true
    tty: true
    ports:
      - 8081:80  # 服务器端口:容器端口,可自定义
    volumes:
      - ./web:/app/www  # 数据持久化目录
    image: netcccyun/dnsmgr
    depends_on:
      - dnsmgr-mysql  # 依赖MySQL服务
    networks:
      - dnsmgr-network

  dnsmgr-mysql:
    container_name: dnsmgr-mysql
    restart: always  # 自动重启
    ports:
      - 3306:3306  # MySQL端口
    volumes:
      - ./mysql/conf/my.cnf:/etc/mysql/my.cnf  # 配置文件挂载
      - ./mysql/logs:/logs  # 日志挂载
      - ./mysql/data:/var/lib/mysql  # 数据挂载
    environment:
      - MYSQL_ROOT_PASSWORD=123456  # MySQL root密码,建议修改
      - TZ=Asia/Shanghai  # 时区设置
    image: mysql:5.7  # MySQL版本
    networks:
      - dnsmgr-network

networks:
  dnsmgr-network:
    driver: bridge

配置 MySQL

/docker/dnsmgr/mysql/conf目录下创建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
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci

启动与初始化

  1. 进入/docker/dnsmgr目录,执行docker-compose up -d启动服务;
  2. 进入 MySQL 容器创建数据库:
    docker exec -it dnsmgr-mysql /bin/bash
    mysql -uroot -p123456  # 输入配置的密码
    create database dnsmgr;  # 创建数据库,名称与后续安装一致
    exit
  3. 浏览器访问服务器IP:8081,数据库 “主机地址” 填写dnsmgr-mysql(容器名),完成安装。

核心实操

部署完成后,需掌握 4 大核心功能的使用,才能真正发挥系统价值,以下为针对所有站长的实操步骤:

 第一步:添加域名账户,对接多平台

  1. 登录后台,左侧 “功能导航” 点击 “域名账户”→“+ 添加”;
  2. 选择 “所属平台”(如阿里云),填写该平台的 “AccessKey ID” 和 “AccessKey Secret”(从平台 “访问控制 - API 密钥管理” 中获取,需确保权限包含 “域名解析”);
  3. 填写 “备注”(如 “企业官网账户”),方便区分,点击 “保存”;
  4. 保存后,若 “状态” 显示 “正常”,说明对接成功;若显示 “异常”,需核对 AccessKey 是否正确、服务器是否能访问平台 API(可通过 “ping api.aliyun.com” 测试连通性)。

第二步:添加域名,统一管理解析

  1. 左侧点击 “域名管理”→“+ 添加”;
  2. 选择 “平台账户”(即上一步添加的账户),输入域名(如 “www.abc.com”),点击 “保存”;
  3. 添加后,在 “域名管理列表” 中可查看域名的 “记录数”(解析记录数量)、“对接开关”(是否启用系统管理);
  4. 若需隐藏域名(仅管理员可见),点击 “配置”→勾选 “是否隐藏”→“保存”。

第三步:解析管理,批量操作与容灾配置

无论是添加 A 记录、CNAME 记录,还是设置容灾,都可在这一步完成:
  • 添加 / 修改解析
    1. “域名管理列表” 找到目标域名,点击 “解析” 进入解析页面;
    2. 点击 “+ 添加记录”:
      • 主机记录:填 “www”(对应 www 域名)、“@”(对应主域名)、“*”(泛域名);
      • 记录类型:A 记录(指向 IP)、CNAME(指向域名,如 CDN 地址)、MX(邮件解析)等;
      • 线路类型:默认(所有用户)、电信 / 联通 / 移动(分运营商);
      • 记录值:A 记录填服务器 IP,CNAME 填目标域名(如 “xxx.cdn.com”);
      • TTL:建议设为 300-900 秒(解析生效更快);
    3. 点击 “保存”,解析记录实时同步到对应平台。
  • 批量操作
    勾选多个解析记录,点击 “批量操作” 可实现 “批量启用 / 禁用”“批量删除”,适合批量更换解析目标(如服务器迁移时)。
  • 容灾配置(关键)
    1. 域名解析页面点击 “配置”→“容灾切换”→“开启”;
    2. 选择 “检测协议”:推荐 “http (s)”(直接检测网站是否可访问),填写 “检测地址”(如 “https://www.abc.com”);
    3. 设置 “检测间隔”(如 60 秒)、“失败阈值”(如 3 次,连续 3 次检测失败触发容灾);
    4. 选择 “容灾动作”:
      • 自动暂停解析:适合临时故障,避免用户访问错误地址;
      • 自动修改解析:填写备用记录值(如备用服务器 IP),故障时自动切换;
    5. 勾选 “通知方式”(邮件 / 微信公众号),点击 “保存”,容灾功能生效。

第四步:CF 优选 IP,优化访问速度

若使用 CloudFlare,通过该功能提升全球访问速度:
  1. 左侧点击 “CF 优选 IP”→“+ 添加优选 IP 任务”;
  2. 选择 “CDN 服务商” 为 “CloudFlare”,“域名选择” 为目标域名;
  3. 配置参数:
    • 解析 IP 类型:IPv4(A 记录)或 IPv6(AAAA 记录,根据服务器支持选择);
    • 解析线路类型:如 “电信 / 联通 / 移动”(分运营商优化);
    • 每线路解析数量:建议 2-3 个(避免单点故障);
    • TTL:设为 600 秒;
  4. 点击 “提交”,系统会自动抓取最新优选 IP 并更新解析记录;
  5. 在 “任务管理” 中可查看任务状态,若需停止任务,点击 “停止” 即可。

第五步:用户管理,分配权限给团队

  1. 左侧点击 “用户管理”→“+ 添加用户”;
  2. 填写 “用户名”“密码”,选择 “用户等级”:
    • 普通用户:仅管理指定域名,需在 “域名权限” 中勾选可管理的域名;
    • 管理员:拥有全部权限,适合团队负责人;
  3. 若需给用户开启 API 接口(用于对接 IDC 系统),勾选 “开启 API 接口”,系统会自动生成 “API 密钥”;
  4. 点击 “保存”,用户可使用账号登录,按权限管理域名。

常见问题

在使用过程中,可能遇到以下问题,按解决方案操作即可快速解决:

1. 问题:添加域名账户提示 “对接失败”

  • 原因:AccessKey 错误、权限不足、服务器无法访问平台 API;
  • 解决
    1. 核对 AccessKey 是否正确(注意区分 “AccessKey ID” 和 “AccessKey Secret”);
    2. 检查 AccessKey 权限:进入平台 “访问控制 - 权限管理”,确保已添加 “AliyunDNSFullAccess”(阿里云)、“QcloudDNSFullAccess”(腾讯云)等域名解析权限;
    3. 测试服务器与平台 API 的连通性:执行 “ping api.aliyun.com”(阿里云)、“ping dnspod

 
匿名

发表评论

匿名网友
确定

拖动滑块以完成验证