Как установить и настроить панель управления игровым сервером Pterodactyl
Содержание
- 1 Настройка и установка Pterodactyl
- 1.1 1. Подготовка системы
- 1.2 2. Установка зависимостей =
- 1.3 3. Установка веб-сервера =
- 1.4 4. Настройка базы данных =
- 1.5 5. Установка Pterodactyl Panel =
- 1.6 6. Настройка веб-сервера =
- 1.7 7. Настройка PHP-FPM =
- 1.8 8. Инициализация панели =
- 1.9 9. Установка Wings (Daemon) =
- 1.10 10. Настройка SSL =
- 1.11 11. Управление Pterodactyl =
- 1.12 12. Устранение неполадок =
- 1.13 Заключение
Настройка и установка 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):
- [Выделенные серверы](https://ark-hoster.ru/dedicated/) - для высоконагруженных игровых серверов
- [VPS/VDS серверы](https://ark-hoster.ru/vpsgame/) - для небольших и средних игровых проектов
Наши специалисты помогут с настройкой Pterodactyl и оптимизацией производительности ваших игровых серверов!