宝塔山 发表于 2024-10-19 09:59:47

Pterodactyl翼龙面板1.x安装教程 - 前端篇(持续更新)

文章参考翼龙官方文档:https://pterodactyl.io/project/introduction.html
本文章所用环境:
前端服务器:CentOS 7.9
网站环境:Nginx + PHP 8.2 + MySQL 8.0
该文章终极搭建翼龙版本:1.11
前言

如果您希望可以或许在不了解 基本的 Linux 系统管理 的环境下安装它 ,你如今应该先去学习Linux基础知识。因为此文章不会一步一步教你Linux系统的使用。
我们希望您能坐下来耐心地阅读本文档,原作者花费了很多时间讲授清楚,我们也花了很多时间翻译成您能明白透彻,看得懂的简体中文。请务必花时间阅读,而不是对着设置复制粘贴。
想把翼龙面版复制来粘贴去就能运行的举动是 tan90° 的,它是一个高度复杂的系统,需要很多依赖关系,您应当花些时间去学习如何安装使用它。
https://i-blog.csdnimg.cn/blog_migrate/5098212dcdede357c42eeca45c45aca2.png
简单介绍

Pterodactyl 是一个免费的开源游戏服务器管理面板,由PHP,React和Go构建。 Pterodactyl在设计时考虑了安全性,在隔离的Docker容器中运行全部游戏服务器 同时向终极用户公开美观直观的 UI。

[*]翼龙面板使用Bcrypt作为密码加密算法. 集成了Google reCAPTCHA. 自带2FA支持. 同时对HTTPS友好,支持HTTPS开箱即用。
[*]在运行服务器的时候,把每个服务器放入Docker中运行,而不是直接在系统上实行命令,提高了隔离程度. 这种隔离方式可以有效地避免恶意插件对主机的影响. 同时可以对每一个容器限制资源使用环境,简单来说,可以防止熊孩子在MC服务器里放核弹/TNT/高空流水/岩浆引起大量CPU占用从而影响别的服务器.
[*]开源免费,不需要付授权费用的同时,还可以对面板的任何一个地方进行自定义.
[*]可自定义程度高,可以通过自己编写设置文件来支持其他游戏,而不但仅是Minecraft这一种。
上面这些东西系统的总结下来,就是安全、好用。
正文

1. 准备环境

准备一台干净的Linux系统的服务器,同时要有root权限,建议使用Ubuntu 16.04+/Debian 8+/CentOS 7这些比较新的发行版。可以是VPS,但是必须是全假造化的VPS(XenHVM VMWare KVM等),如OpenVZ这种半假造化是不行的。
这里我就用 Centos 7.9 来演示,系统的具体安装过程不在演示。
部署环境前,我们可以先更新一下系统:
yum update -y
然后装一些必备的软件包(我比较习惯用nano,但建议大家编辑文件时还是使用vim,所以我这里两个都装了)
yum install wget nano vim curl tar unzip git -y
下面就可以搭建 Linux+Nginx+MySQL+PHP 环境了,如果对于这一块比较熟练的朋侪可以跳过了,如果感觉这一块比较复杂,可以等待我的另一篇文章发布,使用宝塔面板搭建翼龙前端。
出于方便,这里我使用的是 OneinStack 进行环境部署
官网地址:https://oneinstack.com/
大家可以选择我的设置,或根据个人喜好选择环境
https://i-blog.csdnimg.cn/blog_migrate/ea781b1dce54e8a48fee39f223af9d3c.png
嫌贫苦的话,可以直接用下面的命令:
wget -c http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --nginx_option 1 --php_option 12 --phpcache_option 1 --php_extensions ioncube,imagick,fileinfo,redis --db_option 1 --dbinstallmethod 1 --dbrootpwd 123456 --redis--reboot
注意:我这里设置的数据库密码为 123456 ,如果想更改,可以改命令里面的 --dbrootpwd 参数!
这个脚本安装完会重启,如果不筹划安装完直接重启,去掉 --reboot这部分即可。
接下来就是漫长的安装编译过程了,具体时间根据服务器性能决定,大家可以喝杯咖啡休息下~
https://i-blog.csdnimg.cn/blog_migrate/c9a5fff3714f3f126bb1c0fd17f8b17e.png
经过了漫长的等待,出现了如下信息,就是环境安装完毕了:
https://i-blog.csdnimg.cn/blog_migrate/2d9e12f720b5f43c2991da1883920ef3.png
下面我们就要安装翼龙面板所需要的额外扩展,因为翼龙的接纳Laravel框架制作,使用Composer来管理PHP依赖关系,所以我们需要安装 Composer
进入oneinstack安装目录,实行 addons.sh脚本
cd oneinstack
./addons.sh
这时候会进入选择界面,我们输入1,回车
https://i-blog.csdnimg.cn/blog_migrate/7c846ba302e34ffd0f7ef51cc1654d75.png
这里也是,输入1,然后实行回车
https://i-blog.csdnimg.cn/blog_migrate/f3366c8093f5736197410903ee47a693.png
直到出现了successfully,我们就可以输入q,回车退出了
https://i-blog.csdnimg.cn/blog_migrate/a4000d58744a64bc1c19132ca2418fc2.png
安装完Composer之后,我们将Composer的下载源替换为中国镜像
实行以下命令:
composer config -g repo.packagist composer https://packagist.phpcomposer.com
如果筹划安装prestissimo,就实行以下命令,它的作用就是在安装拓展的时候提拔 Composer 的安装速率,其原理是使用多进程下载的方式来办理
composer global require hirak/prestissimo
至于前面提到的fail2ban,也可以参照安装Composer的方法用oneinstack的脚本直接安装。
至此,安装之前的准备工作就完成了。
2. 设置网站

刚才我们讲授了翼龙面板前端安装前的准备工作。如今来教大家如何安装面板。文章将较多的引用官方文档(包括但不限于截图,文字等)
翼龙面板安装的时候需要调用PHP的一些函数,所以我们需要对php.ini文件进行修改。
OneinStack部署的php设置文件默认在/usr/local/php/etc/php.ini,我们直接使用vim编辑
vim /usr/local/php/etc/php.ini
我们找到 disable_function 这一行(默认设置文件大概在300多行左右),把后面的内容都去掉。生存文件即可。具体vim使用方法再次不在多说,不了解的可以去百度查一下,或者使用 nano 进行编辑
https://i-blog.csdnimg.cn/blog_migrate/23c1b59fcd7ac17469113fa4942f150f.png
安装 fileinfo扩展
./install.sh --php_extensions fileinfo
接下来我们使用OneinStack的脚本创建一个假造主机,实在就是vhost,可以明白为域名对应目录。由于Laravel路由、重定向等复杂性,这里猛烈建议大家准备一个域名。下面演示如何在OneinStack里快速建立假造主机。
首先辈入OneinStack安装目录,实行 vhost.sh 文件
cd oneinstack
./vhost.sh 不出意外的话,就会看到这个选择页面,下面我讲授一下三个选项的作用

[*]顾名思义,只使用HTTP,我们临时搭建的话可以选择这一项
[*]使用你自己的SSL证书和密钥(若没有将自动生成自签名证书)
[*]使用Let’s Encrypt签发的证书(acme.sh)
[*]
https://i-blog.csdnimg.cn/blog_migrate/67180ed55124fa99cd0881103b422eff.png
如果是你测试环境,选择HTTP Only即可。
如果是生产环境而且有自己的证书,选择2(搞完之后上传自己的证书)
如果是生产环境,想要白嫖证书,选择3
   注:这里的Let’s Encrypt签发是通过在你的假造主机目录下放置一个文件来验证域名全部权,需要保持80端口畅通。如果是未备案的域名在国内使用,请参考acme.sh中使用DNS验证篇
地址: https://github.com/acmesh-official/acme.sh/wiki/%E8%AF%B4%E6%98%8E
大家可以跟着我的备注来设置网站,注意,网站目录后面要加一个 /public
https://i-blog.csdnimg.cn/blog_migrate/6418a14d219c9cdd89e765684cf93bbc.png
配完假造主机,我们就可以进入到我们网站的根目录,我这里是 /data/wwwroot/127.0.0.1
cd /data/wwwroot/127.0.0.1
下载翼龙面板最新版本前端:(感谢 翼龙中国社区 为翼龙面板中文化做出巨大贡献!)
Github源(对大陆服务器网络优化不佳):
curl -Lo panel.tar.gz https://github.com/pterodactyl-china/panel/releases/latest/download/panel.tar.gz
[保举] Fast Git源(大陆服务器可访问):
curl -Lo panel.tar.gz https://hub.fgit.ml/pterodactyl-china/panel/releases/latest/download/panel.tar.gz
下载完毕后解压并设置目录权限
tar -xzvf panel.tar.gz
chmod -R 755 storage/* bootstrap/cache/
复制默认环境设置文件,安装焦点依赖项,然后生成一个 新的应用程序加密密钥。
cp .env.example .env
composer install --no-dev --optimize-autoloader

# 注意,以下指令仅针对于第一次安装部署翼龙面板前端
# 且对应数据库内无数据时执行,若阁下并非第一次安装且数据库内有数据,请忽略以下指令
php artisan key:generate --force
设置翼龙环境,该填的填,不想填也可以一路回车,也能正常使用
php artisan p:environment:setup
https://i-blog.csdnimg.cn/blog_migrate/774c3c84e1ffdd5534cebc68acea02f2.png
插曲:设置MySQL数据库

   翼龙面板前端内的数据,例如:用户/用户账户下的服务器等。均需要 MYSQL
数据库进行存储。您将需要一个数据库设置和一个具有为该数据库创建正确权限的用户,然后才能继续进行。请参阅下文以快速为您的翼龙面板创建用户和数据库。
连接数据库
mysql -u root -p<数据库密码>
进入数据库管理后:
# 记得把下面的 'yourPassword' 改成阁下自己想设置的密码
# 创建用户 pterodactyl
CREATE USER 'pterodactyl'@'127.0.0.1' IDENTIFIED BY 'yourPassword';
# 创建数据库 panel
CREATE DATABASE panel;
# 给权限
GRANT ALL PRIVILEGES ON panel.* TO 'pterodactyl'@'127.0.0.1' WITH GRANT OPTION;
# 退出数据库管理
exit
然后,我们进行面板的数据库设置,按照提示填写,末了没有生存正常退出,则为设置成功。
php artisan p:environment:database
https://i-blog.csdnimg.cn/blog_migrate/bfaa742a4bb603772b8e41dd35284e60.png
若需要设置邮件服务,实行下面的指令,这里不再详细介绍
# 若使用 PHP 自带的 mail 拓展 (不推荐使用), 请在执行以下指令后选择 "mail"。
# 若使用自定义 SMTP 服务器,请在执行以下指令后选择 "smtp"。
php artisan p:environment:mail
接下来进行数据库的导入等操作
   如今我们要将面板全部的焦点数据写入我们之前为面板准备的数据库内。
此步调可能花费较长时间来进行实行,花费的时间取决于您的主机性能,主机与数据库主机的网络连接状态等因素。请耐心等待数据导入完成,切勿中途使用 CTRL+C 强制中断实行!
php artisan migrate --seed --force
到此为止,我们就完成了翼龙面板的基本设置!
3. 添加首位用户

数据库设置完成后,您需要为面板创建一个管理用户,以便您可以登录面板。 为此,请运行以下命令。 并保证账户密码满足以下要求:8 个字符,大小写混合,至少一个数字。
没有报错则为添加成功!
php artisan p:user:make
https://i-blog.csdnimg.cn/blog_migrate/988f94ce33c99d179fb7339288a905c4.png
4. 设置网站目录权限

安装过程的末了一步是对 面板程序文件设置正确的权限,以便 WEB 服务器程序(例如Nginx 或者 Apache)可以正确实行文件。
进入网站根目录,然后实行:
# 如果在按照本教程 CentOS 上使用 NGINX:
chown -R www:www *
这时候,我们就能访问我们的面板了
https://i-blog.csdnimg.cn/blog_migrate/0db0c22aac4564a2bde426c00f9319e8.png
如果你不喜欢reCAPTCHA验证码,可以选择禁用它,因为大部分大陆用户都无法正常访问它,导致无法正常登录。
在翼龙面板的根目录下的 .env 文件中,设置环境变量中去禁用 reCAPTCHA
在.env文件尾部,添加
RECAPTCHA_ENABLED=false
然后我们清除缓存,进入面板根目录,实行:
php artisan view:clear
php artisan config:clear
接下来我们使用之前添加的用户,登录到面板
https://i-blog.csdnimg.cn/blog_migrate/12d2d5ebe8871713cf2a18aae2079453.png
大功告成!到这里,我们的翼龙面板前端就搭建完毕了!
   我们的翼龙中国社区:
Github:https://github.com/Pterodactyl-CN
KOOK频道(原开黑啦):https://kook.top/JlXuk6
DoDo语音频道:https://imdodo.com/s/173865
本构造与 翼龙-中国 构造为两个社区,同时感谢该构造为翼龙中文化做出巨大贡献!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Pterodactyl翼龙面板1.x安装教程 - 前端篇(持续更新)