Ни для кого не секрет, что в наше время большинство сайтов интернета работают на основе веб-сервера 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
Создадим папку для только что настроенного виртуального хоста:
sudo mkdir -p /var/www/test.io/{public_html,logs}
Затем дадим на нее права пользователю Apache, от имени которого будет работать веб-сервер:
sudo chown -R apache /var/www/test.io/
И создадим файл index.html:
sudo vi /var/www/test.io/public_html/index.html
Поскольку мы разместили логи в отдельной директории, то нам нужно разрешить запись в нее Apache с помощью SELinux:
sudo /sbin/restorecon -v /var/www/test.io/logs
Осталось перезапустить веб-сервер:
sudo systemctl restart httpd
Если ваша DNS запись домена уже направлена на IP адрес сервера, то уже можно тестировать. Если же нет, нужно добавить такую строчку в файл /etc/hosts на вашем компьютере, откуда вы хотите подключаться к серверу:
Если Apache установлен на локальном компьютере, то можно использовать конструкцию:
sudo vi /etc/hosts
Если все было сделано правильно, то вы увидите сообщение 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, смотрите статью установка MySQL CentOS 7.
Установка PHP
В наши дни ни одно веб-приложение или сайт не обходятся без генерации динамического контента. Чаще всего разработчики останавливают свой выбор на PHP, поскольку это один из самых популярных языков программирования для веб. Итак, чтобы установить lamp CentOS 7 нам остался только один шаг. Вы можете найти все необходимые пакеты в официальных репозиториях. Для установки наберите:
sudo yum install php php-pear php-gd php-mysql
Затем перезапустите веб-сервер:
sudo systemctl restart httpd
И добавьте файл для тестирования PHP в директорию нашего сайта:
sudo vi /var/www/test.io/public_html/phpinfo.php
Откройте адрес 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, после выполнения которой вы получите полностью функциональный локальный веб-стек для разработки или полноценный производственный сервер. Если у вас остались вопросы, спрашивайте в комментариях!
Хорошая статья, спасибо.
Я когда устанавливал впервые ubuntu 14.04 на vps хостинг, столкнулся с тем что авторы подобных статей обычно забывают указывать: как добавить сертификат ssl и в следствии чего сделать редирект на https, как сделать два сайта на vps хостинге.
Если вас не затруднит, допишите пожалуйста. Спасибо.
Вот до чего мне нравятся такие мануалы - слов нет. А работать то как дальше? Под рутом все сайты создавать? Раньше говорили: аффтор выпей йаду. Но я так говорить не буду. Я просто скажу: не вводите людей в заблуждение, мануал нерабочий.
+ не рабочий, т.к. при создании тестовой страницы c php скриптом, а не просто (хелоу ворд), модули не вяжутся, нет интерпретации !!!(
Всё хорошо, но из-за затрагивания темы виртуального хоста, статья есть, но сырая.
Почему нет речи, к прмеру про proftpd, работать по ssh?
Почему нет речи про порты?
К примеру 10 хостов, 1 ip в статье, самого сервера - то есть будет баг, как обратиться на test.me?
Стоило бы вообще тогда не затрагивать тему виртуального хоста и просто работать с /var/www/html
Для затравки бы сошло и притензий выше - попросту не было бы.
статья рабочая, но не забывает про файрвол
sudo chown -R apache /var/ww/test.io/
поправьте пожалуйста на sudo chown -R apache /var/www/test.io/
Исправил.