База знань Проста інструкція по роботі з сервісом Профітсервер
головний База знань Як встановити LAMP Stack на CentOS Stream

Як встановити LAMP Stack на CentOS Stream


У цій статті ми детально розглянемо процес встановлення стеку 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
Перевірка правил брандмауера в Centos

Встановлення 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
Статус служби Apache на CentOS

На цьому етапі ви можете відкрити веб-браузер і ввести IP-адресу сервера в адресному рядку. Ви повинні побачити сторінку привітання Apache, яка вказує на успішне встановлення:

Сторінка привітання 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 на CentOS

MariaDB надає сценарій налаштування безпеки, який дозволяє видалити небезпечні налаштування за замовчуванням і захистити базу даних. Запустіть:

sudo mysql_secure_installation

Під час виконання сценарію вам буде запропоновано виконати кілька кроків:

  1. Встановіть пароль для користувача root (якщо ще не встановлено);
  2. Видалити анонімних користувачів;
  3. Заборонити віддалений вхід як root;
  4. Видалити тестову базу даних і доступ до неї;
  5. Перезавантажте таблиці привілеїв, щоб застосувати зміни.

На всіх етапах рекомендується відповідати ствердно (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 і додадуть один запис. Потім вони відобразять вміст таблиці для перевірки:

Перевірка правильності роботи MariaDB

Щоб вийти з оболонки, використовуйте команду:

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

Основний файл конфігурації 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, налаштування, підтримувані модулі та інше:

Перевірка функціональності php

Висновок

Встановлення стека LAMP на сервер CentOS Stream є важливим кроком для створення надійного веб-сервера. Дотримуючись інструкцій, ви навчилися налаштовувати Apache, MySQL і PHP, необхідні для динамічних веб-сайтів. Цей стек відкриває багато можливостей для веб-розробки, а подальше вивчення та оптимізація допоможуть вам покращити продуктивність і надійність вашого сервера.

❮ Попередня стаття 5 типових конфігурацій сервера для вашої веб-програми

Запитайте нас про VPS

Ми завжди готові відповісти на ваші запитання в будь-який час дня і ночі.