宝塔面板部署雷池社区版教程
简单介绍一下宝塔面板,安全高效的服务器运维面板,使用宝塔面板的人非常多
在网站管理上,许多用户都是通过宝塔面板进行管理,宝塔面板的Nginx默认监听端口为80和443,这就导致共存部署时雷池WAF默认无法监听80和443端口,那怎么办呢?
- 调整宝塔网站原来的监听80和443,改成任意其他端口(自定义的)
- 在雷池配置站点的时候使用80和443,配置完成后,测试访问的站点,确认是否配置生效(注意CDN缓存刷新)
本文将一一给出参考方案
宝塔调端口时需要修改地方较多,参考看文档上下文进行排查,且作者并不推荐宝塔和雷池共用服务器
准备宝塔面板的测试站点
-
默认宝塔的面板机器自带了LNMP的架构
-
创建一个站点用于测试
-
测试网站已有宝塔面板搭建完成
面板搭建的网站已经占用了机器的80端口,并且开启了80的监听
-
可以使用 ss -antp|grep LISTEN|grep 80 确认宝塔是否有对80监听
看到有一个监听的 -
如果宝塔的站点开启了强制https
面板这时会监听80和443,但是会把80端口的访问重定向为443端口走https的协议
安装雷池
-
直接使用雷池的安装命令
-
宝塔面板安装出现报错处理
看报错内容是启动容器失败了
猜测可能是安装脚本不兼容,宝塔默认安装的是docker-compose ,脚本执行出错 -
手动启动雷池
在雷池的安装目录下(/date/safeline)使用docker-compose up -d启动一下
如果安装的是docker compose 使用docker compose up -d
启动雷池成功了,因为之前安装脚本执行报错了,没有初始化账户密码,需要手动执行重置一下命令
把雷池的重置密码命令输入,可以看到新的账号密码
-
使用账号密码登录雷池
配置站点
-
已面板搭建源站监听的是80和443,其他都是默认配置
如果需要在用户无感知的情况下套上雷池,需要修改源站点端口,再配置雷池的站点监听80、443 -
查看当前端口占用情况, 可以看到宝塔面板还是默认占用80端口
-
修改 Nginx配置
在“网站”中单击“Nginx1.X.X”打开Nginx管理窗口切换到“配置修改”,下滑配置文件内容到底部,找到include指令,找到Nginx引入的配置文件路径,例 如/www/server/panel/vhost/nginx/
在文件进入/www/server/panel/vhost/nginx/,分别编辑0.default.conf和phpfpm_status.conf文件,将默认监听端口修改为其他非占用端口,比如10080,最后保存退出
-
修改完成后重载一下
-
再次使用命令查看80端口的监听情况
发现宝塔的nginx就没有再占用80端口了 -
配置站点
把80端口腾出来以后就可以给雷池设置站点了
配置成上面修改的10443作为上游服务器(10443也是需要改配置文件的,一般默认都是443,和改80的文件在一个地方,可以自己查找修改)配置完成后测试一下使用https访问,浏览器会默认走443端口
-
配置完成,使用一个攻击的请求测试一下
出现如下图,雷池的站点就配置完成了
FAQ
宝塔面板服务器安装雷池失败
检查失败报错原因
- 如果docker安装失败或者下载雷池容器失败,检查服务器网络,可能需要重新配置镜像源
- 如果是启动docker失败,参考上文,在安装目录下
使用docker compose up -d 或者docker-compose up -d 拉起
手动拉起,如果还是不行,尝试离线安装 - 如果报错ssse3指令集的问题,尝试百度解决,或者跟换机器
配置雷池站点时报错了,删除站点也报错(宝塔对端口一直有占用)
报错信息类似于下图
事实上是配置错误导致tengine挂了,一直重启
触发的原因是宝塔会监听某一个端口,比如443 ,但是雷池也配置了监听443的站点,这时候雷池重启,导致端口被宝塔抢占,雷池无法正常监听,这时候tengine会一直挂,无法编辑和删除站点
解决方案1:
查看tengine的日志,找到与tengine冲突的站点端口,把外部的占用处理,这个时候,外部没有占用雷池站点的端口,雷池的tengine会自动恢复正常,可以编辑和删除
解决方案2 :
使用雷池帮助文档的紧急恢复 tengine命令
执行时间根据网站数量和配置情况而定, 请耐心等待
cd /data/safeline && bash reset_tengine.sh
Copy
执行后tengine会先恢复,可以直接删除站点,删除后重新配置站点
宝塔面板配置站点10080端口后无法访问
浏览器报错信息:ERR_UNSAFE_PORT
是因为这个端口是高危端口,这里手动修改站点配置换一个端口。比如20080即可
修改后访问20080就正常了
这时候 需要配置雷池站点的时候上游服务器就是
可以这样配置