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

Доброго времени суток, уважаемые читатели. Сегодня тема статьи: "Установка LAMP в CentOS 7". Кроме того, для работы с базами данных, будет рассмотрена установка веб-приложения Phpmyadmin.
LAMP – это комплект серверного ПО (Linux, Apache, MySQL, PHP), готовая платформа для работы веб-сайтов или веб-приложений.
Создание инфраструктуры.
- Для начала создадим директории для нашего веб-сайта или веб-приложения.
- Будем использовать директорию /var/www, в качестве хранилища наших веб-ресурсов.
- В директории www создаём первый каталог под веб-сайт, и называем его так же, как и доменное имя нашего сайта, чтобы не было путаницы, если сайтов будет несколько.
- Для примера создадим каталог test.ru.
- В основном каталоге создадим две директории: site – для файлов сайта, и log – для логов доступа и ошибок.
# mkdir -p /var/www/test.ru/{site,log}
Установка Apache.
- Переходим к установке веб-сервера Apache.
# yum install httpd
- После установки, запускаем Apache, и добавляем его в автозагрузку.
# sudo systemctl start httpd
# sudo systemctl enable httpd

- Делаем Apache владельцем директории /var/www/.
# chown -R apache. /var/www/
- Теперь нужно создать конфигурационный файл для нашего сайта.
- Идём в директорию /etc/httpd/conf.d/, и создаём файл test.ru.conf с таким содержанием:
ServerName test.ru ServerAlias www.test.ru DocumentRoot /var/www/test.ru/site ErrorLog /var/www/test.ru/log/error.log CustomLog /var/www/test.ru/log/access.log common Options FollowSymLinks AllowOverride All Require all granted php_admin_value date.timezone 'Europe/Moscow' php_admin_value max_execution_time 60 php_admin_value upload_max_filesize 30M

- На этом с Apache, пока мы закончили.
Установка PHP.
- Переходим к установке PHP.
- Во внутреннем репозитории старые версии пакетов, поэтому будем подключать сторонний репозиторий Remi.
# rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
- Теперь нужно установить дополнительные пакеты для пакетного менеджера yum.
# yum install yum-utils
- По завершении установки, активируем remi-php73.
# yum-config-manager --enable remi-php73
- Устанавливаем php, и некоторые компоненты.
# yum 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
Настройка брандмауэра.
- Добавляем правило в файл /etc/sysconfig/iptables.
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT

- Перезапускаем iptables.
# systemctl restart iptables
- Теперь можно перезагрузить Apache, и проверить его работоспособность.
# systemctl restart httpd
- Открываем браузер, и заходим по ip-адресу или доменному имени.
- Открывается страничка заглушка Apache. Правильно, ведь в директории /var/www/test.ru/site/ у нас пусто.

- Для проверки, создадим файл index.html, с текстом "Hello".
# echo "Hello" >> /var/www/test.ru/site/index.html

- Если теперь зайти через браузер, то вместо заглушки, будет белая страница с надписью Hello.
Установка mariadb.
- В директории /etc/yum.repos.d/, создаём файл mariadb.repo с таким содержанием:
[mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.4/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
- Запускаем установку сервера баз данных.
# yum install MariaDB-server MariaDB-client
- По завершении установки, запускаем mariadb, и добавляем в автозагрузку.
# systemctl start mariadb
# systemctl enable mariadb
- Открываем скрипт первоначальной настройки, и производим настройку.
# /usr/bin/mysql_secure_installation
- Создаём пароль для root, и на все вопросы отвечаем Y.
- На этом настройки сервера баз данных завершены.
Установка Phpmyadmin.
- Прежде чем заняться phpmyadmin, нам нужно создать необходимые директории.
- Установку будем производить на поддомен.
- Создадим поддомен myadmin.test.ru. (Вы можете создать поддомен на своё усмотрение)
# mkdir -p /var/www/myadmin.test.ru/{site,log}
- Далее нужно создать конфигурационный файл, по аналогии с файлом, который мы создавали для сайта test.ru.
- Создаём файл /etc/httpd/conf.d/myadmin.test.ru.conf.
ServerName myadmin.test.ru ServerAlias www.myadmin.test.ru DocumentRoot /var/www/myadmin.test.ru/site ErrorLog /var/www/myadmin.test.ru/log/error.log CustomLog /var/www/myadmin.test.ru/log/access.log common Options FollowSymLinks AllowOverride All Require all granted php_admin_value date.timezone 'Europe/Moscow' php_admin_value max_execution_time 360 php_admin_value upload_max_filesize 180M

- Изменяются только пути к директориям и файлам.
- Предварительная подготовка завершена. Можно переходить к установке.
- Заходим на официальный сайт https://www.phpmyadmin.net/, и либо скачиваем архив через браузер, либо копируем ссылку, и скачиваем на сервер при помощи wget.

- Файлы phpmyadmin должны быть добавлены в директорию /var/www/myadmin.test.ru/site.
- Производим необходимые настройки доступа.
# chown -R apache. /var/www/myadmin.test.ru/site
Проверка работоспособности.
- Теперь можно проверить работоспособность нашей конфигурации.
- Если Вы производите установку в локальной сети, и в сети нет DNS-сервера, то можно добавить записи в файл C:\Windows\System32\drivers\etc\hosts.
Ip-адрес test.ru
Ip-адрес myadmin.test.ru

- Открываем браузер, и обращаемся на test.ru.
- Открывается страничка, созданная нами в директории /var/www/test.ru/site.

- Открываем новую вкладку, и обращаемся на myadmin.test.ru.
- Открывается страница авторизации Phpmyadmin.

Конфигурация работает. Оба наших виртуальных хоста доступны.
Настройка ротации логов.
- Единственное что нам осталось сделать, это настроить ротацию логов наших виртуальных хостов.
- Ротация настроенная по умолчанию, не коснётся наших виртуальных хостов, так как мы изменили директории логов.
- Чтобы поправить дело, нужно найти файл /etc/logrotate.d/httpd, именно он и отвечает за ротацию Apache, и добавить в него одну строчку.
/var/www/*/log/*log

После добавления данной строчки, для всех лог-файлов наших виртуальных хостов, будет производится ротация по умолчанию.
Сегодня мы рассмотрели тему: "Установка LAMP в CentOS 7". Произвели установку и настройку всех компонентов. Смотрите также видео по теме.
Надеюсь статья была вам полезна. До встречи в новых статьях.
✍
С уважением, Андрей Бондаренко.
Видео на тему "Установка LAMP в CentOS 7":

WMZ-кошелёк = Z667041230317
«Linux»
Александр
У вас отличный блог и видео. Очень полезная информация! Огромное спасибо за ваш труд.
Андрей Бондаренко
Спасибо на добром слове.
Владислав
В установке phpmyadmin ошибка :Файлы phpmyadmin должны быть добавлены в директорию *****/var/www/test.ru/myadmin.test.ru/site.**** верная директория *****/var/www/myadmin.test.ru/site*****
Андрей Бондаренко
Доброго времени суток!
Исправил опечатку.
Спасибо за то что обратили внимание!