CentOS 7 Apache, MySQL, PHP. WEB сервер LAMP

Процесс установки LAMP в Ubuntu элементарен:

Как работают виртуальные хосты Apache?

Не будем пока о локальных системах. Если у вас есть веб-сайт, то наверное, вы занимались парковкой домена и уже знаете как все настраивается. Сначала используется DNS сервер, который выдает IP адрес вашего сервера всем клиентам, запросившим адрес этого домена. Затем клиенты отправляют запрос на ip вашего сервера, а веб-сервер уже должен его обработать.

Обычно, на хостингах один веб-сервер обслуживает десятки, а то и сотни сайтов. И как вы понимаете, все запросы поступают на один ip. Для распределения их между папками на сервере используется имя домена, которое передается вместе с запросом в HTTP заголовке "Host". Именно поэтому нужно выполнять парковку домена не только на DNS сервисе, но и на вашем сервере.

Вы настраиваете виртуальные хосты Apache, а затем веб-сервер сравнивает домен, переданный в заголовке "Host" с доступными виртуальными доменами и если находит совпадение, то возвращает содержимое настроенной папки или содержимое по умолчанию, или ошибку 404. Нужно сказать, что вы можете настроить виртуальный хост для любого домена, например, или Но пользователи смогут получить доступ к этому домену у вас, только если к вам будут поступать запросы от браузеров, в которых будет значиться этот домен. А теперь детальнее про настройку.

Устанавливаем набор программ LAMP в Ubuntu

Поскольку формат данной статьи уже подразумевает, что у вас на компьютере имеется установленная Ubuntu, мы пропустим этот шаг и перейдем сразу к другим программам, однако вы можете найти инструкции по интересующей вас теме, ознакомившись с другими нашими статьями по следующим ссылкам.

Подробнее: Установка Ubuntu на VirtualBox Пошаговое руководство по установке Линукс с флешки

Шаг 1: Установка Apache

Начнем с инсталляции открытого веб-сервера под названием Apache. Он является одним из лучших вариантом, поэтому становится выбором многих пользователей. В Ubuntu он ставится через «Терминал»:

Шаг 2: Установка MySQL

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

  1. Первоочередно в «Терминале» напишите sudo apt-get install mysql-server и нажмите на Enter.
  2. Подтвердите добавление новых файлов.
  3. Обязательно следует обезопасить использование окружения MySQL, поэтому обеспечьте защиту с помощью отдельного дополнения, которое устанавливается через sudo mysql_secure_installation.
  4. Установка настроек плагина для требований паролей не имеет единой инструкции, поскольку каждый пользователь отталкивается от собственных решений в плане валидации. Если хотите инсталлировать требования, введите в консоль y при запросе.
  5. Далее потребуется выбрать уровень защиты. Сначала ознакомьтесь с описанием каждого параметра, а затем выберите наиболее подходящий.
  6. Установите новый пароль для обеспечения рут-доступа.
  7. Далее перед вами будут отображаться различные настройки безопасности, прочтите их и примите или откажитесь, если посчитаете это необходимым.

С описанием другого метода инсталляции советуем ознакомиться в отдельной нашей статье, которую вы найдете по следующей ссылке.

Шаг 3: Установка PHP

Последним шагом для обеспечения нормального функционирования системы LAMP является инсталляция компонентов PHP. В осуществлении этого процесса нет ничего сложного, нужно лишь использовать одну из доступных команд, а затем настроить работу самого дополнения.

  1. В «Терминале» пропишите команду sudo apt-get install php7.0 libapache2-mod-php7.0 для установки необходимых компонентов в том случае, если вам необходима версия 7.
  2. Иногда приведенная выше команда оказывается нерабочей, поэтому используйте sudo apt install php или sudo apt install hhvm, чтобы инсталлировать последнюю доступную версию 7.2.
  3. По завершении процедуры убедитесь в том, что инсталлировалась правильная сборка, прописав в консоли php -v.
  4. Управление базами данных и реализация веб-интерфейса осуществляется с помощью бесплатного инструмента PHPmyadmin, который также желательно установить во время настройки LAMP. Для начала введите команду sudo apt-get install phpmyadmin php-mbstring php-gettext.
  5. Подтвердите добавление новых файлов, выбрав соответствующий вариант.
  6. Укажите веб-сервер «Apache2» и нажмите на «ОК».
  7. Вам предложат настроить базу данных через специальную команду, если это нужно, выберите положительный вариант ответа.
  8. Придумайте пароль для регистрации на сервере баз данных, после чего его нужно будет подтвердить путем повторного ввода.
  9. По умолчанию вы не сможете войти в PHPmyadmin от имени пользователя с рут-доступом или через TPC-интерфейсы, поэтому нужно отключить блокирующую утилиту. Активируйте права рут через команду sudo -i.
  10. Проведите отключение, введя echo «update user set plugin=» where User=’root’; flush privileges;» | mysql -u root -p mysql.
Читайте также:  Восстановление удалённых файлов в Linux (Инструкция для начинающих)

На этом процедуру инсталляции и настройки PHP для LAMP можно считать успешно завершенной.

Шаг – установка Apache

В настоящее время Apache – наиболее популярный веб-сервер в мире, поэтому это прекрасный выбор по умолчанию для хостинга веб-сайта. Apache можно легко установить при помощи yum, менеджера пакетов CentOS. Менеджер пакетов позволяет нам без затруднений устанавливать большую часть программ из репозитория CentOS. Для выполнения нашей задачи начнем со следующих команд:

sudo yum install httpd

Так как мы пользуемся командой sudo, эта операция выполняется с root-правами. Для подтверждения намерений она запросит ваш обычный пароль пользователя. Затем ваш веб-сервер будет установлен. После установки запустите Apache на вашем VPS:

systemctl start

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

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

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

Если вы видите эту страницу, то ваш веб-сервер установлен корректно. Последнее, что вам потребуется – включить автозапуск Apache при загрузке. Для этого воспользуйтесь следующей командой:

systemctl enable

Сетевой Bridge для kvm

Настройка сети для виртуальных машин kvm может быть настроена различными способами. Я как минимум 3 наиболее популярных знаю:

  1. Виртуальные машины выходят во внешний мир через сам хост kvm, на котором настроен NAT. Этот вариант вам будет доступен сразу после установки kvm. Ничего дополнительно настраивать не надо, так как сетевой бридж для этого virbr0 уже будет добавлен в систему. А в правилах iptables будет добавлен MASQUERADE для NAT.
  2. Одна из виртуальных машин превращается в шлюз и через нее осуществляется доступ во внешний мир для всех виртуальных машин. Наиболее гибкий способ управления сетью для vm, но в то же время требует больше времени на настройку и набор знаний по работе с сетями.
  3. Для виртуальных машин kvm создается отдельный сетевой бридж во внешнюю сеть. Они напрямую получают в нее сетевой доступ.

Последний вариант наиболее простой и удобный, поэтому настроим сеть для виртуальных машин таким образом. Для этого нам нужно установить дополнительный пакет на host.

Читайте также:  4 Windows Sticky Notes Советы для повышения производительности

sudo apt install bridge-utils

Теперь на хосте приводим сетевые настройки в /etc/netplan к следующему виду.

network: ethernets: ens18: dhcp4: false dhcp6: false version: 2 bridges: br0: macaddress: 16:76:1a:3b:be:03 interfaces: — ens18 dhcp4: true dhcp6: false parameters: stp: true forward-delay: 4

Здесь будьте очень внимательны. Не выполняйте изменения сетевых настроек, не имея прямого доступа к консоли сервера. Очень высок шанс того, что что-то пойдет не так и вы потеряете удаленный доступ к серверу.

В предложенном наборе правил netplan у меня один сетевой интерфейс на хосте гипервизора — ens18. Он изначально получал настройки по dhcp. Мы добавили новый сетевой бридж br0, в него добавили интерфейс ens18. Так же мы указали, что br0 будет получать сетевые настройки по dhcp. Я указал mac адрес для того, чтобы он не менялся после перезагрузки. Такое может происходить. Адрес можно указать любой, не принципиально. Я сделал похожий на адрес физического сетевого интерфейса.

Теперь надо применить новые настройки.

sudo netplan apply

Сетевой Bridge для kvm

Сразу после этого вы потеряете доступ к серверу по старому адресу. Интерфейс ens18 перейдет в состав bridge br0 и потеряет свои настройки. А в это время бридж br0 получит новые сетевые настройки по dhcp. IP адрес будет отличаться от того, что был перед этим на интерфейсе ens18. Чтобы снова подключиться удаленно к гипервизору kvm, вам надо будет пойти на dhcp сервер и посмотреть, какой новый ip адрес ему назначен.

Если у вас нет dhcp сервера или вы просто желаете вручную указать сетевые настройки, то сделать это можно следующим образом.

network: ethernets: ens18: dhcp4: false dhcp6: false version: 2 bridges: br0: macaddress: 16:76:1a:3b:be:03 interfaces: — ens18 addresses: — gateway4: nameservers: addresses: — — dhcp4: false dhcp6: false parameters: stp: true forward-delay: 4

В этом случае после применения новых настроек, гипервизор kvm будет доступен по адресу

Обращайте внимание на все отступы в конфигурационном файле netplan. Они важны. В случае ошибок, настройки сети применены не будут. Иногда эта тема очень напрягает, так как не получается сразу понять, где именно в отступах ошибка. В этом плане yaml файл для настроек сети гипервизора как-то не очень удобен.

Далее еще один важный момент. Чтобы наш kvm хост мог осуществлять транзит пакетов через себя, надо это явно разрешить в sysctl. Добавляем в /etc/sysctl.d/ новый параметр. Он там уже есть, надо только снять пометку комментария.

_forward=1

Применяем новую настройку ядра.

sudo sysctl -p /etc/sysctl.d/ _forward = 1

С настройкой сети гипервизора мы закончили. На данном этапе я рекомендую перезагрузить сервер и убедиться, что все настройки корректно восстанавливаются после перезагрузки.

Проверка функционала PHP

Чтобы убедиться, что PHP работает, мы создадим файл phpinfo() и получим к нему доступ к через браузер.

Создайте файл /var/www/html/, содержащий вызов функции phpinfo:

echo «<?php phpinfo(); ?>» | sudo tee /var/www/html/

Проверка функционала PHP

Чтобы просмотреть файл в браузере, откройте адрес http://your_server_ip:8080/ На странице появится перечень параметров конфигурации, используемых PHP. Результат будет выглядеть примерно так:

Убедитесь, что в Server API вверху страницы указано значение FPM/FastCGI. Раздел «Переменные PHP» в нижней трети страницы покажет, что параметр SERVER_SOFTWARE имеет значение Apache на Ubuntu. Это подтверждает, что модуль mod_fastcgi активен, и что Apache использует PHP-FPM для обработки файлов PHP.

Установка и настройка LAMP-сервера на Ubuntu

Операционные системы Linux предлагают своим пользователям большие возможности для создания веб-сайтов, их хранения на сервере и тестирования. Многие наверняка слышали, что правильная настройка Apache и MySQL позволяет удобно работать с серверами. Пора познакомиться и с LAMP, которая их всех объединяет, а также понять, как установить и настроить LAMP-сервер в Ubuntu.

Читайте также:  Горячие клавиши в 1С предприятии и конфигураторе

Установка LAMP позволяет создать web-сервер.

Что такое LAMP?

LAMP — это не программа, как можно подумать сперва, и не сервер. За этой аббревиатурой скрывается стек или комплекс программ серверного назначения: Apache, MySQL, PHP. Отсюда и название — первые буквы каждой из этих программ. Первая буква взята от Linux.

Подробнее о компонентах.

  • Apache — это свободный HTTP-сервер.
  • MySQL — мощная, также бесплатная система управления базами данных. Используется на многих сайтах.
  • PHP — язык программирования. На нём очень часто пишут различные веб-приложения.

Всё это ПО полезно и практически незаменимо для размещения веб-сайтов в сети. Осталось научиться устанавливать его и пользоваться.

Установка LAMP

ЛАМП устанавливается несколькими способами. Так как это комплекс программ, то можно загрузить каждую из них по отдельности, но удобнее сделать это вместе. Для этого проще воспользоваться Tasksel:

sudo tasksel install lamp-server

Tasksel — специальный инструмент, установленный на Убунту, с помощью которого в систему легко грузить различные программные пакеты. Во время установки система попросит ввести пароль для MySQL. Необходимо сделать это.

Удаление

Удалить стек полностью также можно одной командой:

sudo tasksel remove lamp-server

Произойдёт установка всех компонентов: PHP 7, Apache, MySQL. Для более удобной работы программы добавляются в автозагрузку. Если вы хотите это изменить, сделайте это через настройки: Система — Параметры — Запускаемые приложения. Там просто удалите компоненты ЛАМПа.

Установка и настройка

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

  1. Устанавливаем необходимые пакеты вторым способом:sudo apt-get install apache2 mysql-server php5 phpmyadmin 
  2. Придумываем и вводим пароль суперпользователя для того, чтобы установить MySQL на Ubuntu, затем делаем это повторно.
  3. Высвечивается окно настройки phpmyadmin. Здесь нужно указать, что использоваться будет Apache
  4. После нужно будет прочитать информацию в паре окон и подтвердить настройку БД. dbconfig-common — специальный вспомогательный пакет, который используется как на Debian, так и на Ubuntu.
  5. Система снова попросит нас ввести пароль. Это нужно сделать три раза: для совмещения MySQL с phpmyadmin, для создания базы данных и в подтверждение.
  6. Проверяем: работает ли сервер. Вводим в адресной строке браузера «localhost». Должно появиться сообщение: «It works!».
  7. Теперь вводим «localhost/phpmyadmin» в строке, авторизуемся. Логин: root, пароль тот же, что и вводимый ранее.

Настраиваем сервер и добавляем веб-сайт

Настройка сервера LAMP — наиболее важная часть, так как установка MySQL, Apache, PHP 7 на Ubuntu не представляет никакой сложности. Далее нужно будет поработать с программным кодом.

Делаем ссылку на phpmyadmin:

sudo ln -s /etc/phpmyadmin /var/www

Открываем, а затем редактируем конфигурацию сервера:

sudo nano /etc/apache2/

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

ServerName localhost:80

Открываем файл hosts:

sudo nano /etc/hosts

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

127.0.1.1            

Делаем файл конфигурации нового сайта:

‹VirtualHost *:80›ServerAlias /home/server/‹Directory home/server/›AllowOverride All‹/Directory›

‹/VirtualHost›

Помещаем этот файл с root-правами сюда: /etc/apache2/sites-available/

Активируем сайт:

sudo a2ensite

Перезапускаем сервер:

sudo /etc/init.d/apache2 restart

Создание страницы для веб-сайта

Делаем первую страницу — файл в папке с сайтом (home/server/).

Вводим туда:

‹?echo ‘Привет!!!’;

Вообще, ввести можно что угодно, нужно это лишь для проверки работоспособности сервера.

Открываем через браузер нашу страничку: вводим веб-адрес в строку.

После этого мы должны увидеть заветное «Привет!!!». Если это произошло, то всё настроено правильно. Теперь в этой папке можно расположить полноценный веб-сайт, который будет тестироваться на LAMP. Папку, как и адрес сайта, конечно же, можно менять.

Теперь вы знаете, что установка и настройка MySQL, Apache, PHP (LAMP) на Ubuntu не так уж страшны, как кажутся изначально. Это лишь базовые возможности софта. Со временем вы научитесь использовать всю мощь программ.