OpenPanel:下一代主机控制面板,支持多租户/容器化/隔离的运行环境/安全增强/资源限制

20240306073417366-WX20240306-073332@2x

最近新出了一款主机控制面板,官网称之为 Next Generation Hosting Panel ,可以为用户提供类似 VPS 的体验,全包式功能(如资源限制)和增强的安全性无缝集成。功能相比其他主机面板来说是非常齐全的了,比如远程备份、WordPress 管理、资源限制等功能。

多租户是核心基础功能,OpenPanel使用了Docker容器化技术,为每个使用OpenPanel的用户单独提供了专用独立的运行环境,前端通过nginx暴露80、443端口服务,租户可以自己安装服务、定义软件配置等,因此无论是运行php、nodejs、python这类解释型语言,还是运行二进制编译的程序,都可以单独运行在容器内。整体架构如下图所示:

20240306073107377-openpanel_scheme-fe8b36691ffb10a189f7667f841c210e

OpenPanel按权限分为两个层级:OpenAdmin和OpenPanel,OpenAdmin是管理员级别专用的控制界面,可以进行创建和管理用户、设置托管计划、配置备份和编辑 OpenPanel 设置等任务,OpenCLI也是管理员专用的。而OpenPanel是租户使用的控制界面,用户可以访问所有可用工具,获取使用信息和通知等。

OpenPanel的安装

OpenPanel的安装非常简单,现在的控制面板安装都只需要运行一条命令即可,OpenPanel不外如是。但是在安装之前,建议你检查一下服务器资源是否满足需求。

系统要求

操作系统及版本 处理器 内存 磁盘存储 系统架构
Ubuntu 22.04 及以上版本 最低: 1.1 GHz
建议: 2 GHz
最小:1 GB
建议:4 GB
最小:12 GB
建议:20 GB
64位

对于磁盘存储的建议,OpenPanel会将所有租户的数据存储在/home,所有的docker数据存储在/var,因此如果你对磁盘分区有什么想法,请务必对这两个路径的挂载预留足够的容量。

开始安装

大多数情况下是不考虑最小化安装的,docker跑在1GB内存里,就别想跑什么业务了。需要在干净的系统里安装,53、80、443、2083端口不能有占用的情况。确认无误之后执行以下命令:

bash <(curl -sSL https://get.openpanel.co/)
如果你的网络缓慢,安装过程可能会非常长,因此建议你在安装之前,使用screen这个实用工具,维持住终端窗口的运行,防止中断
20240306082641591-WX20240306-082618@2x

安装命令支持一些可选参数,可以通过以下表格对照:

Flag What it does
--with_modsec 使用 ModSecurity 模块重建 Nginx,并设置 OWASP 核心规则集。
--debug 在屏幕上显示每个安装步骤并输出调试信息。
--skip-requirements 请勿检查服务器是否满足运行 OpenPanel 的最低建议要求。
--skip-panel-check 请勿检查是否安装了其他托管面板或网络服务器并进行覆盖。
--repair 请勿检查 OpenPanel 安装是否已在运行或之前已失败并覆盖配置。
--skip-firewall 请勿安装UFW,跳过设置自定义防火墙规则。
--skip-images 跳过构建 Nginx 和 Apache 的 Docker 镜像
--skip-ssl 不要检查服务器主机名是否指向 IP 并将其设置为 OpenPanel 使用;而是使用服务器 IP。
--skip-plans 跳过创建默认的 Nginx 和 Apache 托管计划

例子:在debug模式下安装OpenPanel

bash <(curl -sSL https://get.openpanel.co/) --debug

经过一段时间的等待,OpenPanel安装完成,此时终端会打印出登录信息:

# bash <(curl -sSL https://get.openpanel.co/)
--------------------------------------------------------------------------------
   ____                         _____                      _
  / __ \                       |  __ \                    | |
 | |  | | _ __    ___  _ __    | |__) | __ _  _ __    ___ | |
 | |  | || '_ \  / _ \| '_ \   |  ___/ / _" || '_ \ / _  \| |
 | |__| || |_) ||  __/| | | |  | |    | (_| || | | ||  __/| |
  \____/ | .__/  \___||_| |_|  |_|     \__,_||_| |_| \___||_|
         | |
         |_|
No currently installed hosting control panels found. Proceeding with the installation process.
OpenPanel installation started at: Wed Mar  6 12:25:49 AM UTC 2024
Updating package manager..
Installing required services..
Installing apt-package certificates..
Updating certificates..
Installing services..
Setting up the firewall..
Setting up User panel..
Installing PIP requirements for User panel..
Setting the API service for website screenshots..
Setting up Admin panel..
Installing PIP requirements for Admin panel..
Creating Admin user..
Setting OpenPanel CLI scripts..
opencli commands are now available.
Creating directories for logs..
AdminPanel has been successfully installed.
Setting Nginx configuration..
Tweaking MySQL configuration..
Populating the 'panel' database..
Database is ready.
Docker is configured.
Cleaning up..
Starting services..
Downloading docker images..
openpanel docker images are downloading in background.
Checking if SSL can be generated for the server hostname..
Creating hosting plans..
🎉🎉🎉 OpenPanel installation complete. 🎉🎉🎉

● AdminPanel is running and is available on: http://5.78.78.78:2087/

Username: admin
Password: HvLdMC7NxSvGY9sc

--------------------------------------------------------------------------------

至此,OpenPanel的安装就已经完成了

开始使用OpenPanel

安装完成之后是只有管理员账户的,是最高管理权,一般不做日常使用,因此需要创建新的租户作为日常使用,或提供给朋友使用。

使用OpenAdmin创建租户

OpenAdmin的控制面板监听端口是2087,注意区分。登录面板之后,可以在屏幕中间找到快速入门指南,按步骤完成所需的工作:

20240306083603156-WX20240306-083546@2x

第一步是可以设置面板访问的地址,第二步是基础信息、开启的功能、NS域名解析(不用可乱填)等配置,一般默认就好了,没有什么说的。

20240306110830389-WX20240306-110810

但在完成第三步之前,需要先创建托管计划plan,点击顶部菜单进入Plan,然后点击 + New Plan 按钮进行创建,如下图这般,虽然名称写着unlimited,但使用的CPU和RAM资源是限制住的,其中域名数量、网站数量、数据库数量可以设为0,代表不限制,而CPU、RAM、端口速率、Docker大小、文件Inodes限制、用户数据容量这些就都要据实填写,并且不能超过系统资源

20240306112644533-WX20240306-112613

创建完成之后,再返回创建租户就可以了。

20240306113123506-WX20240306-113109

创建完成之后,系统就会立刻启动一个docker容器,用于该用户的所有活动。

租户使用OpenPanel面板

租户使用OpenPanel面板,需要访问主机的2083端口,使用上个步骤创建的用户名和密码进行登录,登录后如下图:

20240306114214194-WX20240306-114115

整体页面很清爽,分为三纵列,左侧是主菜单,中间是主菜单及它的子项的集合,右侧是用户可以使用到的资源,可以看到,这些都是在上一步创建租户时给定的资源限制,这是用户独占且不可被超售的资源。

开始体验吧!下面挑一些重点截图说明一下

绑定域名

域名绑定如果是首次登录使用,会在顶部找到add your first domain的按钮,或在最左侧菜单中找到Domain Names的子项,打开后在底部找到 + Add Domain,也是一样能进到域名绑定的页面,在页面中填写你想要绑定的域名后点击按钮提交即可。

20240306115805903-WX20240306-115653

关于多域名和通配符泛域名的绑定,则需要在域名列表里点击更多菜单进入到虚拟主机配置文件的编辑器进行编辑。

20240306120208870-WX20240306-120002

注意⚠️,这里需要提前了解相应web server的配置文件的规范和语法,例如这里的是nginx的虚拟主机配置文件,在server_name后面追加想绑定的域名即可。

20240306120325320-WX20240306-120116

安装应用

面板支持wordpress的一键安装,也能启动nodejs/python等编写的应用,如果是其他类型的比如laravel,则可以通过文件管理器自行上传文件进行部署。这里以一键安装wordpress为例。

找到左侧的WordPress Manager菜单,在右侧窗口中点击 Install WordPress

20240306120802554-WX20240306-120656

填写一些信息就好了,这里我随便了,按默认就好。

20240306121019768-WX20240306-120747

点击安装之后就好了,整体用时在1分钟左右,会自动创建好数据库。

其他

其他功能就各位自行体验了,官方提供的功能就已经挺全的了,例如文件管理、备份和恢复、威胁扫描、路径权限修复、计划任务等等,网页终端机也是非常好用的,非常适合做一些命令行的操作。

图片[14] - OpenPanel:下一代主机控制面板,支持多租户/容器化/隔离的运行环境/安全增强/资源限制 - EVLIT
图片[15] - OpenPanel:下一代主机控制面板,支持多租户/容器化/隔离的运行环境/安全增强/资源限制 - EVLIT
图片[16] - OpenPanel:下一代主机控制面板,支持多租户/容器化/隔离的运行环境/安全增强/资源限制 - EVLIT
图片[17] - OpenPanel:下一代主机控制面板,支持多租户/容器化/隔离的运行环境/安全增强/资源限制 - EVLIT
图片[18] - OpenPanel:下一代主机控制面板,支持多租户/容器化/隔离的运行环境/安全增强/资源限制 - EVLIT
图片[19] - OpenPanel:下一代主机控制面板,支持多租户/容器化/隔离的运行环境/安全增强/资源限制 - EVLIT
图片[20] - OpenPanel:下一代主机控制面板,支持多租户/容器化/隔离的运行环境/安全增强/资源限制 - EVLIT
图片[21] - OpenPanel:下一代主机控制面板,支持多租户/容器化/隔离的运行环境/安全增强/资源限制 - EVLIT

总结

首先,这个面板适合什么样的场景?

面板很强调硬件资源的专有性和安全的隔离性,比较适合给对资源做严格划分的群体,比如提供高性能主机托管的业者。有限的资源是无法进行像其他主机面板那种不限度的超售行为的。

负面影响

Docker对性能的影响是巨大的,尤其是在没有独占资源的VPS上跑,这相当于宿主机做KVM套娃之后,再做个容器再套个娃。

Bug太多

初步使用了几个小时,发现这个面板还是有一些bug亟需修复,也有流程需要再优化,比如快速入门指南,如果没有提前创建好托管计划plan,是无法在创建租户时选择合适的计划,无法获取到CPU/RAM等资源的限制信息,导致创建失败,这个在新手入门时会有一些问题。

还有OpenPanel创建了redis和memcached服务,但是memcached的服务端口怎么显示6379?应该是11211端口才对的。

另外还有OpenCLI缺少命令补全,没有help帮助菜单,每次都要打开官方文档进行对照操作不太直观。

展望

现在的版本连1.0的里程碑都还没到,离正式能作为生产使用还有路要走的,持续关注吧!

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享
评论 抢沙发
头像
说说你的看法!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容