使用docker快速搭建sspanel面板。SSPanel UIM是基于php开发的web应用程序,是知名的开源机场面板之一,本文主要介绍使用docker快速搭建一个SSPanel UIM机场面板,使用sspanel面板可以很方便的管理大量的节点。只要你的系统中安装了docker就能安装部署,不一定必须使用官方推荐的Ubuntu系统。
准备工作:一台VPS,建议至少1GB内存,放行80,443端口,提前做好域名解析。使用namesilo注册域名修改名称服务器Nameservers教程 和 域名与cloudflare CDN加速
docker一键安装脚本:
curl -sSL https://get.docker.com/ | sh
视频演示教程:https://youtu.be/CbpTENQLpIU
① 创建一个临时容器,将需要的配置文件复制出来:
docker run --rm -v /my/public/path:/mnt -v /my/config/path:/mnt2 anqiqii/sspanel:2024.1 sh -c 'cp -r /www/ssroot/public/* /mnt/ && cp /www/ssroot/config/.config.php /mnt2 && cp /etc/php/8.3/fpm/pool.d/www.conf /mnt2'
这里用绿色标注的部分需要修改,其中 /my/public/path
修改为存放SSPanel UIM面板public的文件夹路径(自定义文件夹路径,之后配置nginx容器时会用到),/my/config/path
修改为存放配置文件的路径(自定义文件夹路径,用于存放sspanel配置文件与php-pfm的配置文件),2024.1为sspanel UIM的版本号,截止本文发布时,已经打包为镜像sspanel版本为:2024.1、2023.7
SSPanel-UIM项目地址:Anankke/SSPanel-UIM: Multi-purpose proxy service management system
② 编写 docker-compose.yml 文件,这里用到的容器有:nginx、acme.sh、sspanel、mariadb。可以直接使用本站提供的示例压缩包里面的docker-compose.yml文件。下载示例配置文件压缩包 需要修改的地方:
nginx容器:./sspanel/public 修改为存放sspanel面板public的文件夹路径
sspanel容器:./sspanel/config/ 修改为存放配置文件的路径
mariadb容器:设置一个root密码
其他说明:自行修改docker网络地址防止可能的ip冲突(没有部署其他的docker项目可以无视);mariadb中没有sspanel的数据库时,需要将sspanel容器配置的三行注释取消掉(首次安装的肯定需要取消掉)。
注:使用docker run部署请自行参考compose.yml文件构建命令
③ .config.php
(第①步时已经复制出来了)为sspanel的配置文件根据实际情况修改(其中数据库还没准备好,根据你的规划填写)
④ www.conf
文件为php-fpm的配置文件,将 listen = /path/to/unix/socket
修改为 listen = 443
(端口自定义)
⑤ 修改nginx配置文件(见本站提供的示例压缩包,根据文件中的注释进行适当修改)。其中,证书私钥的相关配置请在证书申请完成后解开注释并修改。
⑥ 在 docker-compose.yml 文件所在的位置执行:
docker compose up -d
⑦ 进入mariadb容器创建数据库,用到的命令如下:
docker exec -it mariadb sh
mariadb -u root -p
然后输入在docker-compose.yml设置的mariadb的root密码。
CREATE DATABASE sspanel CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'sspanel'@'%';
GRANT ALL PRIVILEGES ON sspanel.* TO 'sspanel'@'%' IDENTIFIED BY 'sspanel-password';
FLUSH PRIVILEGES;
最后,使用两次 exit
指令退出mariadb和mariadb容器。
⑧ 进入sspanel容器并安装sspanel:
docker exec -it sspanel sh
php xcat Migration new
php xcat Tool importSetting
php xcat Tool createAdmin
su -s /bin/bash www-data -c '/usr/bin/php xcat ClientDownload'
php-fpm8.3
现在直接访问你的域名应该就能正常打开 SSPanel UIM 的web界面了。如果出现权限错误,可以尝试修改网站目录的权限(在sspanel容器中执行)
chmod -R 755 *
chown -R www-data:www-data *
⑨ 添加一个定时任务:(参考:Linux系统使用crontab配置定时任务与日志)
*/5 * * * * docker exec sspanel php xcat Cron > /dev/null 2>&1
0 0 * * * docker exec sspanel php xcat Tool resetTodayBandwidth > /dev/null 2>&1
⑩ 申请证书并配置nginx(使用cloudflare的CDN且为灵活模式可以不用申请证书也能https访问)
docker exec acme.sh --issue -d mydomain --server letsencrypt --standalone
-d 参数后边接申请证书的域名(请提前做好域名解析)
注意:申请证书前应保证:(1)域名已经正确解析 (2)nginx配置文件中已经修改为了解析后的域名 (3)nginx监听了80端口 (4)nginx配置了acme.sh的反向代理 (5)nginx的配置已经生效。
docker restart nginx
对接xrayr后端下发节点:使用docker部署xrayr并对接sspanel机场面板教程-建站与VPS
捐赠通道,感谢!🦀🦀