---
title: 'Установка панели Pterodactyl на CentOS 7'
description: 'Установка панели управления игровыми серверами Pterodactyl на CentOS 7.'
image: 'https://zomro.com/static/site/images/logo/logo-white.png?v=1791579523'
---

![opened image]()

  * [Zomro](https://zomro.com/rus/)
  * [FAQ](https://zomro.com/rus/blog/faq/)
  * Установка панели Pterodactyl на CentOS 7 



# Установка панели Pterodactyl на CentOS 7

31-05-2024

**Установка Pterodactyl в CentOS 7**

Для установки панели управления игровыми серверами Pterodactyl мы можем воспользоваться двумя методами:

  1. Ручная установка.
  2. Автоматическая установка панели с редактированием двух параметров.



Сначала рассмотрим ручную установку панели. Если Вам нужно быстро установить панель, то можете пролистать в конец статьи, там будет ссылка на скрипт установки панели.

Теперь по пунктам рассмотрим, что нужно установить и что нужно сделать, чтобы установить такую ​​панель управления. В большинстве команд будет использоваться ключ -y, чтобы не требовалось подтверждать установку программ.

1\. Нужно обновить репозитории системы, чтобы потом не было ошибок с установкой:
    
    
    yum -y update

2\. Установим репозитории remi, они необходимы для установки php:
    
    
    yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    
    yum -y install https://rpms.remirepo.net/enterprise/remi-release-7.rpm

С помощью команды yum repolist мы видим, что оба репозитории подключены.

![](https://lh7-us.googleusercontent.com/docsz/AD_4nXc-sHwTzNi2GwRUrw3YYKum0euB3AJyx8u31Bno86IfuyJbgBGnvvfGTEBm-2wp2-gwWCGQ8MC2z1GcblyJkI2Q6OYdIY-LHJUE_4bQZN_tgh-HWb0sKQrBhqrera3SusuHLZk-tsp6SgceCYmrhfHVxwc?key=Acf-4qVBFhWXag5ihNMY5Q)

3\. Также установим программу управления репозиториями, которая позволит нам контролировать какие версии php мы будем устанавливать на сервере:
    
    
    yum -y install yum-utils

4\. Теперь мы отключим все старые версии php и включим php 8.1, потому что сейчас панель требует ее:
    
    
    yum-config-manager --disable 'remi-php*'
    
    yum-config-manager --enable remi-php81

На снимке экрана результат команды будет показывать как при отключении, так и при включении репозиториев с помощью yum-config-manager.

![](https://lh7-us.googleusercontent.com/docsz/AD_4nXeXT2tpFRKhgHiFc5uhAmpVwBtYFg5VHVvCGLpxRT9vFqzQvQgtnYzYoCsjl7UgAJRZYROfGR9efUz1GKsfl0E9W76ldIF6dYCugS9AkunXZXW9j8HOsFMa2kFpb4zqYvURBEvNISxhJKtJCF7kzsm0JH7E?key=Acf-4qVBFhWXag5ihNMY5Q)

5\. Сейчас мы будем устанавливать зависимости, необходимые для работы панели. Пропуск одной из них приведет к неработоспособности панели:
    
    
    yum -y install httpd unzip openssl wget curl php php-sodium php-cli php-common php-gd php-mbstring php-mysqlnd php-pdo php-xml php-zip php-tokenizer php-json php-curl php-openssl php-zlib php-bcmath php-posix php-zip redis

Во-первых, мы установили веб-сервер, который позволит нам получить доступ к самой панели. Также мы установили openssl, который отвечает за создание ключей безопасности, wget и curl, необходимые для загрузки ресурсов из других источников, кроме репозиториев.

6\. Теперь нам нужно добавить репозиторий MariaDB, который будет отвечать за базы данных как самой панели управления, так и наших игровых серверов.

Создаем файл /etc/yum.repos.d/mariadb.repo со следующим текстом:
    
    
    # MariaDB 10.6 CentOS repository list - created 2023-05-27 06:09 UTC
    
    # https://mariadb.org/download/
    
    [mariadb]
    
    name = MariaDB
    
    # rpm.mariadb.org is a dynamic mirror if your preferred mirror goes offline. See https://mariadb.org/mirrorbits/ for details.
    
    # baseurl = https://rpm.mariadb.org/10.6/centos/$releasever/$basearch
    
    baseurl = https://mirrors.xtom.de/mariadb/yum/10.6/centos/$releasever/$basearch
    
    module_hotfixes = 1
    
    # gpgkey = https://rpm.mariadb.org/RPM-GPG-KEY-MariaDB
    
    gpgkey = https://mirrors.xtom.de/mariadb/yum/RPM-GPG-KEY-MariaDB
    
    gpgcheck = 1

![](https://lh7-us.googleusercontent.com/docsz/AD_4nXfP_0QS5vi63AljS2Xo4_6ho5MettR_elFeCSP2T0Wv5iCeKESDDdkcWO0SYTkQZEFx-4Gk7D3iVEsYToDv9AUrOmRjz0fIFfoFvdn2nRdANgCHyW_Tra83VOPkWJDYryIgdBd3XgwPUQNR4QSf741bEhvA?key=Acf-4qVBFhWXag5ihNMY5Q)

7\. Снова нужно обновить репозитории, чтобы система могла загрузить MariaDB на сервер:
    
    
    yum -y update

8\. Устанавливаем саму MariaDB:
    
    
    yum install -y mariadb-server

  


9\. Теперь создадим директорию, в которой будет сама панель, и перейдем в нее. Здесь ключ -p нужен, чтобы оно создало директории, которые находятся внутри пути. Например, может не быть директории www:
    
    
    mkdir -p /var/www/pterodactyl
    
    cd /var/www/pterodactyl

10\. Настраиваем файерволл, чтобы потом был доступ к панели:
    
    
    firewall-cmd --add-service=http --permanent
    
    firewall-cmd --add-service=https --permanent 
    
    firewall-cmd --reload

Если при выполнении команды возникает ошибка, возможно у Вас одна (-) вместо двух перед параметрами permanent, reload и add-service.

11\. Запускаем MariaDB (mysql) и производим ее сервисом, чтобы при запуске системы она сама запускалась:
    
    
    systemctl start mariadb
    
    systemctl enable mariadb

12\. Создаем пользователя и базу данных:
    
    
    mysql -u root -e "CREATE DATABASE panel;"
    
    mysql -u root -e "CREATE USER 'pterodactyl'@'localhost' IDENTIFIED BY '121212121212';"
    
    mysql -u root -e "GRANT ALL PRIVILEGES ON panel.* TO 'pterodactyl'@'localhost' WITH GRANT OPTION;"

Вывода этих команд не будет, но они выполнились.

13\. Здесь нам нужно установить composer, далее большинство работы будет связано именно с ним:
    
    
    curl -sS https://getcomposer.org/installer | php --install-dir=/usr/local/bin --filename=composer && ln /usr/local/bin/composer /usr/bin/composer

![](https://lh7-us.googleusercontent.com/docsz/AD_4nXdOFZDwX6P-NI4t_lI6BCDfgiI0E64bnEiKvBTSjBQdk_e3rcM-eOmMLioh86G30s9oq4rzqZhN1pEacKyQZqpOm0G848ZoX4xaBM4H4EPf-SPhBpO92vkExFzGm74UvBZsAaW23Rhjzdkm_MKMorRmdxs?key=Acf-4qVBFhWXag5ihNMY5Q)

Эта команда загружает установщик composer после чего копирует его в директорию /usr/local/bin, и создает ссылку в директорию /usr/bin, которая отвечает за команды, поэтому когда Вы пишете команду, система ищет файл программы именно там.

14\. На этом пункте с помощью pwd проверьте, находитесь ли вы в директории /var/www/pterodactyl, сюда мы будем загружать саму панель с помощью команды:
    
    
    curl -Lo panel.tar.gz https://github.com/pterodactyl/panel/releases/latest/download/panel.tar.gz

15\. Распаковываем ее:
    
    
    tar -xzvf Panel.tar.gz

16\. Выдадим правильные права, чтобы потом не было ошибок при установке:
    
    
    chmod -R 755 store/* bootstrap/cache

17\. Скопируем .env файл, без него панель не установится правильно:
    
    
    cp .env.example .env

18\. Установим composer в локальную директорию. Оно спросит запускать ли команду от пользователя root, соглашаемся:
    
    
    composer install --no-dev --optimize-autoloader

![](https://lh7-us.googleusercontent.com/docsz/AD_4nXcz9tdd_idHvfTrjSBbV-yaI6XtgP86yawsROYWUnKEsJR7NI0PZrRdWBF7q8PNHmn1I18BjU8fNdVpx4YYL6bAfA6Ug6wenJbNPlQR5U6zja6yefe92AAQGctnHRgwaotXWuXryRWM9tWYjnCSYwO9DhWV?key=Acf-4qVBFhWXag5ihNMY5Q)

![](https://lh7-us.googleusercontent.com/docsz/AD_4nXf3tJd7EDikdTGZy24eO4sNRf8dx5OxhJnq7sJas_4IA_jECFOWyVLIBjRQC8v_BNW6XoWdv1szZplPGCR8x71JScuY2fBcp9SMVGi3Sfxpl8sGrLv0lv2J_UtmiCsgs83uSO8yE2jWW-avB_kJdZidMfp3?key=Acf-4qVBFhWXag5ihNMY5Q)

19\. Создадим ключ для composer:
    
    
    php artisan key:generate --force

![](https://lh7-us.googleusercontent.com/docsz/AD_4nXdRGBPPzgtz9YTLLwO4P25kxXwRm-rCi_Zlb7mH0gx-ixe1bQivgqySwYnxGgwOYxJwq5Sb9Box-sF1fWlK-3YOdtbVEeJS-miM0H_LcMeIGgRPtYBayQ5lzvw_jtRMYlcfcO3o6636zcOpE0tl85zKJrAF?key=Acf-4qVBFhWXag5ihNMY5Q)

20\. Начнем подключение панели управления к базе данных и настройку параметров:
    
    
    php artisan p:environment:setup --author=EMAIL --url=http://DOMAIN --timezone=UTC --cache=file --session=database --queue=database --settings-ui=yes --telemetry=no --no-interaction

![](https://lh7-us.googleusercontent.com/docsz/AD_4nXekFp-Jfm807xYmP3uSxzqHV9f4kQgb5ft2c5KXDYgxeL9L0UOXNOZGT4sHzgtGzqy-DsuSkhvPWIluPPo6XTCRnXj2uGY2C-CM1x_PUBWX3uWQQbjgm99u4JTxN5WVWa8ZjTcVGkgtRd_pcQQXovxLwnUr?key=Acf-4qVBFhWXag5ihNMY5Q)

Также на снимке экрана видно, какие настройки нужно вводить при работе с интерактивным режимом настройки. (php artisan p:environment:setup)

Во-первых, вместо EMAIL нужно указать любую почту. Для параметра DOMAIN необходимо указывать реальный домен, направленный на сервер, или IP-адрес сервера, или домен, указанный в файле hosts на устройстве. Эти настройки нужны для работы самой панели. Все остальные параметры лучше не изменять для стабильности работы.
    
    
    php artisan p:environment:database --host=localhost --port=3306 --database=panel --username=pterodactyl --password=PASS --no-interaction

![](https://lh7-us.googleusercontent.com/docsz/AD_4nXcpGwByidEJpS6zCYT6pka7e8fWdmmJM0xLcHesBCrVyeoNqoCyFrdobQ0U7wZGLrvaChzHa_Rey0Rk_EPXQ5pluWw_5YCCu3s8bfprv225LJpys53fHRiY-G1CJgk29aROdGSTswk_Gsutq3kpOHYJhQXz?key=Acf-4qVBFhWXag5ihNMY5Q)

Здесь мы изменяем параметр PASS на пароль от базы данных, созданной ранее.
    
    
    php artisan migrate --seed --force --no-interaction

![](https://lh7-us.googleusercontent.com/docsz/AD_4nXdag3u00cbNaCCZT2xmYOSsvs_V-LLLaNfTEa8od2FVYHRzqZlisd7BtoIGdR5Lf9WMkT1gL4bBIZnVE5DYQxCs2rTRMPl6yUSpBfTE9sk9z-RJVoxlt4ZLXvahSLBTP0y5SdOcuEhgcYwNCCEzUrNpbtDj?key=Acf-4qVBFhWXag5ihNMY5Q)

Команда для создания пользователя на панели. Если пользователь не должен быть администратором, то в параметре --admin выставляете 0. Пользователей можно также создавать внутри панели.
    
    
    php artisan p:user:make --email=EMAIL --username=USER1 --name-first=USER2 --name-last=USER3 --password=PASS2 --admin=1 --no-interaction

![](https://lh7-us.googleusercontent.com/docsz/AD_4nXdOjk8VckVddEzwyXxv9Lp9MBLdRcOKNH9NBFbGch8kJTuPQu9_B2-f9wolP2rxHQVYGhYgQSDeAYgGBXjLuLTAVTMQYmfoiAhJJ_N2X4Zysy-bo88JMuc3gdcXvGMD_eNNHcD4CgngWSn_VmKMyZiT7agf?key=Acf-4qVBFhWXag5ihNMY5Q)

Здесь в EMAIL указываете email, с помощью которого Вы будете входить в панель управления. Параметр USER1 – это ник пользователя. Параметры USER2 и USER3 – это имя и фамилия, они также отображаются на панели. Параметр PASS2 – это пароль, с помощью которого пользователь будет входить в панель управления. Это все параметры, которые здесь нужно редактировать. Параметр --no-interaction нужен, чтобы не настраивать пользователя через встроенные в Composer инструменты, поскольку в них ничего не изменишь.

Теперь мы на финишной прямой. Все, что нам осталось, это настроить Apache2 (httpd) и настроить сервис панели управления, чтобы его можно было перезапускать при необходимости.

21\. Выставляем пользователя для директории панели:
    
    
    chown -R apache:apache /var/www/pterodactyl/*

Звездочка означает, что команда будет использована для всех файлов внутри данной директории.

22\. Запускаем Apache и делаем его сервисом как раньше с MariaDB:
    
    
    systemctl start httpd
    
    systemctl enable httpd

23\. Создаем конфигурацию Apache со следующими параметрами по /etc/httpd/conf.d/pterodactyl.conf:
    
    
    <VirtualHost *:80>
    
    ServerName DOMAIN
    
    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>

Вместо DOMAIN указываете домен, указанный ранее при настройке панели.

24\. Настраиваете крон задания, в файл /etc/crontab вставляете следующую ленту:
    
    
    echo "* * * * * php /var/www/pterodactyl/artisan schedule:run" >> /etc/crontab

![](https://lh7-us.googleusercontent.com/docsz/AD_4nXfRv5ykGRRI18xa5SHMp0sEd4GJomaZtqiywWx8umvR5BEYI51mg0Ynxdf6R_sjyW22m2qh0uccjOXVxPFkuPxt0s4nbYOi2eS2zXMQd11mjMIzD1qs5pmxHZ5EyAbv8TYH9WPHtrSDRrbpof8dpsitD0h1?key=Acf-4qVBFhWXag5ihNMY5Q)

25\. Теперь создадим сервис самой панели управления путем /etc/systemd/system/pteroq.service со следующим содержанием:
    
    
    # Pterodactyl Queue Worker File
    
    # ----------------------------------
    
    [Unit]
    
    Description=Pterodactyl Queue Worker
    
    #After=redis.service
    
    [Service]
    
    # On some systems the user and group might be different.
    
    # Some systems use `apache` or `nginx` as the user and group.
    
    User=apache
    
    Group=apache
    
    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

После чего нам нужно запустить сервис и перезапустить Apache:
    
    
    systemctl enable --now pteroq.service
    
    systemctl start pteroq.service
    
    systemctl restart httpd

Готово, панель управления должна быть доступна при переходе по домену или IP.

При переходе Вы можете увидеть такое поле входа.

![](https://lh7-us.googleusercontent.com/docsz/AD_4nXdiIA2Cq_Uq8TNNVe3oVlROECbt5i4WdVWKDZi5JwW689wdcf5M859M5Kvz8J_BQchBVeyrUhjcdrIsMAnL-dwy9-NaluanItbUUK3mvzevJM60QXuprRMK-qEqbF-i9-OcXovWfpjVkUL3mNzXtyRxJS8?key=Acf-4qVBFhWXag5ihNMY5Q)

Внутренний интерфейс панели управления выглядит следующим образом:

![](https://lh7-us.googleusercontent.com/docsz/AD_4nXftw032wh7Z7_mIoaIjIjWolCgnlZlsjCsUlNWwmNlNqRMlSaZTM1g1xI0yzoKe4WqQpP2tqOcwA5wmCT5y5NEeeopEZ0DGkaH5rhfeMe-b2DXPW7ISLgLBg2yt6y5Hv6F6FKLiTk5V5Kx3ini0zGjbExED?key=Acf-4qVBFhWXag5ihNMY5Q)

![](https://lh7-us.googleusercontent.com/docsz/AD_4nXc8EoqaOf56Xg3DTCvCsU8IbiZZnItWl20f2nlTMdmZfjCURfP_rfsOQllIRBudkI69RPBpuqMqktWKGNAkFESxaZtIPex7LV_DwQ0II2i4sSX0RMD_qACiO6i2mjJwzUOXfl5x6ADu6fqOKS3xcy0lfsK5?key=Acf-4qVBFhWXag5ihNMY5Q)

Теперь установка с помощью готового скрипта.

Загружаем скрипт:
    
    
    curl -O https://raw.githubusercontent.com/FartGarfild/Pterodactyl.sh/main/CentOS_7_Install.sh

Перед запуском его нужно отредактировать (vi или nano подойдет):
    
    
    vi CentOS_7_Install.sh

В переменных нужно указать EMAIL, который будет использоваться в панели управления и DOMAIN, который будет использовать панель для доступа к ней.

После этого с помощью команды устанавливаем панель управления. Установка занимает примерно 15-30 минут.
    
    
    chmod +x CentOS_7_Install.sh && bash CentOS_7_Install.sh

После чего доступ к панели Вы сможете найти в файле /var/www/pterodactyl/access.txt.

Так устанавливается панель управления Pterodactyl на CentOS 7.

**P.S. У Вас может выбить 500 ошибку как при ручной установке, так и при установке из скрипта, это нормально для этой панели, всё зависит от образа системы который используют хостинги.**

Похожие статьи

[Как посмотреть логи RDP подключений в Windows Server 2016, 2019](https://zomro.com/rus/blog/faq/277-how-to-view-rdp-connection-logs-in-windows-2016-2019) [VestaCP: База данных без префикса пользователя.](https://zomro.com/rus/blog/faq/214-vestacp-baza-dannyh-bez-prefiksa-polzovatelja) [Как включить двухфакторную аутентификацию в личном кабинете](https://zomro.com/rus/blog/faq/321-how-to-enable-two-factor-authentication-in-your-personal-account) [Настройка DNS-сервера BIND9 на Linux для внутренней сети](https://zomro.com/rus/blog/faq/714-setting-up-a-bind9-dns-server-on-linux-for-an-internal-network) [Как установить Node.js на Windows Server 2012, 2016, 2019](https://zomro.com/rus/blog/faq/312-kak-ustanovit-nodejs-na-windows-server-2012-2016-2019)

[ Сервер для Forex от €7.95/мес ](/rus/server-for-forex)
