Ни для кого не секрет, что в наше время большинство сайтов интернета работают на основе веб-сервера Apache, абазы данных MySQL и серверного языка программирования — PHP. Эту группу программного обеспечения принято называть аббревиатурой LAMP (Linux Apache, MySQL, PHP).

CentOS — это серверная операционная система, поэтому она устанавливается на множество VPS, поддерживающих сайты, поэтому часто бывает необходимость установить LAMP CentOS. Это совсем не сложно, но требует определенных знаний. В этой статье мы очень подробно рассмотрим как выполняется установка Lamp CentOS 7, а также как выполнить минимальную настройку сервера для работы.

Установка LAMP CentOS

Самый главный компонент в этом программном стеке, который мы будем устанавливать — это Apache, поскольку именно он принимает все запросы от клиентов и отправляет им данные. Поэтому установку будем проводить в таком порядке:

  • Apache;
  • MySQL;
  • PHP.

И уже только после этого дополнительные компоненты, такие как phpmyadmin и так далее. Начнем с первого пункта.

Установка Apache

Веб-сервер Apache последней доступной версии можно получить из официальных репозиториев. Здесь он называется httpd. Установка Apache CentOS 7 выполняется с помощью пакетного менеджера yum:

sudo yum install httpd

Обычно, после завершения установки вам не придется больше ничего настраивать и Apache будет слушать все соединения на порту 80. Запустите службу с помощью команды:

 sudo systemctl start httpd
$ sudo systemctl enable httpd

Вторая команда добавляет программу в автозагрузку. Затем откройте ip адрес 127.0.0.1 в браузере. Если все работает, то вы должны увидеть тестовую страничку:

Несмотря на то, что все работает и так, нам необходима небольшая настройка httpd centos. Чтобы уже все было правильно, давайте создадим виртуальный хост для нашего домена, например, test.io. Конфигурационные файлы Httpd устроены немного по другом чем в Ubuntu. Все они находятся в папке /etc/httpd, но разделены по поддиректориях:

  • conf — основной конфигурационный файл;
  • conf.d — дополнительные настройки, виртуальные домены;
  • conf.moules.d — конфигурационные файлы модулей.

Утилит a2ensite, a2enmod здесь нет, поэтому вам придется вручную редактировать конфигурационные файлы для добавления той или иной возможности. Чтобы добавить виртуальный хост для нашего домена создадим файл /etc/httpd/conf.d/test.io.conf со следующим содержимым:

sudo vi /etc/httpd/conf.d/test.io.conf

<VirtualHost *:80>
ServerAdmin webmaster@test.io
ServerName test.io
ServerAlias www.test.io
DocumentRoot /var/www/test.io/public_html/
ErrorLog /var/www/test.io/logs/error.log
CustomLog /var/www/test.io/logs/access.log combined
</VirtualHost>

Создадим папку для только что настроенного виртуального хоста:

sudo mkdir -p /var/www/test.io/{public_html,logs}

Затем дадим на нее права пользователю Apache, от имени которого будет работать веб-сервер:

sudo chown -R apache /var/ww/test.io/

И создадим файл index.html:

sudo vi /var/www/test.io/public_html/index.html

Hello world

Поскольку мы разместили логи в отдельной директории, то нам нужно разрешить запись в нее Apache с помощью SELinux:

sudo /sbin/restorecon -v /var/www/test.io/logs

Осталось перезапустить веб-сервер:

sudo systemctl restart httpd

Если ваша DNS запись домена уже направлена на IP адрес сервера, то уже можно тестировать. Если же нет, нужно добавить такую строчку в файл /etc/hosts на вашем компьютере, откуда вы хотите подключаться к серверу:

ip_адрес_сервера test.io

Если Apache установлен на локальном компьютере, то можно использовать конструкцию:

sudo vi /etc/hosts

127.0.0.1 test.io

Если все было сделано правильно, то вы увидите сообщение Hello World в окне браузера. Установка httpd centos завершена и теперь можно переходить к следующему этапу.

Установка MySQL

Не будем нарушать последовательность, и следующим компонентом установим систему управления базами данных mysql. Мы будем использовать ее свободную реализацию MariaDB. Для установки выполните:

sudo yum install mariadb-server

Если у вас раньше была установлена другая версия MySQL, то ее нужно удалить, также нужно удалить папку /var/lib/mysql. После завершения установки запустите сервис:

sudo systemctl start mariadb
$ sudo systemctl enable mariadb

Установка LAMP CentOS 7 также включает первоначальную настройку базы данных. Для ее запуска наберите:

sudo mysql_secure_installation

На первом шаге вам необходимо ввести текущий пароль root. Если программа только что установлена, то достаточно просто  нажать Enter:

Дальше установите новый пароль root для баз данных:

Отключите анонимный вход. Отключите удаленный вход от имени root:

И удалите тестовые базы данных.

Ваша база данных готова к работе, если вы хотите использовать не MariaDB, а версию базы данных от Oracle, смотрите статью

Затем перезапустите веб-сервер:

sudo systemctl restart httpd

И добавьте файл для тестирования PHP в директорию нашего сайта:

sudo vi /var/www/test.io/public_html/phpinfo.php

<?php phpinfo(); ?>

Откройте адрес test.io/phpinfo.php в браузере. Если все прошло хорошо, то вы увидите такую страницу, это информация про установленную версию php:

Нам осталось добавить несколько настроек php, которые будут для вас очень полезными. Откройте файл /etc/php.ini. Если это локальный сервер, найдите строку display_errors и поменяйте значение на On:

Затем сохраните изменения и перезапустите веб-сервер.

Установка phpmyadmin

Это уже необязательный компонент сервера LAMP. Но phpmyadmin очень часто используется для управления базами данных. Для установки выполните:

sudo yum install phpmyadmin

Затем перезапустите веб-сервер для применения настроек и откройте адрес test.io/phpmyadmin в браузере:

В открывшемся окне вам осталось ввести логин и пароль для доступа к базе данных.

Теперь вы можете создать нужные вам базы данных и пользователей.

Выводы

В этой статье мы рассмотрели как выполняется установка apache на centos 7, а также полная настройка LAMP CentOS, после выполнения которой вы получите полностью функциональный локальный веб-стек для разработки или полноценный производственный сервер. Если у вас остались вопросы, спрашивайте в комментариях!

Источник: losst.ru