教程使用的Ubuntu 20.04 PHP8.0 MYSQL8.0 NGINX
本文部分下载内容国内服务器可能会下载比较慢或者无法下载,请自行解决
安装前端
系统
操作系统 | 版本 | 支持 | 笔记 |
---|---|---|---|
Ubuntu | 18.04 | ✅ | 假设 Ubuntu 18.04 作为基本操作系统编写的文档。 |
20.04 | ✅ | ||
22.04 | ✅ | 可以在没有存储库安装脚本的情况下安装 MariaDB。 | |
CentOS | 7 | ✅ | 需要额外的存储库。 |
8 | ✅ | 请注意,CentOS 8 是 EOL。使用 Rocky 或 Alma Linux。 | |
Debian | 9 | ✅ | 需要额外的存储库。 |
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
选择后都需要进行保存
到这里我们的前端面板就安装好了
安装后端
系统
操作系统 | 版本 | 支持 | 笔记 |
---|---|---|---|
Ubuntu | 18.04 | ✅ | 假设 Ubuntu 18.04 作为基本操作系统编写的文档。 |
20.04 | ✅ | ||
22.04 | ✅ | ||
CentOS | 7 | ✅ | |
8 | ✅ | 请注意,CentOS 8 是 EOL。使用 Rocky 或 Alma Linux。 | |
Debian | 9 | ✅ | |
10 | ✅ | ||
11 | ✅ | ||
Windows | ALL | ❌ | 此软件不会在 Windows 环境中运行。 |
系统要求
要运行 Wings,您需要一个能够运行 Docker 镜像的 Linux 系统。大多数 VPS 和几乎所有专用服务器都应该能够运行 Docker,但也有一些极端情况。
当您的供应商使用 Virtuozzo
、OpenVZ
(或 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