Как установить и настроить панель управления игровым сервером Pterodactyl

Материал из ARK-HOSTER.RU | Документация хостинга
Перейти к: навигация, поиск

Настройка и установка Pterodactyl

1. Подготовка системы

  • Войдите в систему под учетной записью с правами root или пользователя с правами sudo.
  • Убедитесь, что у вас есть доступ к серверу через SSH или консоль.

2. Установка зависимостей

Обновление системы

1. Обновите систему:

sudo apt update && sudo apt upgrade -y

2. Установите необходимые пакеты:

sudo apt install -y curl wget git unzip

Установка PHP

1. Установите PHP 8.1 и необходимые модули:

sudo apt install -y php8.1 php8.1-cli php8.1-fpm php8.1-mysql php8.1-pgsql php8.1-curl php8.1-gd php8.1-mbstring php8.1-xml php8.1-zip php8.1-bcmath php8.1-json

2. Проверьте версию PHP:

php -v

Установка Composer

1. Скачайте и установите Composer:

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
sudo chmod +x /usr/local/bin/composer

2. Проверьте установку:

composer --version

Установка Node.js

1. Установите Node.js 18:

curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y nodejs

2. Проверьте версии:

node -v
npm -v

3. Установка веб-сервера

Установка Nginx

1. Установите Nginx:

sudo apt install -y nginx

2. Запустите и включите автозапуск:

sudo systemctl start nginx
sudo systemctl enable nginx

3. Проверьте статус:

sudo systemctl status nginx

Установка MySQL

1. Установите MySQL:

sudo apt install -y mysql-server

2. Запустите и включите автозапуск:

sudo systemctl start mysql
sudo systemctl enable mysql

3. Настройте безопасность MySQL:

sudo mysql_secure_installation

4. Настройка базы данных

Создание базы данных

1. Подключитесь к MySQL:

sudo mysql -u root -p

2. Создайте базу данных и пользователя:

CREATE DATABASE panel CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'pterodactyl'@'127.0.0.1' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON panel.* TO 'pterodactyl'@'127.0.0.1' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

5. Установка Pterodactyl Panel

Скачивание и установка

1. Создайте директорию для панели:

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

2. Скачайте последнюю версию панели:

sudo curl -Lo panel.tar.gz https://github.com/pterodactyl/panel/releases/latest/download/panel.tar.gz

3. Распакуйте архив:

sudo tar -xzvf panel.tar.gz

4. Установите права доступа:

sudo chmod -R 755 storage/* bootstrap/cache
sudo chown -R www-data:www-data /var/www/pterodactyl

Настройка окружения

1. Скопируйте файл конфигурации:

sudo cp .env.example .env

2. Сгенерируйте ключ приложения:

sudo php artisan key:generate --force

3. Установите зависимости:

sudo -u www-data composer install --no-dev --optimize-autoloader

Настройка конфигурации

1. Отредактируйте файл .env:

sudo nano .env

2. Настройте основные параметры:

APP_URL=https://your-domain.com
APP_TIMEZONE=Europe/Moscow
APP_LOCALE=ru

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=panel
DB_USERNAME=pterodactyl
DB_PASSWORD=your_password

MAIL_MAILER=smtp
MAIL_HOST=your-smtp-host
MAIL_PORT=587
MAIL_USERNAME=your-email@example.com
MAIL_PASSWORD=your-email-password
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=your-email@example.com
MAIL_FROM_NAME="Pterodactyl Panel"

6. Настройка веб-сервера

Конфигурация Nginx

1. Создайте конфигурацию для панели:

sudo nano /etc/nginx/sites-available/pterodactyl

2. Добавьте конфигурацию:

server {
    listen 80;
    server_name your-domain.com;
    root /var/www/pterodactyl/public;
    index index.php;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.ht {
        deny all;
    }
}

3. Включите сайт:

sudo ln -s /etc/nginx/sites-available/pterodactyl /etc/nginx/sites-enabled/

4. Проверьте конфигурацию:

sudo nginx -t

5. Перезапустите Nginx:

sudo systemctl restart nginx

7. Настройка PHP-FPM

Конфигурация PHP-FPM

1. Отредактируйте конфигурацию PHP-FPM:

sudo nano /etc/php/8.1/fpm/pool.d/www.conf

2. Настройте параметры:

user = www-data
group = www-data
listen = /var/run/php/php8.1-fpm.sock
listen.owner = www-data
listen.group = www-data
listen.mode = 0660

3. Перезапустите PHP-FPM:

sudo systemctl restart php8.1-fpm

8. Инициализация панели

Запуск миграций

1. Запустите миграции базы данных:

sudo -u www-data php artisan migrate --force

2. Создайте администратора:

sudo -u www-data php artisan p:user:make

3. Установите права на директории:

sudo chown -R www-data:www-data /var/www/pterodactyl
sudo chmod -R 755 /var/www/pterodactyl

Настройка очередей

1. Создайте systemd сервис для очередей:

sudo nano /etc/systemd/system/pterodactyl-queue.service

2. Добавьте содержимое:

[Unit]
Description=Pterodactyl Queue Worker
After=redis.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 --max-time=3600

[Install]
WantedBy=multi-user.target

3. Запустите сервис:

sudo systemctl enable pterodactyl-queue
sudo systemctl start pterodactyl-queue

9. Установка Wings (Daemon)

Установка Docker

1. Установите Docker:

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

2. Добавьте пользователя в группу docker:

sudo usermod -aG docker $USER

3. Запустите и включите Docker:

sudo systemctl start docker
sudo systemctl enable docker

Установка Wings

1. Скачайте Wings:

sudo curl -L -o /usr/local/bin/wings "https://github.com/pterodactyl/wings/releases/latest/download/wings_linux_amd64"

2. Установите права:

sudo chmod +x /usr/local/bin/wings

3. Создайте директорию для Wings:

sudo mkdir -p /etc/pterodactyl

4. Создайте конфигурацию:

sudo nano /etc/pterodactyl/config.yml

5. Добавьте базовую конфигурацию:

debug: false
app:
  name: "Pterodactyl Wings"
  description: "Pterodactyl Wings Daemon"
  timezone: "Europe/Moscow"

api:
  host: 0.0.0.0
  port: 8080
  ssl:
    enabled: false
    certificate: ""
    key: ""

system:
  data: /var/lib/pterodactyl
  log_directory: /var/log/pterodactyl

10. Настройка SSL

Установка Certbot

1. Установите Certbot:

sudo apt install -y certbot python3-certbot-nginx

2. Получите SSL сертификат:

sudo certbot --nginx -d your-domain.com

3. Настройте автоматическое обновление:

sudo crontab -e

4. Добавьте задачу:

0 12 * * * /usr/bin/certbot renew --quiet

Обновление конфигурации Nginx

1. Обновите конфигурацию для SSL:

sudo nano /etc/nginx/sites-available/pterodactyl

2. Добавьте SSL настройки:

server {
    listen 443 ssl http2;
    server_name your-domain.com;
    root /var/www/pterodactyl/public;
    index index.php;

    ssl_certificate /etc/letsencrypt/live/your-domain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/your-domain.com/privkey.pem;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

server {
    listen 80;
    server_name your-domain.com;
    return 301 https://$server_name$request_uri;
}

11. Управление Pterodactyl

Основные команды

1. Обновление панели:

cd /var/www/pterodactyl
sudo -u www-data php artisan down
sudo -u www-data composer install --no-dev --optimize-autoloader
sudo -u www-data php artisan up

2. Очистка кэша:

sudo -u www-data php artisan cache:clear
sudo -u www-data php artisan config:clear
sudo -u www-data php artisan view:clear

3. Проверка статуса:

sudo systemctl status pterodactyl-queue
sudo systemctl status nginx
sudo systemctl status php8.1-fpm

Мониторинг

1. Просмотр логов панели:

sudo tail -f /var/log/nginx/error.log
sudo tail -f /var/log/php8.1-fpm.log

2. Просмотр логов Wings:

sudo tail -f /var/log/pterodactyl/wings.log

12. Устранение неполадок

Частые проблемы

1. Панель не загружается:

  • Проверьте права доступа:
    sudo chown -R www-data:www-data /var/www/pterodactyl
  • Проверьте конфигурацию Nginx:
    sudo nginx -t
  • Проверьте логи:
    sudo tail -f /var/log/nginx/error.log

2. Ошибки базы данных:

  • Проверьте подключение к MySQL
  • Проверьте настройки в .env файле
  • Запустите миграции:
    sudo -u www-data php artisan migrate

3. Wings не подключается:

  • Проверьте конфигурацию Wings
  • Проверьте сетевые настройки
  • Проверьте логи Wings

Заключение

Pterodactyl панель успешно установлена и настроена! Теперь вы можете управлять игровыми серверами через веб-интерфейс.

Для размещения ваших игровых серверов на надежном хостинге рекомендуем воспользоваться услугами [ARK-HOSTER.RU](https://ark-hoster.ru):

Наши специалисты помогут с настройкой Pterodactyl и оптимизацией производительности ваших игровых серверов!