lala.im:Pterodactyl(翼龙面板)前后端详细安装步骤

運維技術·技術·軟件/源碼·lala.im · 2019-07-22 · 111 人浏览
lala.im:Pterodactyl(翼龙面板)前后端详细安装步骤

原文地址:https://lala.im/6074.html,請支持原作者!該處僅作轉載。

文章目录
Pterodactyl,以下简称翼龙面板。这是一款开源免费的游戏服务器管理面板,部署主要分为前端和后端(节点)两个部分。
这个面板的特色就是节点端全部容器化了,每个游戏运行相互都是独立的,安全性大幅度提高,另外前端的WEBUI功能非常丰富,可以非常方便的管理你的游戏服务器。
其实官网的安装文档写的算很详细了,有能力的可以直接去看官方的文档:
https://pterodactyl.io/
具体支持的游戏可以在项目页面下看:
https://github.com/pterodactyl/panel
这边我会把前后端搭建起来,然后部署一个CSGO服务器测试。
准备工作:
1.前端系统Debian10,任意虚拟化均可。
2.节点端系统Debian10,因为要使用Docker,OpenVZ这种类型的虚拟化无法搭建,需要注意一下。
3.一个独立域名。
首先我们来部署前端,安装常用工具以及Nginx/MariaDB/Redis:

apt -y install git curl unzip python-certbot-nginx nginx mariadb-server redis-server

这个程序目前只支持PHP7.2,我之前手贱装了个PHP7.3,后来发现依赖装不上,所以我这边先把PHP7.3给卸载了:

apt --purge remove php7.3-common

Debian10要装PHP7.2得添加sury源,其实自PHP5以来,Debian/Ubuntu官方存储库的PHP基本都是他打包的:

apt -y install apt-transport-https ca-certificates lsb-release
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list
apt -y update

添加好源,现在我们就可以安装PHP7.2了:

apt -y install php7.2 php7.2-common php7.2-cli php7.2-cgi php7.2-fpm \
php7.2-gd php7.2-mysql php7.2-sqlite3 php7.2-pgsql php7.2-opcache \
php7.2-mbstring php7.2-curl php7.2-xml php7.2-xmlrpc php7.2-zip \
php7.2-intl php7.2-json php7.2-bz2 php7.2-bcmath

安装作曲家:

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/bin/composer

初始化MySQL:

mysql_secure_installation

登录到MySQL的Shell:

mysql -u root -p

创建数据库/用户/授权:

CREATE DATABASE panel CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'pterodactyl'@'127.0.0.1' IDENTIFIED BY '设置你的数据库用户密码';
GRANT ALL PRIVILEGES ON panel.* TO 'pterodactyl'@'127.0.0.1' WITH GRANT OPTION;
FLUSH PRIVILEGES;
quit

拉取项目文件/给予正确的权限:

cd /var/www
wget https://github.com/pterodactyl/panel/releases/download/v0.7.14/panel.tar.gz
tar -xzvf panel.tar.gz
mv panel-0.7.14 pterodactyl
chown -R www-data:www-data pterodactyl
cd pterodactyl
chmod -R 755 storage/* bootstrap/cache/

复制一份配置文件/安装依赖包/生成Key:

cp .env.example .env
composer install --no-dev --optimize-autoloader
php artisan key:generate

走安装流程(其实接下来这几个artisan控制台的命令就是在辅助你去配置.env):

php artisan p:environment:setup

按如图填写:

範例
之前配置的都是Redis,所以接下来会让我们填写Redis连接相关的东西,还是一样按如图填写即可:

範例
注:Redis默认是空密码,这里直接回车就行了。你也不用担心安全问题,Redis默认只监听在本地。
执行如下命令开始配置MySQL数据库:

php artisan p:environment:database

按如图填写即可:

範例
初始化数据库:

php artisan migrate --seed

按如图填写即可:

範例
这里还有一个配置SMTP发信的命令,但这边我先忽略掉不执行,实际上等搭建完,可以自己在WEBUI后台设置:

php artisan p:environment:mail

创建管理员账号:

php artisan p:user:make

按如图填写即可:

範例
新建计划任务:

crontab -e

写入:

* * * * * php /var/www/pterodactyl/artisan schedule:run >> /dev/null 2>&1

新建systemd服务文件:

nano /etc/systemd/system/pteroq.service

写入:

[Unit]
Description=Pterodactyl Queue Worker
After=redis-server.service

[Service]
User=www-data
Group=www-data
Restart=always
ExecStart=/usr/bin/php /var/www/pterodactyl/artisan queue:work --queue=high,standard,low --sleep=3 --tries=3

[Install]
WantedBy=multi-user.target

启动pteroq:

systemctl start pteroq.service
systemctl enable pteroq.service

顺带把需要用到的软件都设置一下开机启动:

systemctl enable nginx
systemctl enable mariadb
systemctl enable php7.2-fpm
systemctl enable redis-server

新建Nginx站点配置文件:

nano /etc/nginx/conf.d/pterodactyl.conf

写入:

server {
    listen       80;
    server_name  panel.koko.cat;
    index        index.html index.htm index.php;
    root         /var/www/pterodactyl/public;
    client_max_body_size 128g;

    location / {
運維技術 軟件/源碼 技術 lala.im
Theme Jasmine by Kent Liao