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