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, чтобы подтвердить установку.
После установки проверьте службы LEMP Stack, чтобы убедиться, что они запущены.
Проверьте веб-сервер Nginx с помощью приведенной ниже команды systemctl.
sudo systemctl is-enabled nginx sudo systemctl status nginx
Теперь проверьте состояние сервера MariaDB с помощью следующей команды:
sudo systemctl is-enabled mariadb sudo systemctl status mariadb
Далее выполните следующую команду для проверки службы PHP-FPM.
sudo systemctl is-enabled php8.3-fpm sudo systemctl status php8.3-fpm
И наконец, проверьте версию Composer с помощью команды ниже. Вы увидите, что установлен Composer 2.4.7.
sudo -u www-data composer --version
Настройка 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.
Загрузка исходного кода 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:
После завершения установки перейдите к следующему разделу.
Настройка серверного блока 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, вы увидите вывод тест пройден успешно – синтаксис в порядке.
Наконец, выполните следующую команду 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 на сервер Ubuntu 24.04. У вас установлена PyroCMS со стеком LEMP (Linux, Nginx, MySQL/MariaDB и PHP-FPM). Вы также загрузили PyroCMS с помощью Composer и обеспечили безопасность PyroCMS с помощью HTTPS через Certbot и Letsencrypt.