Перейти до змісту

WordPress на LAMP

Передумови

  • Система Rocky Linux 9.x
  • привілеї sudo

Вступ

WordPress — це система керування вмістом (CMS) із відкритим вихідним кодом, яка відома своєю відомою 5-хвилинною установкою. Зазвичай його розгортають у стеку LAMP (Linux, Apache, MySQL, PHP). Хоча ефективні локальні засоби розробки, такі як XAMPP, Vagrant і wp-env широко доступні, ручне встановлення WordPress на LAMP для локальної розробки забезпечує цінний практичний підхід для початківців, які прагнуть глибшого розуміння.

Цей посібник припускає, що у вас уже встановлено Rocky Linux 9.x, таким чином охоплюючи частину «L» стеку LAMP.

У цьому посібнику описано, як вручну встановити WordPress зі стеком LAMP на комп’ютері Rocky Linux 9. Це не посібник, готовий до виробництва, а відправна точка для розвитку. Налаштування LAMP, включене в цей посібник, не рекомендоване для будь-чого, окрім локальної розробки, без попереднього вжиття належних заходів безпеки, які вимагають додаткового налаштування.

Оновлення системних пакетів

Переконайтеся, що пакети вашої системи оновлені:

    sudo dnf upgrade -y

Встановлення Apache

Apache — це веб-сервер, який обслуговуватиме ваш сайт WordPress. Встановіть його за допомогою:

    sudo dnf install httpd -y

Увімкніть Apache для запуску під час завантаження

Після встановлення Apache увімкніть його, щоб він запускався автоматично під час завантаження:

    sudo systemctl enable --now httpd

Встановлення MariaDB

WordPress зберігає динамічний вміст у базі даних MySQL. MariaDB — це розгалуження MySQL з відкритим кодом. Встановіть його за допомогою:

    sudo dnf install mariadb-server -y

Увімкніть сервер MariaDB

Після встановлення MariaDB увімкніть його, щоб він запускався автоматично під час завантаження:

    sudo systemctl enable --now mariadb

Безпека MariaDB

Запустіть сценарій mysql_secure_installation:

    sudo mysql_secure_installation --use-default

Цей сценарій виконує наступне:

  1. Встановлює пароль root, якщо його ще не встановлено

  2. Видаляє анонімних користувачів

  3. Забороняє віддалений вхід root

  4. Прибирає доступ до тестової бази даних

  5. Перезавантажує привілеї

Встановлення PHP

PHP — це програмування, яке використовується для взаємодії з базою даних MySQL і виконання динамічних дій. Він широко використовується в ядрі, темах і плагінах WordPress.

Встановіть PHP і необхідні пакети для підключення до MySQL:

    sudo dnf install php php-mysqlnd php-gd php-xml php-mbstring

Після інсталяції PHP необхідно перезавантажити Apache, щоб інсталювати його як модуль Apache, і прочитати файли конфігурації:

Перезапустіть Apache

    sudo systemctl restart httpd

Отримайте та розпакуйте WordPress

Використовуйте curl, щоб завантажити останню версію WordPress:

    curl -O https://wordpress.org/latest.tar.gz

Користувач tar, щоб розпакувати завантажений архів:

    tar -xzvf latest.tar.gz

Скопіюйте файли WordPress у загальнодоступний каталог Apache за замовчуванням:

   sudo cp -r wordpress/* /var/www/html 

Встановіть власника

Зробити Apache власником файлів:

    sudo chown -R apache:apache /var/www/html/

Встановіть дозволи для файлів WordPress:

Встановити дозволи

    sudo chmod -R 755 /var/www/html/

Увійдіть до MySQL CLI:

Налаштувати базу даних

    sudo mysql -u root -p

Створіть нову базу даних для свого сайту WordPress:

Створіть нову базу даних

    CREATE DATABASE LOCALDEVELOPMENTENV;

Створіть користувача з паролем для вашої бази даних:

Примітка

Настійно рекомендується використовувати надійний пароль.

Створіть нового користувача та пароль

    CREATE USER 'admin'@'localhost' IDENTIFIED BY 'password';

Надайте всі привілеї вашої бази даних WordPress щойно створеному користувачеві:

    GRANT ALL PRIVILEGES ON LOCALDEVELOPMENTENV.* TO 'admin'@'localhost';

Очищення привілеїв для забезпечення застосування змін:

    FLUSH PRIVILEGES;

Вийдіть із MySQL CLI:

    EXIT;

Налаштування WordPress

Скопіюйте шаблон wp-config-sample.php і перейменуйте його:

    sudo cp /var/www/html/wp-config-sample.php /var/www/html/wp-config.php

Відкрийте файл wp-config.php за допомогою вибраного вами текстового редактора:

    sudo vi /var/www/html/wp-config.php

Замінити налаштування бази даних

Ви повинні визначити такі константи у своєму файлі wp-config.php:

    define ('DB_NAME', 'LOCALDEVELOPMENTENV');
    define ('DB_USER', 'admin');
    define ('DB_PASSWORD', 'password');

Налаштування брандмауера

Відкрийте служби HTTP та HTTPS у своєму брандмауері:

    sudo firewall-cmd --add-service=http --add-service=https

Перезавантажте firewalld, щоб переконатися, що зміни набули чинності:

    sudo systemctl reload firewalld

Налаштування SELinux

Щоб дозволити Apache читати та записувати ваші файли WordPress, виконайте цю команду:

   chcon -R -t httpd_sys_rw_content_t /var/www/html/ 

Щоб дозволити Apache створювати мережеві підключення, виконайте цю команду:

Примітка

Прапорець `-P` робить цю конфігурацію постійною під час перезавантаження
    setsebool -P httpd_can_network_connect true

Висновок

Щоб завершити інсталяцію, тепер ви зможете підключитися до WordPress через мережу за допомогою імені хоста сервера або приватної IP-адреси. Пам’ятайте, що це налаштування насамперед призначено для цілей місцевого розвитку. Для використання у виробництві вам потрібно налаштувати наступне: встановити доменне ім’я, установити сертифікат SSL, посилити сервер Apache, точно налаштувати конфігурацію SELinux і створити резервні копії. Тим не менш, дотримання цього посібника створило надійну відправну точку для розробки WordPress на стеку LAMP.

Author: Joseph Brinkman

Contributors: Steven Spencer, Ganna Zhyrnova