Как установить стек LAMP на Ubuntu

Ubuntu – это дистрибутив Linux, который подойдет обычным пользователям. Он обладает понятным графическим интерфейсом, он позволяет установить офисный пакет, заменяющие привычные Word, Excel и PowerPoint. Ubuntu – бесплатная замена популярным операционным системам Windows и MacOS.

Преимуществами Ubuntu является:

  • Возможность установить ОС на устаревшее оборудование (ПК и ноутбуки, у которых нет физической возможности увеличения мощности), так как дистрибутив не требователен к ресурсам.
  • Защита на уровне архитектуры, что позволяет работать операционной системе без антивируса.
  • Открытый код, что позволяет использовать Ubuntu бесплатно. 
  • Обширное сообщество пользователей, которое поможет решить возникающие сложности при работе с ОС.


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

Что такое стек LAMP

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

Каждая из программ отвечает за определенный набор функций, требующихся для создания сайта или приложения:

  • Linux, как операционная система, используется в качестве серверной платформы для веб-приложений, в которых выполняется весь стек LAMP. 
  • Apache является сервером веб-приложений, который обрабатывает HTTP-запросы и управляет веб-страницами, возвращаемыми на клиент.
  • MySQL - это система управления базами данных (СУБД), на которых хранится информация, возникающая при обработке веб-запросов. 
  • PHP - язык программирования, используемый для написания кода веб-приложений или веб-страниц, формы обратной связи и других элементов взаимодействия с пользователем. 

Для чего используется стек LAMP

Если вы установите на Ubuntu LAMP, то сможете создавать статический или динамический контент. Шаблон LAMP предоставляет программистам все компоненты, необходимые для создания и развертывания веб-приложения, а также весь необходимый инструментарий для разработки, тестирования, отладки и оптимизации. Стек поддерживает большое количество популярных фреймворков и библиотек для ускорения и упрощения работы.

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

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

Когда мы устанавливаем стек LAMP на сервер с Ubuntu, то каждая программа устанавливается отдельно. Поэтому установка и настройка LAMP на Ubuntu делится на этапы:

  1. Установка и настройка Apache,
  2. Установка и настройка MySQL,
  3. Установка и настройка PHP.

Установка Apache

Для начала установки программ подключитесь к серверу по SSH.

  1. Загрузите обновления с помощью команды

sudo apt update

  1. Установите веб-сервер Apache:

sudo apt install apache2

Так как при установке используется команда sudo, то система попросит вас ввести пароль root-пользователя. После ввода пароля нажмите Y и  Enter, чтобы продолжить установку.

Настройте брандмауэр, чтобы он пропускал http и https-трафик. Для этого необходимо открыть порты 80 и 443. 

  1. Сначала установите утилиту UFW (Uncomplicated Firewall) и включите ее:

sudo apt install ufw

sudo ufw enable

  1. Чтобы посмотреть доступные профили UFW, введите:

sudo ufw app list

  1. Вам откроется список профилей, которые управляют трафиком Apache:

Available applications:
Apache (открывает порт 80 по которому идет стандартный нешифрованный трафик).
Apache Full (открывает порты 80 и 443 для зашифрованного трафика TLS/SSL).
Apache Secure (открывает передачу зашифрованного трафика по порту 443).
OpenSSH

  1. Разрешите для Apache Full входящий трафик:

sudo ufw allow 'Apache Full'

  1. Для дальнейших подключений по SSH, добавьте профиль OpenSSH:

sudo ufw allow 'OpenSSH'

  1. Чтобы проверить, что выполненные изменения сделаны верно, используйте команду:

sudo ufw status

Перед вами появится вывод команды, где вы увидите, что необходимые профили активны (Allow).

Чтобы проверить работу Apache, в строке браузера введите http://IP_вашего_сервера. Перед вами должна открыться приветственная страница Apache.

Настройка Apache

Для настройки работы веб-сервера вносятся изменения в конфигурационные файлах, они располагаются в директории /etc/apache2/.

Apache состоит из модулей, настройки которых можно найти в /etc/apache2/mods-available. Для подключения или отключения модуля используются соответствующие команды: a2enmod название_модуля (чтобы включить) и a2dismod название_модуля (чтобы отключить). 

На примере модулей MPM (Multi-Processing Module), которые используются для мультипроцессовой обработки запросов, покажем настройку Apache.

  1. Для активации модуля введите:

sudo a2enmod mpm_prefork

Где mpm_prefork – модуль, который вы хотите подключить.

  1. Чтобы отключить неиспользуемые модули:

sudo a2dismod mpm_event
sudo a2dismod mpm_worker

Где mpm_event и mpm_worker – модули, которые не используются.

После включения или отключения модулей перезапускайте веб-сервер, чтобы применить внесенные изменения:

sudo systemctl restart apache2

Установка MySQL

  1. Для установки баз данных также подключитесь к серверу по SSH.
  2. Выполните команду для инсталляции:

$ sudo apt install mysql-server

  1. Вам отобразится список установочных пакетов, для продолжения нажмите Y.

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

Настройка MySQL

Чтобы MySQL было настроено безопасно, то рекомендуем установить плагин валидации паролей (VALIDATE PASSWORD PLUGIN). Обращаем внимание, что данный плагин предъявляет определенные требования к уровню сложности паролей. Если вы используете простые пароли, то они будут отвергаться базой данных, выдавая сообщение об ошибке.

  1. Введите команду:

sudo mysql_secure_installation

  1. Нажмите Y для включения плагина.
  2. Теперь вам будет предложено установить уровень сложности для паролей от 0 до 2, где 2 – самый высокий уровень сложности. В случае наивысшей защиты (2), ваш пароль должен содержать буквы, цифры, разный регистр букв и не содержать слова.
  3. Затем система проанализирует заданный ранее root-пароль для MySQL. Если он не отвечает установленной степени защиты, то будет предложено изменить пароль.
  4. Далее нажимайте Enter, чтобы установить настройки по умолчанию, а именно: удалятся тестовые пользователи и БД, отключится возможность удалённого доступа root-пользователя, все настройки будут сразу же применены.

Настройка MySQL завершена.

Установка PHP

Чтобы PHP работал с веб-сервером и базами данных, необходимо установить библиотеки libapache2-mod-php (для обработки PHP в Apache) и php-mysql (для подключения к MySQL из PHP).

  1. Для установки PHP на сервер используйте команду:

sudo apt install php7.2  libapache2-mod-php php-mysql

обратите внимание, что 7.2 – версия PHP, которая будет установлена.

  1. Чтобы применить сделанные изменения перезагрузите веб-сервер Apache

sudo systemctl restart apache2

Установка PHP завершена.

Настройка PHP

  1. Чтобы убедиться в правильности установки PHP, необходимо создать PHP-скрипт. Для этого создайте файл info.php:

sudo nano /var/www/html/info.php

  1. В созданный файл info.php добавьте информацию:

<?php
phpinfo();
?>

  1. Сохраните выполненные изменения (CTRL+O) и закройте файл (CTRL+X).
  2. Откройте в браузере страницу http://IP_вашего_сервера/info.php
  3. Если веб-сервер может корректно отображать данные, сгенерированные PHP-скриптом, то настройки выполнены верно. А открывшаяся страница будет иметь вид:

Если вы захотите удалить тестовый файл, то используйте команду:

sudo rm /var/www/html/info.php

Установка LAMP на Ubuntu завершена.

Всё ещё остались вопросы?