База знань Проста інструкція по роботі з сервісом Профітсервер
головний База знань Як встановити 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, слід розміщувати в / Вар / 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 у кореневому каталозі веб-сервера / Вар / WWW / HTML з наступним вмістом:

<?php
phpinfo();
?>

Відкрийте веб-браузер і введіть URL-адресу сервера та назву файлу тестового сценарію. Наприклад:

http://your_server_ip/info.php

Якщо все налаштовано правильно, ви побачите детальну інформацію про версію PHP, налаштування, підтримувані модулі та інше:

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

Висновок

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

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

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

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