У цій статті ми детально розглянемо процес встановлення стеку LAMP на сервері під керуванням операційної системи CentOS Stream. Ви дізнаєтеся, як крок за кроком налаштувати кожен компонент та перевірити функціональність встановленого стеку. Для користувачів, які працюють з дистрибутивами Debian/Ubuntu, аналогічний процес встановлення LAMP описано в іншій нашій статті.
Стек LAMP складається з набору програмного забезпечення, включаючи операційну систему Linux, веб-сервер Apache, систему керування базами даних MySQL або MariaDB і мову сценаріїв PHP. Ці компоненти працюють разом, щоб створити потужну та гнучку платформу для розгортання веб-додатків і веб-сайтів.
Підготовка сервера
Перед початком монтажу необхідно виконати ряд підготовчих заходів.
Перехід на суперкористувача
Перш за все, вам потрібно отримати права суперкористувача (root), оскільки більшість команд, необхідних для налаштування сервера, потребують підвищених дозволів. Введіть таку команду, щоб перейти до користувача root:
su -
Оновлення системи
Далі рекомендується оновити всі встановлені пакети до останніх версій. Для оновлення виконайте команду:
dnf update -y
Налаштування брандмауера
Щоб забезпечити безпеку вашого сервера, вам необхідно налаштувати правила доступу. CentOS Stream використовує firewalld за замовчуванням як систему керування правилами. Переконайтеся, що брандмауер встановлено та запущено:
systemctl status firewalld
Потім відкрийте порти, які використовуватимуться стеком LAMP:
- HTTP (порт 80) для доступу до сайту;
- HTTPS (порт 443) для безпечного доступу до сайту;
- MySQL (порт 3306) для доступу до бази даних (якщо потрібне віддалене підключення).
Використовуйте такі команди, щоб відкрити ці порти:
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --permanent --add-port=3306/tcp
Також додайте правило для підключення SSH:
firewall-cmd --permanent --add-port=22/tcp
Після додавання всіх необхідних правил перезавантажте налаштування брандмауера:
firewall-cmd --reload
Переконайтеся, що брандмауер працює правильно. Виконайте таку команду, щоб переглянути всі правила:
firewall-cmd --list-all
Встановлення Apache
Щоб інсталювати Apache, використовуйте менеджер пакетів DNF. Якщо вам потрібна лише базова версія Apache, скористайтеся такою командою:
dnf install httpd -y
На додаток до базової інсталяції Apache ви також можете додати різні утиліти та модулі для розширення функціональності та підвищення безпеки веб-сервера. Синтаксис цієї команди:
dnf install additional_packages –y
Щоб встановити службу разом з додатковими пакетами, команда виглядає так:
dnf install httpd additional_packages -y
Зверніться до офіційної документації , щоб ознайомитися з доступними утилітами та модулями.
Після встановлення Apache запустіть його та додайте до автозавантаження:
systemctl start httpd
systemctl enable httpd
Перевірте стан служби за допомогою команди:
systemctl status httpd
На цьому етапі ви можете відкрити веб-браузер і ввести IP-адресу сервера в адресному рядку. Ви повинні побачити сторінку привітання Apache, яка вказує на успішне встановлення:
За замовчуванням Apache на CentOS знаходиться в каталозі /etc/httpd . Усередині нього знаходяться різні підкаталоги та файли, що використовуються для налаштування та керування сервером.
Файли веб-сайту, такі як HTML, CSS, JavaScript, слід розміщувати в каталозі /var/www/html . Усі файли в цьому каталозі будуть доступні за адресою вашого сайту.
Встановлення MySQL
У цьому розділі ми розглянемо процес встановлення та налаштування MariaDB на сервері CentOS Stream. MariaDB — це розгалуження MySQL, яке підтримує сумісність із MySQL, але пропонує покращену продуктивність, розширені функції та активну спільноту розробників. Щоб встановити інструмент, використовуйте команду:
dnf install mariadb-server mariadb -y
Після встановлення запустіть службу та ввімкніть її запуск під час завантаження системи:
systemctl start mariadb
systemctl enable mariadb
Щоб переконатися, що служба MariaDB працює правильно, скористайтеся такою командою:
systemctl status mariadb
MariaDB надає сценарій налаштування безпеки, який дозволяє видалити небезпечні налаштування за замовчуванням і захистити базу даних. Запустіть:
sudo mysql_secure_installation
Під час виконання сценарію вам буде запропоновано виконати кілька кроків:
- Встановіть пароль для користувача root (якщо ще не встановлено);
- Видалити анонімних користувачів;
- Заборонити віддалений вхід як root;
- Видалити тестову базу даних і доступ до неї;
- Перезавантажте таблиці привілеїв, щоб застосувати зміни.
На всіх етапах рекомендується відповідати ствердно (y).
Після завершення початкового налаштування безпеки ви можете підключитися до MariaDB. Для цього виконайте команду:
mysql -u root -p
Щоб переконатися, що MariaDB працює правильно, рекомендується створити тестову базу даних. Виконайте наступні команди в консолі MariaDB:
CREATE DATABASE testdb;
USE testdb;
CREATE TABLE test_table (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL
);
INSERT INTO test_table (name) VALUES ('example data');
SELECT * FROM test_table;
Ці команди створять нову базу даних testdb, таблицю test_table і додадуть один запис. Потім вони відобразять вміст таблиці для перевірки:
Щоб вийти з оболонки, використовуйте команду:
exit
Встановлення PHP
Після встановлення Apache і MySQL наступним кроком є встановлення та налаштування PHP, який відповідає за обробку динамічних веб-сторінок. Подібно до Apache, ви можете виконати базову інсталяцію PHP, а також додати необхідні додаткові модулі. Для базової інсталяції скористайтеся командою:
dnf install php
Однак в такому вигляді засіб встановлюється рідко. Частіше установка відбувається відразу з додатковими модулями. Давайте встановимо деякі важливі модулі:
dnf install php php-cli php-mysqlnd php-json php-gd php-ldap php-odbc php-pdo php-opcache php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap php-zip –y
Зверніться до офіційної документації для отримання повного списку доступних модулів. Щоб перевірити встановлені модулі, скористайтеся командою:
php -m
Щоб перевірити встановлену версію PHP, використовуйте команду:
php -v
Основний файл конфігурації PHP знаходиться за адресою /etc/php.ini . Відкрийте цей файл у текстовому редакторі:
vim /etc/php.ini
Внесіть необхідні зміни, наприклад, встановіть правильний часовий пояс за допомогою директиви date.timezone та налаштуйте розміри файлів завантаження за допомогою директив upload_max_filesize та post_max_size. Якщо ви раніше не працювали з консольними текстовими редакторами, ми підготували статтю, яка допоможе вам зрозуміти основи роботи з vim.
Після встановлення інструменту та внесення будь-яких змін у файл конфігурації перезапустіть службу Apache:
systemctl restart httpd
Щоб перевірити працездатність, створіть простий скрипт, який відображатиме інформацію про версію PHP та поточні налаштування. Створіть файл info.php у кореневому каталозі веб-сервера /var/www/html з таким вмістом:
<?php
phpinfo();
?>
Відкрийте веб-браузер і введіть URL-адресу сервера та назву файлу тестового сценарію. Наприклад:
http://your_server_ip/info.php
Якщо все налаштовано правильно, ви побачите детальну інформацію про версію PHP, налаштування, підтримувані модулі та інше:
Висновок
Встановлення стека LAMP на сервер CentOS Stream є важливим кроком для створення надійного веб-сервера. Дотримуючись інструкцій, ви навчилися налаштовувати Apache, MySQL і PHP, необхідні для динамічних веб-сайтів. Цей стек відкриває багато можливостей для веб-розробки, а подальше вивчення та оптимізація допоможуть вам покращити продуктивність і надійність вашого сервера.