教程使用的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

依赖

  • PHP ,或(推荐)具有以下扩展名:、、、或、、、、以及是否打算使用 NGINX。7.4 8.0 8.1 cli openssl gd mysql PDO mbstring tokenizer bcmath xml dom curl zip fpm
  • MySQL及更高版本(建议使用MySQL)MariaDB及更高版本。5.7.22 8 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/pterodactyl-chinese-stable/releases/latest/download/panel.tar.gz
# 若阁下在上条指令上无法正常拉取压缩包或者拉取缓慢 可使用 Fastgit 提供的国内反向代理来拉取
curl -Lo panel.tar.gz https://hub.fastgit.xyz/pterodactyl-china/pterodactyl-china-stable/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/root/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-data
Group=www-data
Restart=always
ExecStart=/usr/bin/php /var/www/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
CentOS7
8请注意,CentOS 8 是 EOL。使用 Rocky 或 Alma Linux。
Debian9
10
11
WindowsALL此软件不会在 Windows 环境中运行。

依赖

  • curl
  • docker

安装 Docker

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

安装 NodeJS

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

如安装失败使用以下命令手动安装

curl -sL https://rpm.nodesource.com/setup_10.x | bash -

sudo apt install nodejs

Ubuntu 20.04 软件源中的 Node.js 版本是10.19.0,这是一个长期版本

更新Nodejs到最新版本使用以下命令

sudo apt-get install npm
sudo npm install n -g
sudo n stable

安装面板

mkdir -p /etc/pterodactyl

curl -L -o /usr/local/bin/wings https://github.com/pterodactyl/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

在控制台直接输入wings即可前台启动后端服务,此时可以进行前后段的连通性测试。如果在前端面板中Node状态为绿色就说明连接成功了。

如果测试无误,即可创建服务文件。

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

写入以下内容。

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

[Service]
User=root
#Group=some_group
LimitNOFILE=4096
PIDFile=/var/run/wings/daemon.pid
ExecStart=/usr/local/bin/wings
Restart=on-failure
StartLimitInterval=600

[Install]
WantedBy=multi-user.target

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

相关链接

翼龙官方 Pterodactyl.io

翼龙中国 Pterodactyl.top

Pterodactyl翼龙面板稳定版汉化

Pterodactyl翼龙面板开发版汉化


目之所及皆是回忆,心之所想皆是过往,眼之所看皆是遗憾