Domain-Admin项目安装部署全指南
项目简介
Domain-Admin是一个基于Flask框架开发的域名管理系统,主要用于域名和SSL证书的集中管理。它提供了简洁的用户界面和丰富的功能,适合个人开发者、运维团队以及企业IT部门使用。
系统要求
在开始安装前,请确保您的环境满足以下基本要求:
- 操作系统:Linux/Windows/macOS
- Python环境:Python 2.7+ 或 Python 3.4+
- 数据库支持:SQLite(默认)/MySQL/PostgreSQL
- 内存:至少512MB
- 磁盘空间:至少100MB可用空间
安装方式详解
1. 宝塔面板安装(推荐新手)
宝塔面板提供了图形化的一键安装方式,适合不熟悉命令行操作的用户。
安装步骤:
- 确保已安装宝塔面板最新版
- 在宝塔面板中打开Docker管理界面
- 在应用商店中搜索"Domain Admin"
- 点击安装按钮,等待安装完成
- 安装完成后,可通过8000端口访问系统
优势:
- 图形化操作简单直观
- 自动处理依赖关系
- 提供可视化的容器管理
2. Docker方式安装(推荐生产环境)
Docker安装方式简单快捷,且能保证环境一致性。
基础命令:
docker run \
-v $(pwd)/database:/app/database \
-v $(pwd)/logs:/app/logs \
-p 8000:8000 \
--name domain-admin \
mouday/domain-admin:latest
参数说明:
-v:挂载数据卷,确保数据持久化-p:端口映射,将容器8000端口映射到主机--name:指定容器名称
后台运行: 添加-d参数可使容器在后台运行。
使用docker-compose:
创建docker-compose.yml文件:
version: '3.3'
services:
domain-admin:
volumes:
- './database:/app/database'
- './logs:/app/logs'
ports:
- '8000:8000'
container_name: domain-admin
image: mouday/domain-admin:latest
然后执行:
docker-compose up -d
3. 源码安装(适合开发者)
安装步骤:
- 下载最新发布包
- 解压并进入目录
- 创建Python虚拟环境
- 安装依赖
- 创建启动文件
- 运行应用
详细命令:
# 下载源码包
wget https://example.com/domain-admin-1.5.8.tar.gz
# 解压
tar -zxvf domain-admin-1.5.8.tar.gz
cd domain-admin-1.5.8
# 创建虚拟环境
python3 -m venv venv
source venv/bin/activate
# 安装依赖
pip install .
# 创建启动文件app.py
echo "from domain_admin.main import app
if __name__ == '__main__':
app.run(port=8000)" > app.py
# 启动应用
python app.py
4. 1Panel面板安装
1Panel是一个新兴的Linux服务器管理面板,安装方式与宝塔类似:
- 在1Panel应用商店中搜索Domain-Admin
- 点击安装并配置必要参数
- 等待安装完成即可使用
5. Kubernetes部署(适合大规模部署)
部署示例:
apiVersion: apps/v1
kind: Deployment
metadata:
name: domain-admin
namespace: domain-admin-production
spec:
replicas: 1
selector:
matchLabels:
app: domain-admin
template:
metadata:
labels:
app: domain-admin
spec:
containers:
- name: domain-admin
image: mouday/domain-admin:latest
ports:
- containerPort: 8000
env:
- name: DB_CONNECT_URL
value: "sqlite:///database/database.db"
6. pip安装(适合Python开发者)
Linux/macOS安装:
# 创建虚拟环境
python3 -m venv venv
source venv/bin/activate
# 安装并运行
pip install gunicorn domain-admin
gunicorn --bind '127.0.0.1:8000' 'domain_admin.main:app'
Windows安装:
py -3 -m venv venv
venv\Scripts\activate
pip install waitress domain-admin
waitress-serve --listen=127.0.0.1:8000 domain_admin.main:app
数据库配置
Domain-Admin支持多种数据库:
-
SQLite(默认,适合小型部署)
DB_CONNECT_URL=sqlite:///database/database.db -
MySQL(适合团队使用)
DB_CONNECT_URL=mysql://root:password@host:3306/database建议创建数据库时指定字符集:
CREATE DATABASE domain_db DEFAULT CHARACTER SET=utf8mb4; -
PostgreSQL
DB_CONNECT_URL=postgresql://user:password@host:5432/database需要先安装psycopg2依赖:
pip install psycopg2
配置参数详解
可以通过.env文件或环境变量配置系统参数:
# 运行模式
APP_MODE=production # 可选production/development
# 允许执行的命令白名单
ALLOW_COMMANDS=nginx -s reload;/etc/init.d/nginx restart
# 是否允许用户注册
ENABLED_REGISTER=true
配置方式:
- 直接修改
.env文件 - 通过Docker环境变量传递
- 在Kubernetes配置中设置
安全建议
-
修改默认密码
系统默认账号为admin/123456,首次登录后应立即修改密码。 -
生产环境数据库选择
生产环境建议使用MySQL或PostgreSQL,避免SQLite的锁表问题。 -
访问控制
建议配置防火墙规则,限制访问IP范围。 -
定期备份
定期备份挂载的database目录,防止数据丢失。
常见问题
-
端口冲突
如果8000端口被占用,可以修改映射端口,如-p 8080:8000。 -
数据库连接问题
确保数据库服务正常运行,且连接字符串格式正确。 -
权限问题
确保挂载目录有正确的读写权限。 -
升级注意事项
升级时保留database目录即可实现平滑升级。
总结
Domain-Admin提供了多种灵活的安装方式,从简单的Docker部署到复杂的Kubernetes集群部署,可以满足不同场景下的需求。生产环境推荐使用Docker或Kubernetes部署方式,配合MySQL数据库,确保系统的稳定性和可靠性。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



