Как установить PyroCMS на сервер Ubuntu 24.04

PyroCMS – это CMS с открытым исходным кодом, основанная на веб-фреймворках PHP и Laravel. Это мощная система управления контентом с MySQL/MariaDB в качестве базы данных, а также обеспечивает интуитивно понятное и простое веб-администрирование для более легкого управления.

В этом руководстве мы расскажем вам об установке PyroCMS на Ubuntu 24.04 с помощью стека LEMP (Linux, Nginx, MySQL/MariaDB и PHP-FPM) и Composer.

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

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

  • Сервер Ubuntu 24.04.
  • Некорневой пользователь с правами администратора.
  • Доменное имя, указывающее на IP-адрес сервера.

Установка зависимостей

PyroCMS – это система управления контентом на базе Laravel с MySQL/MariaDB в качестве базы данных. Перед установкой PyroCMS вам необходимо установить стек LEMP (Linux, Nginx, MySQL/MariaDB и PHP-FPM) и Composer на вашу систему Ubuntu.

Сначала выполните следующую команду apt для обновления индекса пакетов и установки стека LEMP (Linux, Nginx, MySQL/MariaDB и PHP-FPM) и Composer.

sudo apt update sudo apt install nginx mariadb-server composer php-cli php-fpm php-mysql php-curl php-sqlite3 php-mbstring php-gd php-xml

Введите Y, чтобы подтвердить установку.

установить deps

После установки проверьте службы LEMP Stack, чтобы убедиться, что они запущены.

Проверьте веб-сервер Nginx с помощью приведенной ниже команды systemctl.

sudo systemctl is-enabled nginx
sudo systemctl status nginx

Теперь проверьте состояние сервера MariaDB с помощью следующей команды:

проверить nginx

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

проверить mariadbn

Далее выполните следующую команду для проверки службы PHP-FPM.

sudo systemctl is-enabled php8.3-fpm
sudo systemctl status php8.3-fpm

проверить php-fpm

И наконец, проверьте версию Composer с помощью команды ниже. Вы увидите, что установлен Composer 2.4.7.

sudo -u www-data composer --version

проверить composer

Настройка PHP-FPM

После установки зависимостей вы настроите PHP-FPM, изменив некоторые настройки по умолчанию в файле php.ini и перезапустив службу PHP-FPM.

Откройте файл php.ini для PHP-FPM с помощью редактора nano.

sudo nano /etc/php/8.3/fpm/php.ini

Измените конфигурацию по умолчанию на следующую и настройте параметры date.timezone и memory_limit в соответствии с вашим текущим окружением.

date.timezone = Europe/Amsterdam
max_execution_time = 130
memory_limit = 256M
allow_url_fopen = On
allow_url_include = Off
post_max_size = 128M
upload_max_filesize = 128M
max_input_vars = 5000

После завершения сохраните файл и выйдите из редактора.

Теперь выполните приведенную ниже команду systemctl, чтобы перезапустить службу PHP-FPM и применить ваши изменения в php.ini.

sudo systemctl restart php8.3-fpm

Настройка сервера MariaDB

Теперь, когда вы настроили PHP-FPM, вам нужно обеспечить установку сервера MariaDB и создать новую базу данных и пользователя для PyroCMS.

Защитите установку сервера MariaDB с помощью команды mariadb-secure-installation, приведенной ниже.

sudo mariadb-secure-installation

Вас спросят о следующих конфигурациях:

  • Переключиться на аутентификацию unix_socket? Введите n и нажмите ENTER.
  • По умолчанию корневой пользователь MariaDB уже защищен. По желанию вы можете включить его, введя y для yes.
  • Измените пароль корневого пользователя. Введите y для подтверждения и установите новый пароль корневого пользователя MariaDB.
  • Удалить анонимных пользователей? Введите y для подтверждения.
  • Запретить удаленный вход в систему root? Введите y для подтверждения. Будет разрешено только локальное подключение, если вы используете MariaDB
  • Удалите тестовую базу данных и получите к ней доступ. Введите y, чтобы подтвердить и удалить базу данных по умолчанию ‘test’.
  • Наконец, введите y еще раз, чтобы перезагрузить все привилегии таблиц на вашем сервере MariaDB и применить новые изменения.

После того как вы настроили MariaDB, создайте новую базу данных и пользователя для PyroCMS.

Войдите на сервер MariaDB с помощью команды mariadb, приведенной ниже. Введите пароль root, когда появится запрос.

sudo mariadb -u root -p

Теперь выполните следующие запросы для создания новой базы данных pyrocmsdb, новый пользователь pyrocms@localhost, а пароль passw0rd. При необходимости измените имя базы данных, имя пользователя и пароль.

CREATE DATABASE pyrocmsdb;
GRANT ALL PRIVILEGES ON pyrocmsdb.* TO pyrocms@localhost IDENTIFIED BY 'passw0rd';
FLUSH PRIVILEGES;

создание базы данных и пользователя

Далее выполните приведенный ниже запрос, чтобы проверить привилегии пользователя pyrocms@localhost. Вы увидите pyrocmsdb Доступ к базе данных осуществляется под пользователем pyrocms@localhost.

SHOW GRANTS FOR pyrocms@localhost;

Наконец, введите quit, чтобы выйти из сервера MariaDB.

показать привилегии db

Загрузка исходного кода PyroCMS

Создайте новые каталоги для Composer и PyroCMS, перейдите в /var/www/pyrocms, а затем измените право собственности на новые каталоги на пользователя www-data. В этом случае /var/www/pyrocms будет использоваться в качестве корня документа для PyroCMS.

mkdir -p /var/www/{.config,.cache,pyrocms}; cd /var/www/pyrocms
sudo chown -R www-data:www-data /var/www/{.config,.cache,pyrocms}

Теперь выполните приведенную ниже команду composer, чтобы загрузить исходный код PyroCMS, а также установить и обновить зависимости PHP.

sudo -u www-data composer create-project pyrocms/pyrocms .
sudo -u www-data composer update

Ниже показана установка PyroCMS с помощью команды composer:

скачать и установить зависимости pyrocms

После завершения установки перейдите к следующему разделу.

Настройка серверного блока Nginx

В этом разделе вы создадите новую конфигурацию серверного блока Nginx для установки PyroCMS. Убедитесь, что у вас есть доменное имя, указывающее на IP-адрес вашего сервера Ubuntu. В этом примере вы будете использовать доменное имя PyroCMS.local.

Создайте новый блок сервера Nginx /etc/nginx/sites-available/pyrocms.conf с помощью редактора nano.

sudo nano /etc/nginx/sites-available/pyrocms.conf

Скопируйте и вставьте следующую конфигурацию и не забудьте изменить server_name на имя вашего домена.

server {
listen 80;
server_name PyroCMS.local;

index index.php index.html;
root /var/www/pyro/public;

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

location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/run/php/php-8.3-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_index index.php;
}
}

После этого сохраните и выйдите из файла.

Теперь выполните приведенную ниже команду для создания симлинка файла pyrocms.conf на каталог /etc/nginx/sites-enabled и проверьте синтаксис Nginx.

sudo ln -s /etc/nginx/sites-available/pyrocms.conf /etc/nginx/sites-enabled/
sudo nginx -t

Если у вас правильный синтаксис Nginx, вы увидите вывод тест пройден успешно – синтаксис в порядке.

настройка nginx

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

sudo systemctl restart nginx

Защита PyroCMS с помощью HTTPS через Letsencrypt

Чтобы защитить PyroCMS, вы внедрите HTTPS через Letsencrypt. Для этого необходимо установить Certbot для генерации SSL/TLS сертификатов и автоматической реализации HTTPS на вашей установке PyroCMS.

Установите пакеты certbot и python3-certbot-nginx с помощью следующей команды. Введите Y, чтобы подтвердить установку.

sudo apt install certbot python3-certbot-nginx

Теперь выполните приведенную ниже команду certbot, чтобы сгенерировать SSL-сертификаты и защитить PyroCMS с помощью HTTPS.

sudo certbot --nginx --agree-tos --no-eff-email --redirect --hsts --staple-ocsp --email [email protected] -d PyroCMS.local

После завершения процесса вы получите сертификаты в каталоге /etc/letsencrypt/live/domain.com, а ваша PyroCMS теперь защищена по HTTPS.

Установка PyroCMS с помощью веб-инсталлятора

Откройте веб-браузер и зайдите на свой домен, например, https://PyroCMS.local/. Теперь вы увидите одну страницу установки PyroCMS:

  • Выберите I Agree, чтобы принять лицензию на установку PyroCMS.
  • Введите имя базы данных, пользователя и пароль.
  • Введите нового пользователя-администратора, адрес электронной почты и пароль для PyroCMS.
  • Введите данные о сайте вашей установки, такие как доменное имя, язык и часовой пояс.
  • Нажмите кнопку Установить, чтобы подтвердить установку.

установить pyrocms

После завершения установки вы увидите следующую страницу:

установка завершена

Нажмите Посмотреть сайт , чтобы перейти на главную страницу PyroCMS. Ниже показана стандартная индексная страница PyroCMS.

домашняя страница

Нажмите Вход , чтобы получить доступ к экрану входа в PyroCMS. Введите пользователя и пароль администратора, а затем нажмите кнопку Вход.

вход

В случае успеха вы увидите панель администратора PyroCMS, как показано ниже:

панель управления

Заключение

Поздравляем! Вы завершили установку PyroCMS на сервер Ubuntu 24.04. У вас установлена PyroCMS со стеком LEMP (Linux, Nginx, MySQL/MariaDB и PHP-FPM). Вы также загрузили PyroCMS с помощью Composer и обеспечили безопасность PyroCMS с помощью HTTPS через Certbot и Letsencrypt.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *