Згідно з оновленим рейтингом кращих систем управління контентом (CMS) відомого сервісу W3Techs, WordPress займає впевнені лідируючі позиції як у загальному списку (43,1%), так і серед добре відомих CMS (63,0%). Така популярність сприяє широкому використанню системи для найрізноманітніших веб-проектів, починаючи від блогу до Інтернет-магазину. Як відомо, для будь-якого з проектів необхідна установка WordPress на VPS (Virtual Private Server) або віртуальний хостинг залежно від ресурсомісткості сайту. Розглянемо детальніше весь процес встановлення WordPress на VPS під керуванням Ubuntu, починаючи від підготовки програмного середовища та закінчуючи запуском Консолі керування WordPress.
Необхідні умови для встановлення WordPress
Перед встановленням системи програмне середовище сервера має бути підготовлене таким чином, щоб забезпечити злагоджену роботу стек технологій типу LAMP, в який входять:
- Linux-подібна операційна система (ОС);
- Веб-сервер Apache;
- Сервер баз даних MySQL;
- Препроцесор гіпертексту PHP.
Тільки за наявності цієї зв'язки технологій можлива повноцінна та умовно безпечна робота WordPress. Нижче буде розглянуто процес їх встановлення та/або перевірки наявності у діючій системі.
Підготовка середовища LAMP
Для управління нашим VPS-сервером використовується ОС Ubuntu 22.04, яка, як відомо, відноситься до сімейства Linux-подібних ОС, а отже одна з умов виконана.
Перейдемо до встановлення сервера баз даних MySQL.
Встановлення MySQL сервера
Для початку оновимо індекс пакетів на сервері за допомогою наступної команди:
$ sudo apt update
Бачимо, що 8 програмних пакетів можуть бути оновлені у системі.
Тепер виконаємо встановлення серверного пакета MySQL. У цьому випадку установка буде виконана без запиту на внесення змін до конфігурації, включаючи зміну пароля. Наберемо в терміналі:
$ sudo apt install mysql-server
Підтвердимо запит на виділення 243 МБ додаткового дискового простору, після чого процес установки продовжиться.
Як бачимо, установка пройшла успішно: "Setting up mysql-server (8.0.34-0ubuntu0.22.04.1)". Його версія 8.0.34.
При первинному розгортанні сервера MySQL необхідний запуск скрипту безпеки, який дозволить змінити значення деяких опцій, встановлених за умовчанням. Це, наприклад, стосується безперешкодного доступу до сервера анонімних (тестових) користувачів, що впливає на рівень безпеки системи. Суть роботи зі скриптом полягає у формуванні відповідей на ряд питань, що послідовно виводяться в терміналі. Запуск скрипта можна зробити за допомогою наступної команди:
$ sudo mysql_secure_installation
Підтверджуємо дозвіл на автоматичну валідацію (перевірку) пароля входу залежно від обраного рівня безпеки, варіанти яких представлені нижче.
Вибираємо рівень MEDIUM, при якому пароль повинен буде містити не менше 8 символів, що включають цифри, латинські літери у верхньому та нижньому регістрі, а також спеціальні символи.
Забороняємо доступ до системи анонімних користувачів.
Залишаємо можливість віддаленого доступу до системи root користувача.
Забороняємо доступ користувачів до тестового варіанта бази.
Підтверджуємо перезавантаження таблиці привілеїв набуття чинності внесених нами змін.
В результаті встановлення сервера успішно завершено: «All done!».
Для входу в командний рядок керування сервером необхідно авторизуватись. Тут необхідно мати на увазі, що, починаючи з версії MySQL 5.7, автентифікація для користувачів з правами root відбувається в автоматичному режимі за допомогою модуля auth_socket, що унеможливлює використання пароля. У цьому випадку підключення до сервера для root користувача здійснюється таким чином:
$ sudo mysql
Тут можна перевірити, яка версія сервера встановлена в системі: «Server version: 8.0.34».
Розглянутий варіант аутентифікації є найзручнішим і надійнішим, однак у деяких випадках може знадобитися доступ за паролем. Тоді необхідно змінити модуль аутентифікації на інший, наприклад, caching_sha2_password.
Перевірити модуль автентифікації можна за допомогою наступної команди:
SELECT user,authentication_string,plugin,host FROM mysql.user;
Можна переконатися, що діючим для користувача root є модуль auth_socket, як і передбачалося.
Щоб його змінити, потрібно ввести наступну команду в рядку управління сервером:
ALTER USER 'root'@'dedicated' IDENTIFIED WITH caching_sha2_password BY 'password';
де password – новий пароль користувача root.
Для цього методу аутентифікації команда підключення до сервера буде такою:
$ mysql -u root -p
Адміністраторські права тепер можна отримати лише після введення пароля. Вийдемо з оболонки MySQL. Для цього наберемо в терміналі:
$ exit
У результаті компонент MySQL нами був успішно встановлений.
Встановлення PHP
Для початку, перевіримо, яка з версій PHP на даний момент є поточною в офіційному репозиторії Ubuntu. Це можна зробити за допомогою наступної команди:
$ sudo apt show php
Бачимо, що поточною є: "PHP version (currently 8.1)".
Встановимо версію 8.1 з репозиторію:
$ sudo apt install php
Підтверджуємо виділення 29,5 MB дискового простору та процес встановлення продовжується.
Установка успішно завершена: "Setting up php 8.1".
Дізнатися встановлену версію можна так:
$ php -v
Для роботи препроцесора PHP з веб-сервером Apache необхідно додатково встановити ще один пакет. Для цього введемо в терміналі:
$ sudo apt install libapache2-mod-php
Таким чином, черговий компонент зв'язки LAMP успішно встановлений та підготовлений для роботи з веб-сервером.
Встановлення веб-сервера Apache
Веб-сервер завжди доступний для встановлення з репозиторіїв Ubuntu. Для початку необхідно оновити індекс локальних пакетів, як ми вже робили раніше:
$ sudo apt update
Після цього встановимо потрібний пакет:
$ sudo apt install apache2
Як бачимо, цей компонент LAMP вже був встановлений раніше на нашій машині. Його версія – 2.4.52.
Під час встановлення веб-сервер автоматично реєструється в UFW (Uncomplicated Firewall), надаючи кілька своїх профілів для налаштування доступу до сервера через брандмауер.
Виведемо список доступних профілів. Для цього наберемо в терміналі:
$ sudo ufw app list
У списку представлено три різні профілі:
- Apache;
- Apache Full;
- Apache Secure.
Останні два з них найбільш захищені та вимагають наявності SSL сертифіката. Підключимо профіль Apache, який відкриває порт 80 без використання шифрування даних, що передаються. Для цього введемо таку команду:
$ sudo ufw allow 'Apache'
В результаті правила брандмауера були оновлені і чинним став профіль Apache.
Перевірити статус веб-сервера можна за допомогою наступної команди:
$ sudo systemctl status apache2
Таким чином, наш веб-сервер встановлений та готовий до роботи.
Розгортання CMS Wordpress
Процес розгортання системи можна розбити на кілька етапів:
- Створення бази даних;
- Створення нового користувача та налаштування його прав;
- Вибір версії програми та її закачування на сервер;
- Розпакування архіву та встановлення прав до основного каталогу Wordpress;
- Продовження установки у браузері;
- Авторизація у Консолі управління Wordpress.
Переходимо до практичної реалізації зазначених етапів розгортання системи.
Створення бази даних
Для виконання будь-яких дій з керування MySQL, необхідно авторизуватися в ній. Для користувача root це можуть бути наступні команди, залежно від встановленого методу аутентифікації:
$ mysql -u root –p (вход по паролю)
$ sudo mysql (вход по сокету)
Створимо базу даних під назвою bazawp. Це можна зробити за допомогою наступної команди:
> CREATE DATABASE bazawp;
База успішно створена.
Створення нового користувача та налаштування його прав
Користувача для керування базою можна створити за допомогою наступної команди:
> CREATE USER 'inhosting'@'dedicated' IDENTIFIED BY 'newparol75N!';
де inhosting – ім'я користувача; newparol75N! – пароль для доступу до системи.
Тут варто нагадати, що пароль повинен відповідати встановленим нами раніше при розгортанні MySQL рівню безпеки MEDIUM. Тільки в цьому випадку валідатор системи "пропустить" пароль.
Встановимо дозволи для будь-яких дій із базою даних для створеного користувача. Для цього наберемо у командному рядку:
> GRANT ALL PRIVILEGES ON bazawp.* TO 'inhosting'@'dedicated';
Збережемо встановлені права за допомогою наступної команди:
> FLUSH PRIVILEGES;
Права успішно збережено.
Виходимо з MySQL і повертаємося до командного рядка оболонки bash:
> exit
Далі необхідно перезавантажити веб-сервер Apache, щоб підключити налаштування. Для цього використовується наступна конструкція:
$ /etc/init.d/apache2 restart
Вибір версії програми та її завантаження на сервер
Щоб вибрати версію програми, необхідно перейти на сайт розробників Wordpress за наступнимпосиланням. Нижче показано сторінку вибору версії.
Вибираємо свіжу російськомовну версію із гілки 6.3, яка активно підтримується. Посилання можна отримати, клацнувши правою кнопкою миші в крайньому правому стовпці під назвою архіву tar.gz.
Перейдемо в каталог для зберігання файлів і введемо команду для завантаження файлу:
$ cd /var/www/html
$ wget https://ru.wordpress.org/wordpress-6.3.2-ru_RU.tar.gz.sha1
Файл wordpress-6.3.2-ua.UA.tar.gz.sha1 був успішно завантажений на сервер.
Розпакування архіву та встановлення прав до основного каталогу Wordpress
Розпакуємо завантажений архів за допомогою архіватора tar.gz. Для цього введемо в терміналі:
$ tar –xzvf wordpress-6.3.2-ru_RU.tar.gz.sha1
Архів програми успішно розпакований.
Встановимо права до каталогу wp-content за допомогою наступної конструкції:
$ chmod -R 777 /var/www/html/wordpress/wp-content
Права успішно встановлені!
Для застосування нових налаштувань перезавантажуємо веб-сервер Apache:
$ /etc/init.d/apache2 restart
Продовження установки у браузері
Для продовження встановлення програми необхідно в адресному рядку браузера ввести посилання, яке має такий формат:
http://ip_адрес_vps_сервера/wordpress/wp-admin/setup-config.php
Після натискання кнопки Вперед нам необхідно буде ввести дані, які ми отримали раніше: ім'я користувача, пароль тощо.
Якщо автоматичне створення файлу wp-config.php не вдалося, можна створити його в ручному режимі за допомогою редактора nano. Для цього потрібно перейти до каталогу html та ввести команду виклику редактора:
$ cd /var/www/html
$ nano wp-config.php
У створений файл необхідно вставити код, виведений у браузері (див. нижче), зберегти внесені зміни і вийти з редактора. Тільки після цього можна повернутися до браузера для продовження установки та клацнути на кнопку Запустити установку.
Авторизація у Консолі управління Wordpress
Після введення всіх даних і завершення установки Wordpress запропонує увійти в Консоль управління системою, для чого необхідно буде авторизуватися, як показано нижче.
В результаті користувач отримує повний доступ до Консолі управління Wordpress (див. нижче).
Таким чином WordPress був успішно встановлений на VPS-сервер під управлінням Ubuntu 22.04.