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° 的,它是一个高度复杂的系统,需要很多依赖关系,您应当花些时间去学习如何安装使用它。

在这里插入图片描述

简单介绍

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

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

大家可以选择我的配置,或根据个人喜好选择环境
在这里插入图片描述
嫌麻烦的话,可以直接用下面的命令:

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这部分即可。

接下来就是漫长的安装编译过程了,具体时间根据服务器性能决定,大家可以喝杯咖啡休息下~
在这里插入图片描述

经过了漫长的等待,出现了如下信息,就是环境安装完毕了:
在这里插入图片描述
下面我们就要安装翼龙面板所需要的额外扩展,因为翼龙的采用Laravel框架制作,使用Composer来管理PHP依赖关系,所以我们需要安装 Composer

进入oneinstack安装目录,执行 addons.sh脚本

cd oneinstack
./addons.sh

这时候会进入选择界面,我们输入1,回车
在这里插入图片描述
这里也是,输入1,然后执行回车
在这里插入图片描述
直到出现了successfully,我们就可以输入q,回车退出了
在这里插入图片描述

安装完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 进行编辑
在这里插入图片描述
安装 fileinfo扩展

./install.sh --php_extensions fileinfo

接下来我们使用OneinStack的脚本创建一个虚拟主机,其实就是vhost,可以理解为域名对应目录。由于Laravel路由、重定向等复杂性,这里强烈建议大家准备一个域名。下面演示如何在OneinStack里快速建立虚拟主机。

首先进入OneinStack安装目录,执行 vhost.sh 文件

cd oneinstack
./vhost.sh

不出意外的话,就会看到这个选择页面,下面我讲解一下三个选项的作用

  1. 顾名思义,只使用HTTP,我们临时搭建的话可以选择这一项
  2. 使用你自己的SSL证书和密钥(若没有将自动生成自签名证书)
  3. 使用Let’s Encrypt签发的证书(acme.sh)

在这里插入图片描述
如果是你测试环境,选择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
在这里插入图片描述

配完虚拟主机,我们就可以进入到我们网站的根目录,我这里是 /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

在这里插入图片描述

插曲:配置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

在这里插入图片描述

若需要配置邮件服务,执行下面的指令,这里不再详细介绍

# 若使用 PHP 自带的 mail 拓展 (不推荐使用), 请在执行以下指令后选择 "mail"。
# 若使用自定义 SMTP 服务器,请在执行以下指令后选择 "smtp"。
php artisan p:environment:mail

接下来进行数据库的导入等操作

现在我们要将面板所有的核心数据写入我们之前为面板准备的数据库内。
此步骤可能花费较长时间来进行执行,花费的时间取决于您的主机性能,主机与数据库主机的网络连接状态等因素。请耐心等待数据导入完成,切勿中途使用 CTRL+C 强制中断执行!

php artisan migrate --seed --force

到此为止,我们就完成了翼龙面板的基本配置!

3. 添加首位用户

数据库配置完成后,您需要为面板创建一个管理用户,以便您可以登录面板。 为此,请运行以下命令。 并保证账户密码满足以下要求:8 个字符,大小写混合,至少一个数字。
没有报错则为添加成功!

php artisan p:user:make

在这里插入图片描述

4. 设置网站目录权限

安装过程的最后一步是对 面板程序文件设置正确的权限,以便 WEB 服务器程序(例如Nginx 或者 Apache)可以正确执行文件。

进入网站根目录,然后执行:

# 如果在按照本教程 CentOS 上使用 NGINX:
chown -R www:www *

这时候,我们就能访问我们的面板了
在这里插入图片描述

如果你不喜欢reCAPTCHA验证码,可以选择禁用它,因为大部分大陆用户都无法正常访问它,导致无法正常登录。
在翼龙面板的根目录下的 .env 文件中,设置环境变量中去禁用 reCAPTCHA
.env文件尾部,添加

RECAPTCHA_ENABLED=false

然后我们清除缓存,进入面板根目录,执行:

php artisan view:clear
php artisan config:clear

接下来我们使用之前添加的用户,登录到面板
在这里插入图片描述
大功告成!到这里,我们的翼龙面板前端就搭建完毕了!

我们的翼龙中国社区:
Github:https://github.com/Pterodactyl-CN
KOOK频道(原开黑啦):https://kook.top/JlXuk6
DoDo语音频道:https://imdodo.com/s/173865
本组织与 翼龙-中国 组织为两个社区,同时感谢该组织为翼龙中文化做出巨大贡献!

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Nicholas_LD

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值