ВОЙТИ
    opened image

    Установка Pterodactyl

    Для его установки нам понадобятся зависимости:
    PHP 8.0 или 8.1(рекомендуется) со следующими расширениями: cli, openssl, gd, mysql, PDO, mbstring, tokenizer, bcmath, xml, dom, curl, zip, (и fpm если вы планируете использовать NGINX.)
    MySQL 5.7.22 или выше (рекомендуется MySQL 8) или MariaDB 10.2и выше.
    Redis (redis-server) (Не обязателен)(Но так панель будет работать намного быстрее при больших нагрузках).
    Веб-сервер (Apache, NGINX)
    curl
    tar
    unzip
    git
    composer v2


    На примере будет использована система ubuntu
    Добавляем репозитории

    apt -y install software-properties-common curl apt-transport-https ca-certificates gnupg
    LC_ALL=C.UTF-8 add-apt-repository -y ppa:ondrej/php


    Установим mariaDB
     

    curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash

    Дальше нужно обновить репозитории
     

    apt update

    Добавляем репозитории Universe
     

    apt-add-repository universe

    Теперь устанавливаем все нужные зависимости
     

    apt -y install php8.1 php8.1-{common,cli,gd,mysql,mbstring,bcmath,xml,fpm,curl,zip} mariadb-server apache2 tar unzip git redis-server

    (redis-server - По желанию)

    Так как будем устанавливать панель через composer его нужно установить
     

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

    Создаём папку в которую будет устанавливаться панель
     

    mkdir -p /var/www/pterodactyl
    cd /var/www/pterodactyl

    Скачиваем саму панель, распаковываем её, и выдаём нужные права на папки:
     

    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

    Добавление базы данных в Pterodactyl

    Дальше нужно создать базу данных. Заходим в mysql. При запросе вводим пароль от root:
     

    mysql -u root -p

    Создаём в mysql пользователя. Где вместо yourPassword вписываем нужный пароль. Сохраните его, при настройке он понадобиться.
    Создаём саму базу, где вместо "panel" можно написать и другое название. Выдаём нужные права пользователю которого мы создали ранее. И выходим из mysql. Команды:

    CREATE USER 'pterodactyl'@'127.0.0.1' IDENTIFIED BY 'yourPassword';
    CREATE DATABASE panel;
    GRANT ALL PRIVILEGES ON panel.* TO 'pterodactyl'@'127.0.0.1' WITH GRANT OPTION;
    exit;

    Дальше нам нужно скопировать файлы настройки для работы панели.
     

    cp .env.example .env
    composer install --no-dev --optimize-autoloader  

    Тут соглашаемся. Далее создаём ключ шифрования приложения. И выполняем команду с помощью которой будем настраивать саму панель:
     

    php artisan key:generate --force
    php artisan p:environment:setup


     

    Настройка Pterodactyl

    Тут начинаются пункты где нужно правильно настроить. В этой статье будет самая простая настройка.

    Первым попросит почту. (можно указать любую) Данная почта будет использоваться как почта создателя стандартных яиц (яйцо - список игр которые доступны для установки)

    Вторым попросит вписать адрес сайта который будет использовать панель, (http://yoursite.com) вписываем домен который у Вас куплен (Обязательно в виде http://yoursite.com). (Сменить можно будет в конфигурациях apache\httpd (дальше в настройках нужно будет настроить написать тот же домен, но уже без http://)

    Дальше будет временная зона (Указывайте UTC) Либо просто нажмите enter

    Следующим будет спрашивать драйвер кеша (file) На скриншоте написано redis, но лучше выбирать File чтобы было проще настраивать.
     
    Драйвер сессий выбираем Mysql. (database)
     
    Драйвер очереди (Queue driver) выбираем тоже mysql. (database)
     
    Дальше предложат графический настройщик параметров (тут просто yes)
     
    Теперь просит отправлять телеметрию (Тут на своё усмотрение, но я ставлю no)

    Готово, настройка самой панели завершена.

     

    Подключение базы данных
    Теперь приступаем к подключению базы данных.

    php artisan p:environment:database

    Настройки в данной категории похожи до прошлой.
    1 .Попросит хост базы данных. (Просто жмём Enter если mysql стоит на самом сервере)
    2 .Порт (тут так же как и с первым)
    3 .Тут записываете название базы данных которую мы создали ранее и заранее записали название.
    4 .Тут записываем пользователя которого мы создали заранее.
    5 .Пароль который создали для пользователя.
    На этом установка панели завершена.


    Дальше нужно записать данные в базу данных
     

    php artisan migrate --seed --force

    Если всё правильно настроено, то будет большой список загрузок в базу данных.

    Теперь добавим пользователя.
     

    php artisan p:user:make

    Первым спросит, является ли этот пользователь администратором.
    Пишите да (yes)

    Дальше он потребует почту.  Указываете любую вашу почту.

    Дальше нужно ввести ник пользователя (Любой подойдёт - главное запишите где-то)

    Следующим панель попросит указать ваше имя. (Любое сойдёт)

    Потом фамилию (Так же сойдёт что угодно)

    И последним потребует пароль. Подойдёт любой, но главное скопируйте его себе где-то.

     

    Выдаём права на папку
    # Если используете Nginx или Apache:
     

    chown -R www-data:www-data /var/www/pterodactyl/*

     

    Создаём крон запуска 
    Вводите crontab -e         и в конце добавляете эту строку.
     

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

     

     

    Добавление сервиса - службы

    Теперь добавим сервис чтобы мы могли запускать панель и добавить её в автозагрузку.
    Нужно создать в папке /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/pterodactyl/artisan queue:work --queue=high,standard,low --sleep=3 --tries=3
    StartLimitInterval=180
    StartLimitBurst=30
    RestartSec=5s
    
    [Install]
    WantedBy=multi-user.target
    
    ::
    ::


    Дальше нужно создать файл  pterodactyl.conf папке /etc/apache2/sites-enabled со следующими строками.
     

    ::
    
    ::
     <VirtualHost *:80>
     ServerName Домен-который-создавали-ранее-без-http://
     DocumentRoot "/var/www/pterodactyl/public" 
     AllowEncodedSlashes On 
    php_value upload_max_filesize 100M 
     php_value post_max_size 100M 
    <Directory "/var/www/pterodactyl/public">
     AllowOverride all 
     Require all granted 
    </Directory>
    </VirtualHost>
    ::
    
    ::

    Дальше нужно настроить Firewall 

    ufw allow http
    ufw allow https
    ufw reload

     

    И нужно добавить панель в автозапуск
     

    systemctl enable --now pteroq.service


    Готово. Мы установили панель управления Pterodactyl

    Панель доступна по Вашему адресу: http://yoursite.com.

    .