Как установить LAMP на CentOS 7

Giteqa

Введение

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

Что потребуется для начала работы?

Доступ к учетной записи пользователя с привилегиями sudo или root.
Окно терминала или командная строка.
Менеджеры пакетов yum и RPM включены по умолчанию.

Шаг 1. Обновите кеш репозитория пакетов

Перед тем, как начать сборку стека, обязательно обновите пакеты на своем сервере CentOS 7 с помощью команды:

sudo yum update

Шаг 2. Установите веб-сервер Apache

Поскольку у вас уже работает операционная система CentOS, первым шагом сборки стека LAMP является установка веб-сервера.
Самый простой способ установить Apache - использовать собственный менеджер пакетов CentOS, yum.

1. Установите Apache на Centos с помощью:

sudo yum install httpd

При появлении запроса подтвердите, что выполняете команду с привилегиями sudo.

В выводе будет показано, что пакет httpd был успешно установлен, как показано на изображении ниже:

2. Затем запустите Apache, выполнив следующую команду:

sudo systemctl start httpd.service

3. Проверьте, запущена ли служба, перейдя на общедоступный IP-адрес вашего сервера, в моём случае это 185.163.45.1хх.
В браузере должна отображаться тестовая веб-страница CentOS 7 Apache:

4. Наконец, настройте Apache для запуска при загрузке:

sudo systemctl enable httpd.service

Шаг 3. Установите MySQL (MariaDB) и создайте базу данных.

Чтобы организовать и хранить данные для вашего динамического веб-сайта, вам потребуется MariaDB.
Это ответвление системы управления базами данных MySQL с открытым исходным кодом.

1. Установите MariaDB с помощью команды:

sudo yum install mariadb-server mariadb

Когда появится запрос y/n, подтвердите, нажав y.

2. Теперь запустите MariaDB с помощью команды:

sudo systemctl start mariadb

Шаг 4. Запустите сценарий безопасности MySQL

По умолчанию MariaDB не имеет безопасных настроек.
Следовательно, вам необходимо настроить параметры, протестировать базу данных и удалить анонимных пользователей.

1. Начните с ввода команды:

sudo mysql_secure_installation

2. Вам будет предложено ввести пароль root для MariaDB (это не пароль root для вашего сервера).
Поскольку у вас еще нет пароля, нажатие Enter позволяет продолжить настройку.

3. Далее он задаст вам ряд вопросов. Чтобы обеспечить защиту вашей базы данных, ответьте на вопросы следующим образом:
Установить пароль root? [Y/n] Y
Новый пароль: введите пароль, который хотите использовать.
Повторно введите новый пароль: введите пароль из предыдущего поля еще раз.
Удалить анонимных пользователей? [Y/n] Y
Запретить удаленный вход root? [Y/n] Y
Удалить тестовую базу данных и получить к ней доступ? [Y/n] Y
Перезагрузить таблицы привилегий сейчас? [Y/n] Y

4. После ответа на вопросы в выходных данных будет отображаться сообщение о том, что ваша система очищается, и теперь установка должна быть безопасной.

Наконец, разрешите MariaDB запускаться при загрузке системы:

sudo systemctl enable mariadb.service

Шаг 5. Установите PHP

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

1. Установите расширение MySQL вместе с PHP, снова используя установщик пакета yum, с помощью команды:

sudo yum install php php-mysql

Теперь вы должны получить приглашение Y/n, позволяющее подтвердить установку, введя Y.

2. Чтобы ваш веб-сервер Apache начал совместную работу с PHP, перезапустите сервер:

sudo systemctl restart httpd.service

Шаг 6. Протестируйте обработку PHP

Чтобы найти и обслужить веб-сайт, Apache должен сохранить файл в корневом веб-каталоге.
Apache помещает свой веб-сайт по умолчанию в этот каталог: /var/www/html/

Используя редактор nano или vim, вы можете перейти в этот каталог и запустить тест PHP на сервере CentOS 7.

1. Чтобы установить редактор vim, используйте эту команду:

sudo yum install vim

2. Используйте базовый сценарий PHP для создания файла info.php с помощью команды:

sudo vim /var/www/html/info.php

3. Откроется пустой текстовый файл, в который вы должны нажать кнопку I, скопировать и вставить следующее:

<?php
phpinfo ();
?>

4. Нажмите ESC (для выхода), SHIFT+Q и ввести qw+ENTER (чтобы сохранить изменения и закрыть файл).

5. Проверьте, работает ли PHP, открыв следующий адрес:

http://ip_address/info.php

ip_address это публичный IP-адрес вашего сервера который ваш провайдер вам дал, в моём случае это Mivocloud.
Если PHP настроен правильно, вы увидите это изображение в браузере:

6. Устанавливаем брандмауэр использую следующую команду:

sudo yum install iptables-services

После этого, выполняем следующие команды отвечающие за запуск, запуск при включение и информацию о брандмауэре:

sudo systemctl start iptables
sudo systemctl enable iptables
sudo systemctl status iptables

7. Если включен брандмауэр, вам нужно будет открыть маршрут для HTTP-трафика. Используйте команду:

sudo iptables -I INPUT 1 -p tcp -m tcp --dport 80 -m state --state NEW -j ACCEPT

Затем выполните команду, чтобы открыть его для HTTPS-трафика:

sudo iptables -I INPUT 1 -p tcp -m tcp --dport 443 -m state --state NEW -j ACCEPT

И последнее, сохраняем изменения в брандмауэре и перезапускаем его, чтобы активировать новые настройки:

service iptables save
service iptables restart

Шаг 7. установите модули PHP
Чтобы оптимизировать возможности PHP, просмотрите названия и описания дополнительных модулей с помощью команды:

yum search php-

Чтобы получить подробную информацию на понятном языке о том, что делает каждый модуль, просмотрите более длинное описание с: yum info, за которым следует пробел и имя модуля.

Установите дополнительный пакет с sudo yum install, за которым следует пробел и имя модуля.

Шаг 8. Перезапускаем Apache

Чтобы изменения вступили в силу, перезапустите службу Apache с помощью команды:

sudo systemctl restart httpd

Подытожим

Следуя этому руководству, вы узнали, как установить каждый уровень стека LAMP в CentOS. Теперь вы готовы изучить все инновации, которые делает стек LAMP. если вы хотите начать протестировать стек LAMP то вам требуется лишь VDS сервер, на оборудований от Mivocloud всё работает быстро и без перебоев.