Установка PyroCMS на Ubuntu 16.04 LTS
Что это и когда использовать
PyroCMS — это модульная система управления контентом с открытым исходным кодом, созданная на Laravel 5. Она лёгкая, расширяемая и подходит для проектов, где нужна простая архитектура модулей и понятная панель администрирования.
Важно: исходный материал ориентирован на Ubuntu 16.04 и PHP 7.0; эти версии старее современных релизов. Для продакшн-серверов рассмотрите обновление до поддерживаемых LTS-версий ОС и PHP.
Предварительные требования
- Сервер с Ubuntu 16.04 LTS.
- Ненулевой пользователь с правами sudo.
- Доступ по SSH и базовый опыт работы с командной строкой.
1. Подготовка системы
Обновите список пакетов и установите доступные обновления:
sudo apt-get update -y
sudo apt-get upgrade -yПерезагрузите сервер по необходимости, затем установите вспомогательные утилиты:
sudo apt-get install curl wget unzip git -yВажно: на серверах в продакшн-среде согласуйте окно обслуживания перед перезагрузкой.
2. Установка Nginx, MariaDB и PHP
Установите веб-сервер, СУБД и нужные расширения PHP:
sudo apt-get install nginx mariadb-server php7.0 php7.0-fpm php7.0-mysql php7.0-curl php7.0-sqlite3 php7.0-mbstring php7.0-cli php7.0-gd php7.0-dom -yЗапустите сервисы и включите автозапуск:
sudo systemctl start nginx
sudo systemctl start mysql
sudo systemctl start php7.0-fpm
sudo systemctl enable nginx
sudo systemctl enable mysql
sudo systemctl enable php7.0-fpmПримечание: если в вашей системе используются другие имена служб или другая версия PHP, скорректируйте команды соответственно.
3. Настройка базы данных MariaDB
Защитите инсталляцию MariaDB:
sudo mysql_secure_installationОтвечайте интерактивно на вопросы по безопасности. Пример ожидаемых ответов можно встретить в исходном руководстве.
Войдите в консоль MariaDB и создайте базу и пользователя для PyroCMS:
mysql -u root -p
MariaDB [(none)]>CREATE DATABASE pyrodb;
MariaDB [(none)]> CREATE user pyro identified by 'password';
MariaDB [(none)]> GRANT ALL PRIVILEGES on pyrodb.* to pyro@localhost identified by 'password';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit;Замените ‘password’ на надёжный пароль и сохраните его в безопасном хранилище.
4. Установка Composer и PyroCMS
Установите Composer — менеджер зависимостей PHP:
curl -s https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
sudo chmod 755 /usr/local/bin/composerСоздайте папку для сайта и установите PyroCMS:
sudo mkdir /var/www/html/pyrocms
cd /var/www/html/pyrocms/
sudo composer create-project pyrocms/pyrocms .Установите владельцем веб-сервера файлы приложения:
sudo chown -R www-data:www-data /var/www/html/pyrocmsСовет: при наличии CI/CD поместите процесс установки зависимостей в пайплайн, а код развертывайте из репозитория.
5. Настройка Nginx для PyroCMS
Создайте файл виртуального хоста:
sudo nano /etc/nginx/sites-available/pyro.confДобавьте конфигурацию (проверьте server_name и путь к корню):
server {
listen 80;
server_name 192.168.0.102; # Проверьте и замените на ваш IP или домен
root /var/www/html/pyrocms/public; # Проверьте путь
index index.php index.html;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; # Проверьте сокет или адрес и порт
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}Сохраните файл, включите сайт и перезапустите Nginx:
sudo ln -s /etc/nginx/sites-available/pyro.conf /etc/nginx/sites-enabled/
sudo systemctl restart nginxПроверьте конфигурацию Nginx перед перезапуском через nginx -t.
6. Финальная установка через браузер
Откройте в браузере адрес http://192.168.0.102 (или ваш домен). В шаге установки потребуется:
- Принять лицензию.
- Ввести данные базы данных (host, имя базы, пользователь, пароль).
- Создать данные администратора (логин и пароль).
- Настроить основные параметры приложения.




После успешной установки вы увидите экран подтверждения установки и сможете войти в панель администратора.



Проверка установки и критерии приёмки
Критерии приёмки:
- Сайт доступен по указанному URL и возвращает страницу установки или панель администратора.
- При вводе корректных учётных данных администратор входит в панель.
- Создаётся и отображается тестовая страница/раздел.
- Записи логов веб-сервера не содержат критических ошибок (502, 500).
Тестовые сценарии:
- Попробовать зайти на главную и в админку.
- Создать новую страницу, сохранить и открыть её.
- Проверить подключение к базе: попытка записать и прочитать запись.
Частые ошибки и способы устранения
- 502 Bad Gateway: проверьте, запущен ли php7.0-fpm и совпадает ли путь к сокету в конфигурации Nginx.
- Ошибка соединения с БД: проверьте правильность имени базы, пользователя и пароля, а также доступность localhost и привилегии.
- Проблемы с правами: убедитесь, что папки хранения и кэша принадлежат www-data и имеют корректные права.
- Composer не устанавливает зависимости: обновите composer, проверьте версию PHP и доступ в интернет для скачивания пакетов.
Рекомендации по безопасности и продакшн-харденинг
- Установите SSL через Let’s Encrypt и перенаправьте HTTP на HTTPS. Пример команд для Certbot:
sudo apt-get install certbot python-certbot-nginx -y
sudo certbot --nginx -d example.com- Закройте неп нужные порты и включите UFW, разрешив только HTTP/HTTPS/SSH:
sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw enable- Храните секреты и пароли вне репозитория. Используйте переменные окружения или секрет-менеджер.
- Ограничьте доступ к панели администрирования по IP или через двухфакторную аутентификацию.
Альтернативные подходы и миграции
- Если вы планируете долгосрочную поддержку, рассмотрите установку на более новую версию Ubuntu и PHP (например, PHP 7.4/8.x), с соответствующей проверкой совместимости PyroCMS.
- Для разработки используйте Docker-контейнеры с преднастроенным стеком LEMP и Composer.
Роли и чек-листы
Системный администратор:
- Установить и настроить Nginx, MariaDB, PHP-FPM.
- Настроить бэкапы баз данных и файлов.
- Обеспечить SSL и межсетевой экран.
Разработчик:
- Настроить окружение разработки (Composer, миграции).
- Проверить совместимость модулей и расширений.
- Настроить CI/CD для автоматических деплоев.
Контент-менеджер:
- Проверить доступ к административной панели.
- Создать базовую структуру страниц и меню.
- Протестировать публикацию и правки контента.
Короткая методология проверки установки
- Проверить доступность порта и ответа Nginx.
- Убедиться, что PHP-FPM обрабатывает .php-запросы.
- Проверить подключение к БД и права пользователя.
- Пройти через веб-установщик PyroCMS и войти в систему.
- Выполнить базовые CRUD-операции в интерфейсе.
Глоссарий, 1 строка
- PyroCMS: модульная CMS на Laravel 5.
- Composer: менеджер зависимостей PHP.
- Nginx: веб-сервер и обратный прокси.
- MariaDB: форк MySQL, СУБД с открытым исходным кодом.
Короткое объявление для команды (100–200 слов)
Подготовлен пошаговый гайд по установке PyroCMS на Ubuntu 16.04 LTS. В инструкции описана подготовка сервера, установка Nginx, MariaDB и PHP 7.0, настройка базы данных и виртуального хоста, установка Composer и самого PyroCMS, а также финальная конфигурация через веб-установщик. В гайде есть чек-листы для ролей, список типичных ошибок с рекомендациями по их устранению, критерии приёмки и базовые меры безопасности: SSL, UFW и права доступа. Документ полезен для быстрого развёртывания тестовой и небольшой боевой инстанции. Для долгосрочных проектов рекомендуется использовать поддерживаемые версии Ubuntu и PHP и интегрировать установку в CI/CD.
Итог
Установка PyroCMS на Ubuntu 16.04 выполняется стандартными шагами: подготовка ОС, установка стека LEMP, настройка БД, Composer и развертывание кода. После настройки виртуального хоста и выполнения веб-установки вы получите готовую к использованию CMS. Для продакшна добавьте SSL, бэкапы и регулярные обновления.
Важно: проверяйте версии компонентов и настройки прав доступа перед развёртыванием в продакшн.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента