教程使用的Ubuntu 20.04 PHP8.0 MYSQL8.0 NGINX

本文部分下载内容国内服务器可能会下载比较慢或者无法下载,请自行解决

安装前端

系统

操作系统版本支持笔记
Ubuntu18.04假设 Ubuntu 18.04 作为基本操作系统编写的文档。
20.04
22.04可以在没有存储库安装脚本的情况下安装 MariaDB。
CentOS7需要额外的存储库。
8请注意,CentOS 8 是 EOL。使用 Rocky 或 Alma Linux。
Debian9需要额外的存储库。
10
11

依赖

  • PHP8.0 ,或8.1(推荐)
  • Nginx
  • MySQL5.7及更高版本(建议使用MySQL 8)MariaDB 10.2及更高版本。
  • Redis (redis-server)
  • Web服务器(Apache,NGINX,Caddy等)
  • curl
  • tar
  • unzip
  • git
  • composer v2

安装宝塔

Centos安装脚本

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec

Ubuntu/Deepin安装脚本

wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh ed8484bec

Debian安装脚本

wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh ed8484bec

安装 Composer

更新服务器软件包

使用 SSH 执行下方命令:

apt update

安装 PHP 扩展程序

为保证Composer 以及后续配置正常安装需要在扩展程序中安装 fileinfo、redis

解除 PHP 函数禁用

宝塔面板默认禁用一些安装 Composer 要用到的 4 个函数 putenv、exec、proc_open、shell_exec,我们需要解除禁用

进入宝塔面板,打开 PHP 设置,在【禁用函数】中,删除 putenv、exec、proc_open、shell_exec

安装 Composer

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

新建站点

这里可以将根目录设置为 /www/wwwroot/panel

安装面板

在为面板创建好它的工作目录后,我们将使用 curl 命令,从 Github 拉取翼龙官方程序文件压缩包或翼龙中国汉化完成的程序文件压缩包,拉取完成后,我们需要对压缩包进行解压操作,并赋予 storage/ 与 bootstrap/cache/ 目录 755 权限。这两个目录作用是缓存动态资源以加速访问。

cd /www/wwwroot/panel

翼龙官方稳定程序

curl -Lo panel.tar.gz https://github.com/pterodactyl/panel/releases/latest/download/panel.tar.gz
tar -xzvf panel.tar.gz
chmod -R 755 storage/* bootstrap/cache/

翼龙中国稳定程序

翼龙中国是在 翼龙官方上游仓库上实时同步 进行的汉化,包含了翼龙官方最新的功能更新/修复,同时也可能带来了新的问题,但一般不会出现太大问题,更新可能比较勤

curl -Lo panel.tar.gz https://github.com/pterodactyl-china/panel/releases/latest/download/panel.tar.gz
# 若阁下在上条指令上无法正常拉取压缩包或者拉取缓慢 可使用 Fastgit 提供的国内反向代理来拉取
curl -Lo panel.tar.gz https://hub.fastgit.xyz/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

备份加密密钥(APP_KEY文件中)。它被用作需要安全存储的所有数据(例如api密钥)的加密密钥。将其存储在安全的地方 - 而不仅仅是在您的服务器上。如果您丢失了它,则所有加密数据都是不可恢复的 - 即使您有数据库备份。.env

创建面板配置文件

设置面板信息

php artisan p:environment:setup

时区设为Asia/Shanghai或者HongKong

设置数据库信息

php artisan p:environment:database

这里需要回到宝塔面板查看刚刚新建网站时创建的数据库名用户名以及数据库密码

配置邮箱服务信息(可选)

php artisan p:environment:mail

配置数据库

php artisan migrate --seed --force

这一步一般相当的慢,请耐心等待。

创建管理员账号并设置密码

php artisan p:user:make

设置权限

安装过程的最后一步是对 Panel 文件设置正确的权限,以便 Web 服务器可以正确使用它们。

在/www/wwwroot/panel根目录打开终端输入以下代码

chown -R www:www ./*

关闭reCAPTACHA(可选)

国内推荐关闭reCAPTACHA

打开网站根目录打开.env文件

#在最后一行新加入以下一行
RECAPTCHA_ENABLED=false

设置定时任务并创建服务

打开宝塔计划任务按以下设置

php /www/wwwroot/panel/artisan schedule:run >> /dev/null 2>&1

接下来,您需要创建一个新的 systemd worker,以保持我们的队列进程在后台运行。此队列负责发送电子邮件和处理翼手龙的许多其他后台任务。

在/etc/systemd/system/目录下创建一个pteroq.service文件

添入以下内容

# Pterodactyl Queue Worker File
# ----------------------------------
 
[Unit]
Description=Pterodactyl Queue Worker
After=redis-server.service
 
[Service]
# On some systems the user and group might be different.
# Some systems use `apache` or `nginx` as the user and group.
User=www
Group=www
Restart=always
ExecStart=/usr/bin/php /www/wwwroot/panel/artisan queue:work --queue=high,standard,low --sleep=3 --tries=3
StartLimitInterval=180
StartLimitBurst=30
RestartSec=5s
 
[Install]
WantedBy=multi-user.target

CentOS 上的 Redis

如果你使用的是 CentOS,你需要在行中替换,以确保在队列工作者之前启动。

redis-server.service redis.service After=redis

提示

如果您不用于任何内容,则应删除该行,否则在服务启动时将遇到错误。redis After=

最后,启用该服务并将其设置为在计算机启动时启动。

sudo systemctl enable --now pteroq.service

设置网站运行目录与伪静态

打开网站设置,在网站目录里将运行目录设置为pubilc文件夹

这里我们需要关闭防跨站攻击,否则面板会500错误

然后在伪静态模板中选择laravel5

选择后都需要进行保存

到这里我们的前端面板就安装好了

安装后端

系统

操作系统版本支持笔记
Ubuntu18.04假设 Ubuntu 18.04 作为基本操作系统编写的文档。
20.04
22.04
CentOS7
8请注意,CentOS 8 是 EOL。使用 Rocky 或 Alma Linux。
Debian9
10
11
WindowsALL此软件不会在 Windows 环境中运行。

系统要求

要运行 Wings,您需要一个能够运行 Docker 镜像的 Linux 系统。大多数 VPS 和几乎所有专用服务器都应该能够运行 Docker,但也有一些极端情况。

当您的供应商使用 VirtuozzoOpenVZ(或 OVZ)或 LXC 虚拟化时,您很可能无法运行 Wings。一些提供商已经对嵌套虚拟化进行了必要的更改以支持 Docker。请咨询您的提供商的支持团队。KVM 保证可以工作。

最简单的检查方法是输入 systemd-detect-virt。 如果结果不包含 OpenVZ 或 LXC,应该没问题。当运行没有任何虚拟化的专用硬件时,将出现 none 的结果。

如果由于某种原因不能正常工作,或者您仍然不确定,您也可以运行以下命令。

dane@pterodactyl:~$ sudo dmidecode -s system-manufacturer
VMware, Inc.

依赖

  • curl
  • docker

安装 Docker

打开宝塔的软件商店运行环境分类里找到Docker管理器并安装

安装Wings

mkdir -p /etc/pterodactyl
curl -L -o /usr/local/bin/wings https://github.com/pterodactyl-china/wings/releases/latest/download/wings_linux_amd64
chmod u+x /usr/local/bin/wings

前后端对接

首先打开前端面板并登录,点击右上角齿轮进入设置并从左侧选择Location添加地区。

标识码可自定义

之后选择Nodes添加后端节点。

加载配置文件到后端

这里在进入Configuration后将配置文件手动导入到后端机器的/etc/pterodactyl/config.yml中,这里需要新建一个config.yml,也可以使用一键获取指令,在后端运行一键获取配置。

如果后端执行一键获取提示wings不存在,请手动删除命令中的sudo指令。

运行后端测试并为后端创建service

在控制台直接以调试模式启动后端服务,此时可以进行前后段的连通性测试。控制台没有报错且前端面板中Node状态为绿色就说明连接成功了。

sudo wings --debug

如果测试无误,使用CTRL+C关闭进程,然后为其创建守护进程。

在/etc/systemd/system/目录下创建一个wings.service文件

写入以下内容。

[Unit]
Description=Pterodactyl Wings Daemon
After=docker.service
Requires=docker.service
PartOf=docker.service

[Service]
User=root
WorkingDirectory=/etc/pterodactyl
LimitNOFILE=4096
PIDFile=/var/run/wings/daemon.pid
ExecStart=/usr/local/bin/wings
Restart=on-failure
StartLimitInterval=180
StartLimitBurst=30
RestartSec=5s

[Install]
WantedBy=multi-user.target

最后就可以使用service或者systemctl来启动/停止/查看后端服务,或者使用chkconfig创建开机启动。

systemctl enable --now wings

相关链接

翼龙官方 Pterodactyl.io

翼龙中国 Pterodactyl.top

Pterodactyl翼龙面板稳定版汉化

Pterodactyl翼龙面板开发版汉化