Гид по технологиям

Установка Pagekit CMS на CentOS 7 с NGINX и MariaDB

• 5 min read • CMS • Обновлено 17 Nov 2025
Pagekit на CentOS 7: установка с NGINX и MariaDB
Pagekit на CentOS 7: установка с NGINX и MariaDB

Этот пошаговый гид показывает, как развернуть Pagekit CMS на CentOS 7 с NGINX, MariaDB и PHP-FPM. Включены опции получения SSL-сертификатов через acme.sh и Let’s Encrypt, советы по безопасности, чеклисты и краткая шпаргалка по командам.

Краткое описание и цели

Pagekit — современный модульный CMS с открытым исходным кодом (лицензия MIT), построенный на Symfony-компонентах и Vue.js. В этом руководстве вы выполните полную установку: от подготовки системы до финальной настройки в веб-интерфейсе.

Варианты поиска (primary intent + related): установка Pagekit, Pagekit на CentOS, Pagekit NGINX, Pagekit MariaDB, Pagekit SSL, как установить Pagekit

Требования

Перед началом убедитесь, что сервер соответствует минимальным требованиям:

  • Веб-сервер: Apache 2.2+ или NGINX.
  • База данных: MySQL 5.1+ или SQLite 3. Также поддерживается MariaDB.
  • PHP 5.5.9+ (рекомендуется PHP 7.2 или выше).
  • Обязательные PHP-расширения: json, session, ctype, tokenizer, SimpleXML, DOM, mbstring, pcre, zip и PDO (с MySQL или SQLite драйвером).
  • Дополнительно: curl, iconv, xmlparser, APC/XCache для ускорения (опционально).

Предварительные условия

  • Сервер с CentOS 7.
  • Непользователь root с sudo-привилегиями.

Начальные шаги (проверка и обновление системы)

Проверьте версию CentOS:

cat /etc/centos-release
# CentOS Linux release 7.6.1810 (Core)

Установите часовой пояс (пример):

timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'

Обновите пакеты системы:

sudo yum update -y

Установите базовые утилиты:

sudo yum install -y curl wget vim git unzip socat bash-completion epel-release

Important

  • Всегда выполняйте резервное копирование конфигураций перед изменениями.
  • Не используйте root для регулярной работы — применяйте пользователя с sudo.

Шаг 1 — Установка PHP и необходимых расширений

Подключите репозиторий Webtatic и установите PHP 7.2 и расширения (пример):

sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
sudo yum install -y php72w php72w-cli php72w-fpm php72w-common php72w-mbstring php72w-zip php72w-mysql php72w-sqlite3 php72w-curl php72w-xml

Проверка установленных модулей и версии PHP:

php -m
php --version

Запустите и включите сервис PHP-FPM:

sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service

Шаг 2 — Установка MariaDB и создание базы данных

Мы используем MariaDB в примере. Установка и запуск:

sudo yum install -y mariadb-server
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

Усиление безопасности и установка пароля root:

sudo mysql_secure_installation

Ответьте на вопросы скрипта, например:

  • Настроить VALIDATE PASSWORD — N
  • Указать новый пароль root
  • Удалить анонимных пользователей — Y
  • Запретить удалённый вход root — Y
  • Удалить тестовую базу — Y

Подключитесь к консоли MariaDB и создайте базу и пользователя для Pagekit:

sudo mysql -u root -p
MariaDB> CREATE DATABASE dbname;
MariaDB> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
MariaDB> FLUSH PRIVILEGES;
MariaDB> exit

Замените dbname, username и password на свои значения.

Шаг 3 — Установка acme.sh и получение сертификата Let’s Encrypt (опционально)

acme.sh — лёгкий клиент для получения сертификатов без лишних зависимостей.

Установка:

sudo su - root
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
./acme.sh --install --accountemail you@example.com
source ~/.bashrc
cd ~

Проверка версии:

acme.sh --version

Получение сертификатов RSA и ECDSA (пример для domain example.com):

# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256

Установка сертификатов в выбранную директорию и настройка перезагрузки nginx при обновлении:

mkdir -p /etc/letsencrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc

# RSA
acme.sh --install-cert -d example.com \
        --cert-file /etc/letsencrypt/example.com/cert.pem \
        --key-file /etc/letsencrypt/example.com/private.key \
        --fullchain-file /etc/letsencrypt/example.com/fullchain.pem \
        --reloadcmd "sudo systemctl reload nginx.service"

# ECC/ECDSA
acme.sh --install-cert -d example.com --ecc \
        --cert-file /etc/letsencrypt/example.com_ecc/cert.pem \
        --key-file /etc/letsencrypt/example.com_ecc/private.key \
        --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem \
        --reloadcmd "sudo systemctl reload nginx.service"

Все сертификаты должны автоматически обновляться acme.sh по умолчанию.

После завершения вернитесь к обычному sudo-пользователю:

exit

Note

  • Для тестирования можно добавить флаг –staging чтобы использовать стенд Let’s Encrypt.

Шаг 4 — Установка и конфигурация NGINX для Pagekit

Установите nginx:

sudo yum install -y nginx
sudo systemctl start nginx.service
sudo systemctl enable nginx.service

Пример конфигурации для /etc/nginx/conf.d/pagekit.conf:

server {
    listen [::]:443 ssl http2;
    listen 443 ssl http2;
    listen [::]:80;
    listen 80;

    server_name example.com;

    index index.php index.html;
    root /var/www/pagekit;

    ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/example.com/private.key;
    ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;

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

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        try_files $fastcgi_script_name =404;
        set $path_info $fastcgi_path_info;
        fastcgi_param PATH_INFO $path_info;
        fastcgi_index index.php; include fastcgi.conf;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_pass 127.0.0.1:9000;
    }
}

Проверка и перезагрузка:

sudo nginx -t
sudo systemctl reload nginx.service

Совет

  • В production обязательно включите HTTP->HTTPS перенаправление и обновите заголовки безопасности.

Шаг 5 — Загрузка и установка Pagekit

Создайте корневую папку сайта и назначьте владельца:

sudo mkdir -p /var/www/pagekit
sudo chown -R your_user:your_user /var/www/pagekit
cd /var/www/pagekit

Скачайте стабильный релиз Pagekit и распакуйте:

wget https://github.com/pagekit/pagekit/releases/download/1.0.16/pagekit-1.0.16.zip
unzip pagekit-1.0.16.zip
rm pagekit-1.0.16.zip

Установите корректные права и пользователя процесса веб-сервера (пример nginx):

sudo chown -R nginx:nginx /var/www/pagekit

Отредактируйте PHP-FPM pool, чтобы процесс работал от пользователя nginx, если нужно:

sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx
sudo systemctl restart php-fpm.service

Откройте сайт в браузере и следуйте мастеру установки.

Шаг 6 — Завершение настройки через веб-интерфейс

Главный экран веб-установщика Pagekit

На странице установщика нажмите правую стрелку, выберите язык и продолжите.

Выбор языка в установщике Pagekit

Выберите тип базы данных (SQLite или MySQL/MariaDB) и заполните поля подключения.

Подключение к базе данных Pagekit

Задайте параметры сайта и создайте администратора.

Настройка сайта и создание администратора Pagekit

После завершения вы попадёте на страницу входа в админку.

Вход в административную панель Pagekit

Полезные дополнения и рекомендации

1-line glossary

  • PHP-FPM: менеджер процессов PHP для работы через FastCGI.
  • acme.sh: клиент для автоматизации получения сертификатов от Let’s Encrypt.

Чеклист перед запуском в продакшен

  • Проверить права доступа на /var/www/pagekit (минимально привилегии).
  • Настроить бэкапы базы и файлов сайта.
  • Включить HTTPS и настроить перенаправление.
  • Обновить компоненты PHP и модулей до поддерживаемых версий.

Шпаргалка команд (часто используемые)

  • Обновление системы: sudo yum update -y
  • Установка nginx: sudo yum install -y nginx
  • Перезапуск PHP-FPM: sudo systemctl restart php-fpm.service
  • Проверка nginx: sudo nginx -t
  • Создание БД: sudo mysql -u root -p

Роли и обязанности (кто что делает)

  • Системный администратор: настройка сервера, nginx, PHP-FPM, SSL, бэкапы.
  • DBA: установка и поддержка MariaDB/MySQL, бэкапы, оптимизация запросов.
  • Веб-разработчик: установка Pagekit, темы, плагины, интеграции.

Критерии приёмки

  • Веб-интерфейс установщика доступен по HTTPS.
  • Админ-панель входит под созданным логином.
  • Главная страница сайта отдаёт 200 OK и статические ресурсы фильтруются через nginx.
  • Сертификат корректно установлен и не выдаёт предупреждений.

Отладка — типовые проблемы и решения

  • 502 Bad Gateway: проверьте, что php-fpm слушает адрес/порт, указанный в fastcgi_pass.
  • 403 Forbidden: проверьте права на папку и SELinux (если включён, используйте chcon или поставьте правильные контексты).
  • Ошибки подключения к БД: проверьте credentials и host (127.0.0.1 vs localhost).

Security hardening (рекомендации)

  • Отключите отображение ошибок PHP в продакшене.
  • Используйте строгие права на файлы: 750 для директорий, 640 для конфигов.
  • Включите HTTP Strict Transport Security (HSTS) для HTTPS.
  • Ограничьте доступ к административным разделам по IP, если возможно.

Edge cases / когда этот подход не подойдёт

  • Если вы хотите минимальную установку без веб-сервера, рассмотрите SQLite и встроенные варианты развертывания.
  • На хостингах с ограниченным доступом к пакетам RPM/репозиториям может потребоваться собрать окружение вручную.

Мини-методология развертывания

  1. Подготовка сервера и резервное копирование существующих конфигураций.
  2. Установка стека LEMP (NGINX, MariaDB, PHP-FPM).
  3. Получение и установка сертификатов.
  4. Развёртывание файлов Pagekit и настройка прав.
  5. Финальная настройка в веб-интерфейсе.

Краткое резюме

  • Pagekit легко устанавливается на CentOS 7 при наличии NGINX и PHP-FPM.
  • Рекомендуется использовать MariaDB/MySQL для производительности на больших сайтах, SQLite подходит для тестовой среды.
  • SSL через acme.sh и Let’s Encrypt упрощает безопасный запуск в продакшене.

Ссылки

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро