Установка и настройка Pterodactyl
Зависимости
PHP 7.2со следующими расширениями:cli, openssl, gd, mysql, PDO, mbstring,tokenizer,bcmath, xmlилиdom,curl,zip, и fpmесли вы планируете использовать nginx
MySQL 5.7 или MariaDB 10.1.3или выше
Редис (redis-server)
Веб-сервер (Apache, NGINX, Caddy и др.)
curl
tar
unzip
git
composer
Пример установки зависимостей
Приведенные ниже команды являются простым примером того, как можно установить эти зависимости. Пожалуйста, проконсультируйтесь с вашим диспетчером пакетов операционной системы для определения правильных пакетов для установки.
# Add "add-apt-repository" command
apt -y install software-properties-common curl
# Add additional repositories for PHP, Redis, and MariaDB
LC_ALL=C.UTF-8 add-apt-repository -y ppa:ondrej/php
add-apt-repository -y ppa:chris-lea/redis-server
curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
# Update repositories list
apt update
# Add universe repository if you are on Ubuntu 18.04
apt-add-repository universe
# Install Dependencies
apt -y install php7.2 php7.2-cli php7.2-gd php7.2-mysql php7.2-pdo php7.2-mbstring php7.2-tokenizer php7.2-bcmath php7.2-xml php7.2-fpm php7.2-curl php7.2-zip mariadb-server nginx tar unzip git redis-server
Установка Composer
Composer-это менеджер зависимостей для PHP, который позволяет нам поставлять все, что вам понадобится для работы с панелью. Вы будете нужно 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для загрузки нашего предварительно упакованного контента. После того, как он будет загружен, вам нужно будет распаковать архив а затем установите правильные разрешения на каталоги storage/andbootstrap/cache/. Этот каталог позвольте нам хранить файлы, а также сохранить быстрый кэш, доступный для сокращения времени загрузки.
curl -Lo panel.tar.gz https://github.com/pterodactyl/panel/releases/download/v0.7.16/panel.tar.gz
tar --strip-components=1 -xzvf panel.tar.gz
chmod -R 755 storage/* bootstrap/cache/
Установка
Теперь, когда все файлы были загружены, нам нужно настроить некоторые основные аспекты панели.
конфигурация базы данных
Вам потребуется настройка базы данных и пользователь с правильными разрешениями, созданными для этой базы данных ранее продолжайте дальше. Если вы не уверены, как это сделать, пожалуйста, посмотрите на настройку MySQL.
Сначала мы скопируем поверх нашего файла параметров среды по умолчанию, установим основные зависимости, а затем создадим новый ключ шифрования приложений.
cp .env.example .env
composer install --no-dev --optimize-autoloader
# Only run the command below if you are installing this Panel for
# the first time and do not have any Pterodactyl Panel data in the database.
php artisan key:generate --force
ПРЕДУПРЕЖДЕНИЕ
Создайте резервную копию ключа шифрования (APP_KEY в .envфайле). Он используется в качестве ключа шифрования для всех данных, которые должны храниться надежно (например, ключи api). Храните его в безопасном месте-не только на вашем сервере. Если вы потеряете его, все зашифрованные данные бесполезны и не могут быть восстановлены, даже если у вас есть резервные копии базы данных.
Конфигурация Среды
Основная среда pterodactyl's легко настраивается с помощью нескольких различных команд CLI, встроенных в приложение. Этот шаг будет охватывать настройку таких вещей, как сеансы, кэширование, учетные данные базы данных и отправка электронной почты.
php artisan p:environment:setup
php artisan p:environment:database
# To use PHP's internal mail sending (not recommended), select "mail". To use a
# custom SMTP server, select "smtp".
php artisan p:environment:mail
Настройка Базы Данных
Теперь нам нужно настроить все базовые данные для панели в базе данных, которую вы создали ранее. Команда ниже может потребоваться некоторое время для запуска в зависимости от вашей машины. Пожалуйста, не выходите из процесса, пока он не будет завершен! Это ... команда настроит таблицы базы данных, а затем добавит все гнезда и яйца, которые питают птеродактиль.
php artisan migrate --seed
Добавить Первого Пользователя
Затем вам нужно будет создать административного пользователя, чтобы вы могли войти в панель. Для этого выполните следующую команду. При этом пароли должны соответствовать следующим требованиям: 8 символов, смешанный регистр, хотя бы одно число.
php artisan p:user:make
Установить Права Доступа
Последним шагом в процессе установки является установка правильных разрешений на файлы панели, чтобы веб-сервер мог используйте их правильно.
# If using NGINX or Apache (not on CentOS):
chown -R www-dаta:www-data *
# If using NGINX on CentOS:
chown -R nginx:nginx *
# If using Apache on CentOS
chown -R apache:apache *
Слушатели Очереди
Мы используем очереди, чтобы сделать приложение быстрее и обрабатывать отправку электронной почты и другие действия в фоновом режиме. Вам нужно будет настроить работника очереди для обработки этих действий.
Crontab Конфигурация
Первое, что нам нужно сделать, это создать новую cronjob, которая работает каждую минуту для обработки конкретных задач птеродактиля, таких как как очистка сеанса и отправка запланированных задач демонам. Вы захотите открыть свой crontab с помощью sudo crontab -eи затем вставьте строку ниже.
* * * * * php /var/www/pterodactyl/artisan schedule:run >> /dev/null 2>&1
Создать Работника Очереди
Затем вам нужно создать нового работника systemd, чтобы наш процесс очереди работал в фоновом режиме. Эта очередь несет ответственность для отправки электронной почты и обработки многих других фоновых задач для Pterodactyl.
ПРЕДУПРЕЖДЕНИЕ
Если вы используете Ubuntu 14.04, вы не можете использовать этот метод для запуска вашего работника очереди. Пожалуйста см. эти инструкции дляустановка супервайзера и настройка своей очереди. Убедитесь, что вы используете ту же строку ExecStart, что и ниже.
Создайте вызванный файл pteroq.service/etc/systemd/systemс содержимым ниже.
# 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
[Install]
WantedBy=multi-user.target
Редис на Центосе
Если вы используете CentOS, вам нужно будет заменить redis-server.serviceна redis.serviceat After=line, чтобы гарантировать redisзапуски перед работником очереди.
СОВЕТ
Если вы ничего не используетеredis, вы должны удалить After=строку, иначе вы столкнетесь с ошибками когда начнется обслуживание.
Если вы используете redis для своей системы,вам нужно будет убедиться, что он запускается при загрузке. Это можно сделать, выполнив следующую команду:
sudo systemctl enable --now redis-server
Наконец, включите службу и установите ее для загрузки при запуске машины.
sudo systemctl enable --now pteroq.service