Данный учебник поможет вам установить стек LAMP (Linux, Apache, MariaDB и PHP 7.3) на Debian 10 Buster. Программный стек представляет собой совокупность инструментов, которые работают совместно. Расшифровка LAMP: L — это Linux, A — Apache, M — MariaDB/MySQL, и P — PHP. Все эти компоненты являются бесплатными и с открытым исходным кодом. Этот стек является наиболее популярным для создания динамических веб-сайтов и приложений. Linux выступает в роли операционной системы, Apache — веб-сервером, MariaDB/MySQL — сервером баз данных, а PHP — языком программирования, который отвечает за создание динамических веб-страниц на стороне сервера.
Все четыре элемента являются бесплатными и имеют открытый исходный код. Тем не менее, поскольку MySQL теперь принадлежит Oracle, существует риск, что эта компания может сделать его закрытым продуктом. Поэтому мы предпочтем MariaDB вместо MySQL.
Содержание статьи
- 1 Условия, необходимые для установки LAMP-стека на Debian 10 Buster.
- 2 Обновите программные пакеты.
- 3 Инсталлируйте веб-сервер Apache на Debian 10.
- 4 Инсталляция сервера базы данных MariaDB на Debian 10
- 5 Произведите установку PHP версии 7.3 на Debian 10.
- 6 Как настроить запуск PHP-FPM вместе с Apache
- 7 Дальнейший шаг.
Условия, необходимые для установки LAMP-стека на Debian 10 Buster.
Для работы с данным учебником вам потребуется установить операционную систему Debian 10 на вашем локальном компьютере или на удаленном сервере.
Если вы рассматриваете возможность аренды VPS (виртуального частного сервера), вы можете создать учетную запись на Vultr, воспользовавшись этой уникальной ссылкой, чтобы получить $50 в виде бесплатного кредита (предложение доступно только для новых пользователей). Если вам необходимо настроить LAMP-стек и зарегистрировать доменное имя, советую приобретать домены на NameCheap — там доступные цены, а также бесплатная защита конфиденциальности whois.
Учтите, что для установки программ на Debian необходимы права администратора. Вы можете добавить sudo перед командой или воспользоваться командой su — для перехода на пользователя root.
Обновите программные пакеты.
Перед тем как установить стек LAMP, рекомендуется обновить репозиторий и программные пакеты. Для этого выполните следующую команду в вашей системе Debian 10.
sudo apt update sudo apt upgrade
Инсталлируйте веб-сервер Apache на Debian 10.
Для установки веб-сервера Apache введите следующую команду. Пакет apache2-utils добавит несколько полезных инструментов, включая утилиту для бенчмаркинга Apache HTTP сервера ab и инструмент для управления аутентификацией пользователей htpasswd.
sudo apt install apache2 apache2-utils

После установки Apache он должен запуститься автоматически. Убедитесь в его статусе, используя команду systemctl.
systemctl status apache2
●apache2.service - Веб-сервер Apache HTTP Статус: активен (загружен из /lib/systemd/system/apache2.service;включенПредустановленный вариант: активен.активен (действует) с Чт 2019-07-11 13:30:35 UTC; 4мин 31с назад Документы: https://httpd. apache. org/docs/2.4/ Процесс: 17962 ExecStart=/usr/sbin/apachectl start (код=вышел, статус=0/УСПЕХ) Основной PID: 17966 (apache2) Задачи: 55 (лимит: 545) Память: 4.8M CGroup: /system. slice/apache2.service ├─17966 /usr/sbin/apache2 - k start ├─17967 /usr/sbin/apache2 - k start └─17968 /usr/sbin/apache2 - k start
Если он не активирован, воспользуйтесь командой systemctl для его запуска.
sudo systemctl start apache2
Также разумно настроить Apache на автоматический запуск при загрузке системы.
sudo systemctl enable apache2
Убедитесь в актуальности версии Apache:
sudo apache2 - v
Версия сервера: Apache/2.4.38 (Debian) Сервер собран: 2019-04-07T18:15:40
Введите публичный IP-адрес вашего сервера на Debian 10 в строку браузера. Если все настроено верно, вы увидите страницу с надписью «Это работает!», что подтверждает успешную работу веб-сервера Apache. Если LAMP установлен на локальном компьютере с Debian 10, используйте 127.0.0.1 или localhost для доступа.

Если подключение было отклонено или не удалось завершить, это может означать, что брандмауэр блокирует входящие запросы на TCP порт 80. В случае использования брандмауэра iptables вам следует выполнить следующую команду для разблокировки TCP порта 80.
sudo iptables - I INPUT - p tcp --dport 80 - j ACCEPT
Если вы применяете брандмауэр UFW, выполните следующую команду для открытия TCP порта 80.
sudo ufw allow http
Теперь необходимо изменить владельца корневого каталога документов (или веб-корня) на www-data (пользователь Apache). По умолчанию этот каталог принадлежит пользователю root.
sudo chown www-data:www-data /var/www/html/ - R
По умолчанию веб-сервер Apache применяет имя хоста вашей системы в качестве глобального ServerName. Если это имя не удается разрешить через DNS, вы, скорее всего, столкнетесь с ошибкой после выполнения команды sudo apache2ctl — t.
AH00558: apache2: Не удалось надежно определить полное доменное имя сервера, используется 127.0.0.1. Установите директиву 'ServerName' глобально, чтобы подавить это сообщение
Для решения данной проблемы можно задать глобальный ServerName в Apache. Воспользуйтесь текстовым редактором командной строки Nano для создания нового конфигурационного файла.
sudo nano /etc/apache2/conf-available/servername.conf
Включите следующую строку в данный файл.
ServerName localhost
Сохраните изменения и закройте файл. В текстовом редакторе Nano для сохранения файла нажмите Ctrl+O, затем подтвердите действие, нажав Enter. Для выхода используйте комбинацию Ctrl+X. После этого активируйте данный конфигурационный файл.
sudo a2enconf servername.conf
Перезапустите Apache, чтобы изменения начали действовать.
sudo systemctl reload apache2
Теперь, если вы снова выполните команду sudo apache2ctl — t, вы больше не получите указанное сообщение об ошибке.
Инсталляция сервера базы данных MariaDB на Debian 10
MariaDB служит альтернативой MySQL. Чтобы установить его на Debian 10, выполните следующую команду.
sudo apt install mariadb-server mariadb-client
После установки сервер MariaDB должен запуститься автоматически. Для проверки его состояния воспользуйтесь командой systemctl.
systemctl status mariadb
●Служба mariadb.service - это сервер базы данных MariaDB версии 10.3.15. Статус: загружен из файла (/lib/systemd/system/mariadb.service).включенЗаводская установка: активирована) Включено:действует активно с Чт 2019-07-11 13:57:03 UTC; 16s назад Документация: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Основной PID: 18566 (mysqld) Статус: "Принимаю ваши SQL-запросы." Задачи: 31 (лимит: 545) Память: 73.9M CGroup: /system. slice/mariadb.service └─18566 /usr/sbin/mysqld
Если он не функционирует, попробуйте активировать его с помощью следующей команды:
sudo systemctl start mariadb
Для того чтобы настроить автоматический запуск MariaDB при загрузке системы, выполните следующие действия:
sudo systemctl enable mariadb
После завершения установки запустите скрипт безопасности.
sudo mysql_secure_installation
При запросе ввести пароль root для MariaDB просто нажмите клавишу Enter, поскольку пароль ещё не настроен. Далее введите y, чтобы задать пароль root для сервера MariaDB.

Вы можете просто нажать клавишу Enter, чтобы автоматически ответить на все следующие вопросы. Это приведет к удалению анонимного пользователя, отключению удаленного доступа под учетной записью root и удалению тестовой базы данных. Этот шаг является важным для обеспечения безопасности базы данных MariaDB. Обратите внимание, что буква Y указана с заглавной буквы, что означает выбор по умолчанию.

В стандартной конфигурации MariaDB на Debian для аутентификации пользователей применяется метод unix_socket. Это позволяет использовать учетные данные операционной системы для доступа к консоли MariaDB. Следовательно, вы можете войти в систему, не вводя пароль root MariaDB, с помощью следующей команды.
sudo mariadb - u root
sudo mysql - u root
exit;
Узнайте данные о текущей версии сервера MariaDB.
mariadb --version
mariadb Ver 15.1 Distrib 10.3.15-MariaDB, для debian-linux-gnu (x86_64) с использованием readline 5.2
Произведите установку PHP версии 7.3 на Debian 10.
На момент создания этой статьи последней стабильной версией PHP является PHP 7.3, которая предлагает незначительное повышение производительности по сравнению с предыдущими версиями. Для установки PHP 7.3 из репозитория Debian 10 выполните следующую команду.
sudo apt install php7.3 libapache2-mod-php7.3 php7.3-mysql php-common php7.3-cli php7.3-common php7.3-json php7.3-opcache php7.3-readline
Активируйте модуль php7.3 для Apache и перезапустите веб-сервер Apache.
sudo a2enmod php7.3 sudo systemctl restart apache2
Узнайте текущую версию PHP.
php --version
PHP версии 7.3.4-2 (cli) (собрано: 13 апреля 2019 года, 19:05:48) (NTS) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.4, Copyright (c) 1998-2018 Zend Technologies с Zend OPcache v7.3.4-2, Copyright (c) 1999-2018, от Zend Technologies
Для тестирования PHP-скриптов с сервером Apache необходимо создать файл info.php в корневой директории веб-сайта, воспользовавшись текстовым редактором командной строки, например, Nano.
sudo nano /var/www/html/info.php
Добавьте следующий PHP-код в файл.
Сохраните файл и закройте его. (Для сохранения документа в текстовом редакторе Nano нажмите Ctrl+O, затем подтвердите, нажав Enter. Для выхода используйте комбинацию Ctrl+X.)
В строке браузера введите адрес server-ip-address/info.php. Замените server-ip-address на ваш реальный IP-адрес. Если вы используете это руководство на своем локальном устройстве, введите 127.0.0.1/info.php или localhost/info.php.
Необходимо проверить информацию о PHP на вашем сервере. Это подтверждает, что PHP-скрипты могут корректно функционировать с веб-сервером Apache. Вы также можете заметить, что Zend OPcache активирован.

Как настроить запуск PHP-FPM вместе с Apache
Существует два главных метода выполнения PHP-кода на веб-сервере Apache:
- Модуль PHP для веб-сервера Apache
- PHP-FPM.
В описанных выше этапах применяется модуль PHP7.3 для интерпретации PHP-кода, что является стандартной практикой. Однако в некоторых ситуациях необходимо выполнять PHP-код через PHP-fpm.Вот инструкция по этому процессу.
Отключите модуль PHP 7.3 для Apache.
sudo a2dismod php7.3
sudo apt install php7.3-fpm
Активируйте модули proxy_fcgi и setenvif.
sudo a2enmod proxy_fcgi setenvif
Активируйте конфигурационный файл php7.3-fpm.conf, расположенный в директории /etc/apache2/conf-available.
sudo a2enconf php7.3-fpm
Перезапустите Apache, чтобы изменения начали действовать.
sudo systemctl restart apache2
Теперь, если вы обновите страницу info.php в своем браузере, вы увидите, что Server API изменился на FPM/FastCGI. Это свидетельствует о том, что веб-сервер Apache использует PHP-FPM для выполнения PHP-кода.

Дальнейший шаг.
Поздравляем! Вам удалось успешно установить Apache, MariaDB и PHP7 на Debian 10 Buster. Для повышения безопасности вашего сервера рекомендуется удалить файл info.php, чтобы избежать доступа несанкционированных пользователей.
sudo rm /var/www/html/info.php
Надеюсь, этот урок оказался полезным для вас в процессе установки стека LAMP на Debian 10 Buster. Также рекомендую ознакомиться с последующим уроком, посвященным установке phpMyAdmin — веб-инструмента для администрирования MariaDB/MySQL.
- Установка phpMyAdmin на Apache (LAMP) для Debian 10 Buster.
Если вам понравился этот пост, не забудьте подписаться на нашу бесплатную рассылку, чтобы получать свежие уроки.

