Установка LAMP на CentOS 7

Введение

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

Linux - операционная система

Apache - веб-сервер

MariaDB (MySQL) - СУБД

PHP - язык программирования

В качестве ОС LInux у нас будет CentOS 7. Будем считать что он у вас уже установлен. Если нет, прочтите мою статью"Установка CentOS 7".

Apache

Apache -это веб-сервер. Поддерживает все популярные операционные системы такие как Linux, Windows, FreeBSD, MacOS. Apache надежный, гибкий и достаточно простой в настройке.

Устанавливаем:

sudo yum install httpd

Установка Apache

Установка Apache

Запускаем Apache.

sudo systemctl start httpd.service

Запуск Apache

Разрешаем http подключение. Если планируется использовать https, то сделайте те же самые манипуляции.

sudo firewall-cmd --zone=public --add-service=http

Делаем правило постоянным (иначе после перезагрузки сервера оно удалится):

sudo firewall-cmd --zone=public --permanent --add-service=http

И проверяем:

sudo firewall-cmd --zone=public --list-services

Открытие порта http

Запись http появилась, теперь можно в браузере ввести адрес сервера. Должны увидеть следующее:

Страница Apache

Если видите тоже самое, то Apache установлен и работает. Добавим его а автозагрузку:

sudo systemctl enable httpd.service

Добавление Apache в автозагрузку

MariaDB (MySQL)

MariaDB - ответвление СУБД MySQL. Разрабатывается под лицензией GNU GPL. MariaDB поддерживает высокую совместимость с MySQL. API и протоколы в MariaDB соответствуют тем, которые используются в MySQL, а это означает, что все библиотеки и приложения, которые работают в MySQL, должны работать и с MariaDB.

Вводим команду установки:

sudo yum install mariadb-server mariadb

Установка MariaDB

После завершения установки запускаем запускаем базу данных:

sudo systemctl start mariadb

Запуск MariaDB

И добавляем в автозагрузку:

sudo systemctl enable mariadb.service

Добавление MariaDB в автозагрузку

Теперь запускаем скрипт настройки защиты сервера баз данных. Система попросит ввести root пароль и  ответить на несколько простых вопросов. Можно на все ответить утвердительно. В этом случае система удалит анонимных пользователей, тестовые базы данных, отключит удаленное root подключение и произведет обновление текущих настроек MySQL.

sudo mysql_secure_installation

Скрипт настройки защиты

PHP

PHP - это скриптовый язык общего назначения. Активно применяется веб-разработчиками. Поддерживается большинством хостингов и является одним из лидеров среди языков, применяющихся для создания динамических веб-сайтов.

PHPMyAdmin - это веб-приложение с открытым исходным кодом, написанное на языке PHP. Представляет собой веб-интерфейс для управления СУБД MySQL. Приложение популярно среди веб-разработчиков.

Устанавливаем PHP, а так же расширение необходимое для его работы с MySQL:

sudo yum install php php-mysql

Установка PHP

И перезагружаем Apache:

sudo systemctl restart httpd.service

Перезапуск Apache

PHPMyAdmin

Для установки PHPMyAdmin нужно подключить репозиторий с необходимыми пакетами:

sudo yum install epel-release

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

sudo yum install phpmyadmin

Подключение репозитория и установка PHPMyAdmin

Установка PHPMyAdmin выполнена

По умолчанию доступ к PHPMyAdmin разрешен только с локального компьютера. Для того что бы мы могли подключиться с другого компьютера необходимо отредактировать конфигурационный файл программы. Для редактирования файлов я использую консольный редактор nano. Если вам нравится другой можете установить его.

sudo yum install nano

Установка nano

Теперь редактируем нужный файл:

sudo nano /etc/httpd/conf.d/phpMyAdmin.conf

Необходимо найти строки "Require ip 127.0.0.1" и заменить их на "Require all granted".

Конфигурация PHPMyAdmin

Сохраняем и перезапускаем Apache:

sudo systemctl restart httpd.service

Теперь пробуем зайти на страницу PHPMyAdmin. Для этого нужно перейти на страницу вида "http://адрес сервера/phpmyadmin".

Страница авторизации PHPMyAdmin

Как видим страница отображается. Теперь нам надо создать пользователя MySQL с правами администратора. Вводим:

mysql -u root -p

Управление базами данных

И попадаем в консоль управления MariaDB. Далее поочередно делаем команды:

CREATE USER 'admin'@'localhost' IDENTIFIED BY 'пароль';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;

Создание пользователя

Пользователь с правами администратора создан. Пробуем авторизоваться в PHPMyAdmin:

PHPMyAdmin

Авторизация прошла успешно.

Создание виртуальных хостов для Apache

Если вы хотите размещать на вашем веб-сервере более одного сайта, то вам необходимо настроить Apache для работы с виртуальными хостами.

Директорию по умолчанию (/var/www/html) трогать не будем. При необходимости можно конечно ее изменить. Создаем директорию в которой будет лежать ваш сайт:

sudo mkdir -p /var/www/example.com

Создание каталога сайта

Настраиваем владельца каталога:

sudo chown -R $USER:$USER /var/www/example.com

Даем права:

sudo chmod -R 755 /var/www/example.com

Права на каталог

Создаем файл главной страницы сайта:

sudo nano /var/www/example.com/index.html

<html>

<head>

<title> example.com</title>

</head>

<body>

<h1>example.com works!</h1>

</body>

</html>

Создание тестовой страницы

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

sudo mkdir /etc/httpd/sites-available

sudo mkdir /etc/httpd/sites-enabled

Создание каталогов виртуальных хостов

Что бы Apache искал виртуальные хосты в каталоге sites-enabled нужно отредактировать его конфигурационный файл:

sudo nano /etc/httpd/conf/httpd.conf

Добавляем в конец каталога строку:

IncludeOptional sites-enabled/*.conf

Далее создаем сам файл настройки виртуального хоста:

sudo nano /etc/httpd/sites-available/example.com.conf

И настраиваем по образцу:

<VirtualHost *:80>

ServerAdmin admin@example.com 

ServerName example.com

ServerAlias www.example.com

DocumentRoot /var/www/example.com

</VirtualHost>

Файл настройки виртуального хоста

После этого виртуальный хост нужно включить. Для этого создадим ссылку на хост в каталоге sites-enabled:

sudo ln -s /etc/httpd/sites-available/example.com.conf /etc/httpd/sites-enabled/example.com.conf

Ссылка на виртуальный хост

Перезагружаем Apache:

sudo systemctl restart httpd.service

И проверяем работоспособность сайта. Вводим в браузере "http://example.com":

Проверка работы тестового сайта

Как видим все работает. По аналогии можно создать нужное вам количество виртуальных хостов.

Обратите внимание ! Если вы запускаете сайт с тестовым (не глобальным) доменным именем не забудьте внести изменения в файл hosts компьютера с которого переходите на сайт. Иначе вы не сможете зайти на ваш сайт:

Изменения в hosts

Выводы

На этом установка программ стека LAMP и PHPMyAdmin  завершены. Теперь можно приступать к работе с веб-сервером и созданию сайтов. Так же можете ознакомиться со статьей "Установка LAMP + PHPMyAdmin на Ubuntu 18.04". Если остались вопросы по данной теме, пишите в комментариях.

 

Читайте также:

Оставить комментарий