Как выполнить установку LAMP-стека на сервере или компьютере с Debian 10 Buster

Данный учебник поможет вам установить стек 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.

Условия, необходимые для установки 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

Дебиан 10 с LAMP-стеком

После установки Apache он должен запуститься автоматически. Убедитесь в его статусе, используя команду systemctl.

Читайте также:  Релиз X.Org 7.6

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 для доступа.

Установка веб-сервера Apache на Debian 10

Если подключение было отклонено или не удалось завершить, это может означать, что брандмауэр блокирует входящие запросы на 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. После этого активируйте данный конфигурационный файл.

Читайте также:  Пошаговая инструкция по сжатию PDF в Linux

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.

Как установить стек LAMP на Debian 10 Buster.

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

Установка LAMP-стека на Debian 10.

В стандартной конфигурации 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 выполните следующую команду.

Читайте также:  PowerShell: Отправка электронных писем из командной строки Windows

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 активирован.

Debian 10 Buster с PHP 7.3

Как настроить запуск 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-кода.

Дебиан 10 Buster с Apache и PHP-FPM

Дальнейший шаг.

Поздравляем! Вам удалось успешно установить 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.

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