Как установить и настроить панель управления игровым сервером 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 и оптимизацией производительности ваших игровых серверов!