Як встановити та налаштувати 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.
- Користувач без права root і правами адміністратора.
- Доменне ім’я вказує на IP-адресу сервера.
Встановлення залежностей
PyroCMS – це система управління контентом на базі Laravel з базою даних MySQL/MariaDB. Перед встановленням PyroCMS ви встановите LEMP Stack (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 за допомогою наноредактора.
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.
- Користувач root MariaDB за замовчуванням вже захищений. За бажанням ви також можете увімкнути його, ввівши Y для Yes.
- Змініть пароль root. Введіть y, щоб підтвердити та встановити новий кореневий пароль MariaDB.
- Видалити анонімних користувачів? Введіть y для підтвердження.
- Віддалено заборонити вхід root 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. У цьому прикладі ви будете використовувати доменне ім’я infoit.local.
Створіть новий блок сервера Nginx /etc/nginx/sites-available/pyrocms.conf за допомогою редактора nano.
sudo nano /etc/nginx/sites-available/pyrocms.conf
Скопіюйте та вставте наведену нижче конфігурацію та обов’язково змініть server_name зі своїм доменним ім’ям.
server { listen 80; server_name hinfoit.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, ви побачите, що тест виводу test is successful – syntax is ok.
Нарешті, виконайте наступну команду 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 admin@infoit.com.ua -d infoit.local
Після завершення процесу ви отримаєте свої сертифікати в директорії /etc/letsencrypt/live/domain.com, а ваша PyroCMS тепер захищена за допомогою HTTPS.
Встановлення PyroCMS за допомогою веб-інсталятора
Відкрийте веб-браузер і перейдіть на сторінку свого доменного імені, наприклад https://infoit.local/. Тепер ви побачите одну сторінку встановлення PyroCMS:
- Виберіть Я згоден прийняти ліцензію на встановлення PyroCMS.
- Введіть ім’я бази даних, користувача та пароль.
- Введіть нового адміністратора, адресу електронної пошти та пароль для вашого PyroCMS.
- Введіть дані сайту для встановлення, такі як доменне ім’я, мова та часовий пояс.
- Натисніть «Встановити», щоб підтвердити інсталяцію.
Після завершення інсталяції ви побачите наступну сторінку:
Натисніть View Site, щоб отримати доступ до домашньої сторінки PyroCMS. Нижче ви можете побачити сторінку індексу за замовчуванням для PyroCMS.
Натисніть Login, щоб перейти на екран входу в PyroCMS. Введіть ім’я адміністратора та пароль, а потім натисніть Login.
У разі успіху ви побачите панель адміністратора PyroCMS таким чином:
Висновок
Вітаємо! Ви завершили встановлення PyroCMS на сервер Ubuntu 24.04. У вас встановлена PyroCMS зі стеком LEMP (Linux, Nginx, MySQL/MariaDB та PHP-FPM). Ви також завантажили PyroCMS з Composer і захистили PyroCMS за допомогою HTTPS через Certbot і Letsencrypt.