Установка Apache, MySQL / MariaDB, PHP (LAMP) на CentOS 7

Автор | 16.12.2014

Установка Apache, MySQL / MariaDB, PHP (LAMP) на CentOS 7

centos

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

В данной статье мы рассмотрим возможность установки описанного выше ПО на CentOS 7, используя стандартный менеджер пакетов — yum. Для этого нам потребуются данные (логин и пароль) root, а при удаленной установке и доступ по SSH.

Установка Apache

Это самый популярный на данный момент веб-сервер, поэтому это «выбор по умолчанию» для размещения практически любого веб-сайта.  Для установки выполним следующую команду:

yum -y install httpd

При выполнении операций под обычным пользователем, для корректного выполнения операции стоит в начало строки добавить sudo. Параметр «-y» автоматически подтвердит продолжение (загрузку пакетов) установки.

После завершения установки запустим Apache:

systemctl start httpd.service

Выполнить проверку работы свежеустановленного веб-сервера можно уже сейчас, набрав IP адрес вашего сервера в браузере.

http://IP_address_вашего_сервера/

systemctl status httpd — также отображает статус указанного сервиса

Вы увидите следующую приветственную картинку:

default_apache

Если вы видите эту картинку, значит сервер работает корректно. Далее выполним добавление службы веб-сервера в автоматический старт при загрузке системы:

systemctl enable httpd.service

Теперь, когда вы имеете установленный веб-сервер, перейдем к следующему шагу — редактирование системного брандмауэра:

firewall-cmd --zone=public --add-port=80/tcp --permanent
 firewall-cmd --reload

Установка MySQL / MariaDB

В последний (на данный момент) версии CentOS 7 разработчики отказались от использования MySQL и перешли на бесплатно распространяемый сервер баз данных — MaridDB (от разработчиков MySQL, поэтому API и синтаксис тот же). Установка аналогична, выполняется следующим образом:

yum -y install mariadb-server mariadb

Запускаем сервер БД:

systemctl start mariadb

После старта данной программы, необходимо произвести настройку MariaDB, повышающую безопасность и отказоустойчивость данного ПО:

mysql_secure_installation

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

systemctl enable mariadb.service

Установка PHP

PHP является основной компонентой, которая отвечает за обработку кода для динамического контента. Под этим подразумевается обработка скриптов, подключение и взаимодействие с MySQL, передача данных на веб-сервер. Установка выполняется также через менеджер пакетов yum:

yum install php php-mysql

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

systemctl restart httpd.service

Установка дополнительных модулей:

yum search php-

yum -y install php-fpm php php-pear php-process

После успешной установки пакетов проверим работу PHP на нашем сервере добавив <?php phpinfo(); ?> в файл:

vi /var/www/html/info.php

Теперь настроить брандмауэр:

firewall-cmd --permanent --zone=public --add-service=http 
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload

Проверка работы PHP в браузере:

http://IP_address_вашего_сервера/info.php

Данную информацию рекомендуется удалять после завершения проверки (при необходимости ее всегда можно восстановить вышеописанным способом):

rm /var/www/html/info.php

Установка LAMP — Linux Apache MySQL/MariaDB PHP завершена.

  • Литов

    А как теперь домен привязать ? (желательно все в подробностях и с картинками)
    Кстати Спасибо за подробный мануал единственный по которому у меня все получилось 🙂 до этого юзала впс с панелями .

    • Хм, как-то странно оповещения о комментариях приходят, слишком поздно их замечаю. Учту Ваше пожелание, буду стараться в блажайшее время сделать такую статью, благо есть свободный VPS и похожая задачка для него.