06.06.2023

Установка LAMP CentOS

LAMP - акроним, обозначающий комплекс программного обеспечения для создания Web-сервера. Базируется на Linux, в качестве web-сервера используется Apache, база данных - MySQL, интерпретатор кода - PHP.

Все действия делаются от пользователя root.

В самом начале обновляем компоненты системы и приложения:

sudo yum update

На вопрос “Is this ok” отвечаем “y”, дожидаемся окончания процесса и перезагружаем сервер командой:

reboot

Приступаем к установке.

Устанавливаем web-сервер Apache, правда в репозитории он называется httpd:

yum install httpd

Далее устанавливаем сервер баз данных. Начиная с CentOS7, вместо СУБД MySQL активно используется MariaDB:

yum install mariadb-server mariadb

Если интересует свежая стабильная версия дистрибутива, то следует выполнять установку из репозитория разработчика. Как это сделать рассмотрено в этой статье.

Устанавливаем PHP сразу с модулем для работы с базой данных:

sudo yum install php php-mysql

Установка окончена.

Настроим сервисы, чтобы они автоматически запускались после перезагрузки системы, поочередно выполнив команды:

systemctl enable httpd.service

systemctl start httpd.service

systemctl enable mariadb.service

systemctl start mariadb.service

Чтобы разрешить подключение к web-серверу, добавляем разрешающее правило и сохраняем его:

iptables -A IN_public_allow -p tcp -m tcp --dport 80 -m conntrack --ctstate NEW -j ACCEPT

iptables-save

Теперь выполним базовую настройку безопасности MariaDB:

mysql_secure_installation

В самом начале использования программа запросит пароль пользователя root, так как он не задавался при установке, то просто отвечаем нажатием клавиши Enter. Следом программа предложит изменить пароль пользователя root. Если пароль не был задан, то избежать этой процедуры невозможно. Вводим пароль и его подтверждение. На дальнейшие вопросы можно отвечать клавишей “Y”.

 

Set root password? [Y/n]

Изменить пароль пользователя root?

Remove anonymous users? [Y/n]

Удалить анонимных пользователей?

Disallow root login remotely? [Y/n]

Запретить удаленное подключение от имени root?

Remove test database and access to it? [Y/n]

Удалить базу данных test и доступ к ней?

Reload privilege tables now? [Y/n]

Перезагрузить таблицу привилегий сейчас?

 

Для проверки установки создадим php-файл info.php в корне сайта:

touch /var/www/html/info.php

Откроем файл любым текстовым редактором, в нашем случае nano:

nano /var/www/html/info.php

Если получаете сообщение с ошибкой, то установите этот редактор:

yum install nano

Добавим php-код в файл:

<?php phpinfo(); ?>

Сохраняем изменения. В любом браузере переходим по ссылке в формате http://IP-адрес_сервера/info.php
В примере случае будет так, у вас свой IP-адрес:

http://10.10.7.7/info.php

Результат будет таким:

Модули PHP.

Установленного модуля поддержки СУБД будет недостаточно, если вы планируете использовать, любую CMS или самописный сайт. Чтобы удовлетворить потребность в функционале следует установить расширения языка php. Для начала посмотрим что предлагает репозиторий командой:

yum search php-

Установка расширений происходит точно также как и установка любого другого пакета, например:

yum install php-gd

После установки расширений рекомендуется перезапустить службу web-сервера:

systemctl restart httpd.service