使用docker快速搭建 SSPanel UIM 机场面板


分类:建站与VPS       作者:Caq98i       发布时间:2024-04-17       更新时间:2024-05-05 阅读量:82    


使用docker快速搭建sspanel面板。SSPanel UIM是基于php开发的web应用程序,是知名的开源机场面板之一,本文主要介绍使用docker快速搭建一个SSPanel UIM机场面板,使用sspanel面板可以很方便的管理大量的节点。只要你的系统中安装了docker就能安装部署,不一定必须使用官方推荐的Ubuntu系统。



准备工作:一台VPS,建议至少1GB内存,放行80,443端口,提前做好域名解析。使用namesilo注册域名修改名称服务器Nameservers教程域名与cloudflare CDN加速

2024年最新便宜国际VPS促销汇总

专线机场

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容器创建数据库,用到的命令如下:

  • 进入mariadb容器:

docker exec -it mariadb sh

  • 登录mariadb服务:

mariadb -u root -p

然后输入在docker-compose.yml设置的mariadb的root密码。

  • 创建数据库(下面的示例为:创建一个名为sspanel的数据库,使用的编码为 utf8mb4_unicode_ci ):

CREATE DATABASE sspanel CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

  • 创建一个数据库用户并为它设置密码、添加读写刚刚创建的数据库的权限:(下面的示例中,新建的数据库用户名也为sspanel)

CREATE USER 'sspanel'@'%';
GRANT ALL PRIVILEGES ON sspanel.* TO 'sspanel'@'%' IDENTIFIED BY 'sspanel-password';
FLUSH PRIVILEGES;

最后,使用两次 exit 指令退出mariadb和mariadb容器。

 

⑧ 进入sspanel容器并安装sspanel:

  • 进入sspanel容器:

docker exec -it sspanel sh

  • 安装sspanel(其实就是向数据库写入初始数据,所以得mariadb运行正常,sspanel的配置文件无误):

php xcat Migration new
php xcat Tool importSetting
php xcat Tool createAdmin

  • 如果你想让你的sspanel站点提供客户端下载,可以执行这个命令:

su -s /bin/bash www-data -c '/usr/bin/php xcat ClientDownload'

  • 启动php-fpm:

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

 

⑩ 申请证书并配置nginx(使用cloudflare的CDN且为灵活模式可以不用申请证书也能https访问)

  • 回到宿主机,使用 acme.sh 申请证书:

docker exec acme.sh --issue -d mydomain --server letsencrypt --standalone

-d 参数后边接申请证书的域名(请提前做好域名解析)

注意:申请证书前应保证:(1)域名已经正确解析 (2)nginx配置文件中已经修改为了解析后的域名 (3)nginx监听了80端口 (4)nginx配置了acme.sh的反向代理 (5)nginx的配置已经生效。

  • 修改nginx的配置文件,配置正确的证书路径,然后重启nginx容器:

docker restart nginx

 

对接xrayr后端下发节点:使用docker部署xrayr并对接sspanel机场面板教程-建站与VPS


捐赠通道,感谢!🦀🦀


          support a 🍕


留言与评论







限时特惠促销