База Знаний

Простые инструкции по работе с сервисом ProfitServer
  1. Главная
  2. База Знаний
  3. Как установить стек LAMP на сервер CentOS Stream

Как установить стек LAMP на сервер CentOS Stream


В данной статье мы подробно рассмотрим процесс установки стека LAMP на сервер с операционной системой CentOS Stream. Вы узнаете, как поэтапно настроить каждый компонент и проверить работоспособность установленного стека. Для пользователей, работающих с дистрибутивами Debian/Ubuntu, аналогичный процесс установки LAMP описан в другой нашей статье.

Стек LAMP представляет собой набор программного обеспечения, который включает операционную систему Linux, веб-сервер Apache, систему управления базами данных MySQL или MariaDB и интерпретируемый язык сценариев PHP. Эти компоненты работают вместе, чтобы создать мощную и гибкую платформу для развертывания веб-приложений и сайтов.

Подготовка сервера

Перед началом установки необходимо выполнить ряд подготовительных действий.

Переход в суперпользователя

Прежде всего, следует получить права суперпользователя (root), так как большинство команд, необходимых для настройки сервера, требуют повышенных привилегий. Введите следующую команду, чтобы переключиться на пользователя root:

su –

Обновление системы

Далее рекомендуется обновить все установленные пакеты до актуальных версий. Для обновления выполните команду:

dnf update -y

Настройка брандмауэра

Для обеспечения безопасности вашего сервера необходимо настроить правила доступа. В CentOS Stream по умолчанию используется firewalld как система управления этими правилами. Убедитесь, что 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
Проверка правил firewall в centos

Установка Apache

Для установки Apache воспользуемся пакетным менеджером DNF. Если вам необходима только базовая версия Apache, используйте следующую команду:

dnf install httpd -y

Кроме базовой установки Apache, вы также можете добавить различные утилиты и модули, чтобы расширить функциональные возможности и повысить безопасность веб-сервера. Синтаксис данной команды:

dnf install дополнительные_пакеты –y

Для установки сервиса сразу с дополнительными пакетами команда выглядит следующим образом:

dnf install httpd дополнительные_пакеты -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, что нужно для работы динамических веб-сайтов. Данный стек открывает множество возможностей для веб-разработки, а дальнейшее изучение и оптимизация помогут вам улучшить производительность и надежность вашего сервера.

Предыдущая статья Что такое Linux
Следующая статья 5 общих настроек сервера для вашего веб-приложения

Задайте вопрос

Мы всегда готовы ответить на Ваши вопросы в любое время суток.
Пожалуйста, проверьте нашу Базу Знаний, скорее всего ответ на ваш вопрос там уже есть!