Настройка lamp debian 10

Обновлено: 04.07.2024

Зачастую многие пользователи, которые недавно перешли на Linux с Windows, задаются вопросом, как установить OpenServer на Linux? Конечно, у опытных такой вопрос вызовет лишь усмешку, ведь отличительной частью этой системы является тот факт, что это ненужно в принципе. Можно просто установить LAMP. Аббревиатура LAMP расшифровывается как Linux Apache Mysql PHP, это набор программного обеспечения, который чаще всего используется для разработки сайтов.

На самом деле в интернете полно различных мануалов и инструкций по установке. Но к сожалению значительная часть из них уже устарела, вторая часть не полная. К примеру рассматривается установка php, mysql, а как добавить хосты? А для разработки очень часто нужно работать с таблицами, через терминал с ними работать не удобно. Нужна PhpMyAdmin. В общем сегодня я решил написать самый полный и подробный мануал по установке LAMP сервера на Debian 10. За основу я взял эту инструкцию, но немного модифицировал с расчётом на то, что мы делаем локальный сервер для разработки сайтов. Инструкция получилась немного длинная, но не пугайтесь, зато на выходе мы получим полноценный, готовый к использованию сервер с несколькими сайтами для разработки, готовой панелью PhpMyAdmin и всеми необходимыми плюшками.

Установка LAMP сервера

И так, начнём с того, что если вы только что установили систему и ничего не делали — вам не помешало бы прочитать статью о первых шагах по этой ссылке. Если Вы это уже сделали — отлично, входим от имени суперпользователя (если вы читали статью, то вы знаете как это сделать) и обновляем репозитории командой:

Устанавливаем сервер

Первым делом нам нужно установить Apache. Делается это элементарно командой:

Скриншот окна успешной установки Apache2

Если вы увидели такое же окно — поздравляю! Веб-сервер успешно установлен! :)

Но к сожалению в 21-м веке сайты представляют из себя не просто набор HTML страничек. По этому давайте теперь научим наш сервер понимать какой нибудь язяк программирования. К примеру php.

Делается это ещё одной простой командой:

apt install php libapache2-mod-php php-mysql

Но нам ещё нужно где то хранить данные. По этому давайте добавим базу данных. Но в Debian 10 метапакет mysql-server, который традиционно использовался для установки сервера MySQL, был заменен на default-mysql-server. Этот метапакет ссылается на MariaDB , сообщество форка исходного сервера MySQL от Oracle, и в настоящее время это сервер баз данных, совместимый с MySQL по умолчанию, доступный в репозиториях менеджера пакетов на основе debian. Но для долгосрочной совместимости давайте установим MariaDB с использованием действующего пакета программы mariadb-server.

В общем то на этом этапе работу можно считать завершённой. Сервер готов. Но конечно же для полноценной работы нам не хватает панели phpMyAdmin, было бы не плохо сделать так, чтоб можно было работать с несколькими сайтами по разным адресам, иметь папку для бекапов баз данных и другие полезные плюшки. Следующие разделы статьи как раз и посвящены этим самым «плюшкам».

Устанавливаем phpMyAdmin для нашего LAMP сервера

И первое, с чего начнём — это с панели для БД. Работать через терминал конечно весело, но не слишком комфортно. Так что давайте для начала добавим некоторые модули для php:

apt install php-mbstring php-zip php-gd

И тут нас ждёт первая «засада». Пока что панель недоступна в репозиториях Debian 10 (но возможно появится в будущем) по умолчанию, поэтому нам нужно загрузить исходный код на компьютер с сайта phpMyAdmin.

Для этого переходим сюда, прокручиваем вниз до таблицы со ссылками на скачивание последней стабильной версии и копируем ссылку на скачивание, заканчивающуюся на all-languages.tar.xz. «all-languages» указывает на то, что эта версия мультиязычная, а значит там будет Русский интерфейс, а «tar.xz» указывает на архивный файл, известный как tarball, который при извлечении создаст несколько файлов в вашей системе. На момент написания этой статьи последняя версия - версия 4.9.0.1.

В таком случае команда будет выглядеть так:

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

tar xvf phpMyAdmin- 4.9.0.1-all-languages .tar.gz

Перемещаем каталог в каталог файлов конфигурации по умолчанию

mv phpMyAdmin- 4.9.0.1-all-languages / /usr/share/phpmyadmin

Теперь нам нужно произвести первоначальные настройки. Создаём каталог временных файлов, создаём профиль пользователя и создаём конфиг. Для этого поочерёдно выполните следующие команды:

mkdir -p /var/lib/phpmyadmin/tmp

chown -R www-data:www-data /var/lib/phpmyadmin

cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php

Теперь отредактируем только что скопированный кинфигурационный файл по умолчанию Для этого откроем его в текстовом редакторе:

И для упрощения — я подготовил для Вас новый, правильный конфиг по этой ссылке. А если же Вам интересно знать подробнее, что за что отвечает — подробное описание брал тут.

Важно! После скачивания нового конфига — замените в нём: строка №43 - замените его на любой другой пароль (и запомните его, он нам один раз дальше пригодится). И на строке №17 — просто втавьте любые другие символы, запоминать их не обязательно! :)

Собственно теперь просто замените новый получившийся конфиг на тот, что открывали выше и сохраните изменения.

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

Для начала создадим таблицы, каталогом займёмся вместе с созданием хостов. Для этого выполняем команду:

Теперь нам осталось только создать пользователя для phpMyAdmin и для себя, от чьего имени будем вести всю работу. Для этого входим в базу:

Создаём пользователя pma для панели. Важно! «password» заменяем на пароль, который вы указывали в строке 43 конфига!

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

Всё, выходим из БД:

Всё готово, теперь нам осталось только создать конфиг и можно работать. Для этого выполняем:

И в открывшийся новый документ вписываем этот конфиг.

И «скармливаем» этот конфиг Apache:

* — Если у Вас a2enconf выдаёт ошибку — в конце статьи есть заметка по этому поводу.

Теперь мы можем перезагрузить Apache и всё заработает. Но делать мы этого не будем т.к. после создания новых хостов нам опять же нужно будет его перезагружать. Давайте сразу обновим хосты и после этого уже один раз перезагрузим сервер.

Создаём новые сайты в Apache2

И так, давайте создадим нужные каталоги. Мы в каталоге /var/www/ создадим каталог нового сайта и каталог для бекапов базы данных, который мы указывали в конфиге phpMyAdmin. После чего передадим права пользования этими каталогами себе, чтоб иметь возможность без помощи root записывать в них файлы и удалять их. Для этого поочерёдно выполняем следующие команды:

mkdir /var/www/ test_site

mkdir /var/www/backup

chown -R $USER:$USER /var/www/ test_site

chown -R $USER:$USER /var/www/backup

Как Вы наверняка догадались, «test_site» — имя каталога для будущего сайта, а «backup» — имя каталога с бекапами. Имя сайта может быть любым, а вот если решите переименовать каталог с бекапами — не забудьте поменять его в том числе и в конфиге.

Теперь создаём конфигурационный файл для нашего нового сайта:

gedit /etc/apache2/sites-available/ test_site .conf

И вписываем в открывшийся новый конфиг следующие строки:

Как Вы наверняка заметили, имя сайта и имя его каталога не обязательно должны совпадать, но всё же лучше так не делать т.к. в случае, если сайтов будет много, а каталоги и именя совпадать не будут — вы сами себя запутаете. По этому лучше, чтоб имя сайта и имя каталога в папке /var/www/ совпадали.

Теперь сайт по сути готов, но остался один нюанс. Компьютер по умолчанию будет искать сайт в интернете, а не на компьютере. По этому давайте откроем хост-файл и скажем ему, что вот этот адрес в интернете не искать. Открываем хост:

В этом файле уже есть два адреса. Первая строка — localhost. Тот самый, по которому вы проверяли работоспособность сервера после первой команды установки. Далее идёт имя компьютера в сети. Вы по этому адресу так же можете перейти и увидите абсолютно то же самое, что и при localhost. И ниже мы можем дописать новые адреса. Как видите на скриншоте ниже, у меня есть ещё два адреса. Это qb.test и v.test. Адрес, по которому я тестирую свой сайт Qbik.club и ещё один секретный адрес, про который я ничего не скажу! ;)

Пример добавления сайта в /etc/hosts

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

Теперь компьютер знает, что этот сайт ненужно искать в интернете, но где же? Теперь нужно сказать apache, где искать файлы сайта и какие у его конфигурации. Для этого выполняем команду:

Внмиание! Распространённая ошибка, выполнять команду a2ensite передавая имя сайта. передаём не имя сайта, а имя конфигурационного файла, который мы создавали выше!

* — Если у Вас a2ensite выдаёт ошибку — в конце статьи есть заметка по этому поводу.

Теперь мы можем перезагрузить Apache и если Всё сделано правильно — радоваться жизни! :)

Включаем обработку .htaccess и вывод ошибок php

Вроди всё работает, база есть, интерфейс для управления базами есть, всё работает. Но вот есть несколько досадных ошибок. Это кое какие конфигурации по умолчанию. К примеру на «боевом сервере» как правило отключен вывод ошибок php. Это и логично, ведь это потенциальная уязвимость, которая сообщает «много интересного» потенциальному взломщику. Но мы же делаем локальный сервер для разработки. По этому давайте включим вывод ошибок, который нам пригодится для работы. для этого открываем конфиг:

Теперь в файлике нужно найти следующие значения и заменить их на вот такие:

error_reporting = E_ALL

display_errors = On

display_startup_errors = On

И обработка .htaccess. Для этого открываем другой конфиг:

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


Options Indexes FollowSymLinks
Require all granted
AllowOverride All

Лично я когда так сделал и перезапустил Apache — получил ошибку 500. Всё дело оказалось в том, что по умолчанию mod_rewrite отключен. А это довольно популярный модуль по перенаправлениям в .htaccess. По этому если у вас будет такая же проблема — включаем его одной простой командой:

Разумеется, после того, как был сохранён конфиг или включен модуль — перезагружаем Apache:

Замечание для тех, у кого не работает a2enmod, a2ensite или a2enconf!

Важное замечание! Лично я был довольно неплохо так озадачен, почему a2ensite выдаёт ошибку? Всё оказалось просто, на форуме мне подсказали. Просто войдите через su - root и будет Вам счастье! ;)

Публикация относится к тематической подборке: «Первые шаги в Debian»

Данная публикация относится к череде публикаций о первых шагах в настройке и освоении ОС Debian.

Понравилась публикация? Поделись ей с друзьями!

Понравился сайт? Подпишьсь на нас в соцсетях!

Комментарий успешно отправлен. Он будет опубликован после проверки модератором.

Новый комментарий к публикации

Нравится сайт? Поддержи проект!


Стек «LAMP» — это набор программного обеспечения с открытым исходным кодом, который обычно устанавливается вместе, чтобы позволить системе устанавливать динамические приложения. Этот термин является аббревиатурой, которая описывает операционную систему Linux, веб-сервер Apache, базу данных MariaDB и программирование на PHP.

Хотя этот стек «LAMP» обычно использует MySQL в качестве системы управления базами данных, некоторые дистрибутивы Linux, такие как Debian, используют MariaDB в качестве замены MySQL.

В этой статье мы покажем вам, как установить стек LAMP на сервере Debian 10, используя MariaDB в качестве системы управления базами данных.

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

Чтобы установить Apache, используйте менеджер пакетов Debian apt, как показано ниже:

Когда установка Apache будет завершена, установщик вызовет systemd system и service manager, чтобы запустить службу Apache2 и активировать её автоматический запуск при загрузке системы.

Чтобы проверить, работает ли служба Apache, выполните следующую команду systemctl:


apache

Вы также можете выполнить команды запуска, остановки, перезапуска и получения статуса веб-сервера Apache, используя следующие команды systemctl:

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


apache

Установка MariaDB в Debian

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

Чтобы установить MariaDB, используйте менеджер пакетов Debian apt, как показано ниже:

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

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

MariaDB

Если вы хотите создать базу данных с именем «sedicomm_wpdb» и пользователя с именем «sedicomm_wpuser» с полными правами доступа к базе данных, выполните следующие команды:

Для подтверждения того, что новый пользователь имеет полные права доступа к базе данных, войдите в MariaDB с учетными данными пользователя, как показано ниже:

mysql

Установка PHP 7.4 в Debian

Чтобы установить пакет PHP, выполните следующую команду:

apache

Если вы хотите установить дополнительные модули PHP, вы можете выполнить поиск и установку с помощью комбинации команд apt-cache и grep, как показано ниже:

Теперь перезагрузите конфигурацию Apache и проверьте его состояние с помощью следующих команд:

Тестирование PHP-обработки на Apache

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

Добавьте следующий код PHP внутри файла:

Когда вы закончите, сохраните и закройте файл.

Теперь откройте браузер. Чтобы увидеть, может ли ваш веб-сервер отображать контент, созданный этим сценарием PHP, введите следующую команду в адресную строку:

php

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

Поэтому настоятельно рекомендуется удалить этот файл с сервера.

Итоги

В этой статье мы объяснили, как установить стек Linux, Apache, MariaDB и PHP (LAMP) на сервер Debian 10.

Спасибо за уделенное время на прочтение статьи о том, как установить LAMP на сервере Debian 10!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Стек LAMP – это группа открытых программ, которая необходима для поддержки динамических сайтов и веб-приложений. Акроним LAMP расшифровывается как Linux (операционная система), Apache (веб-сервер), MariaDB (система управления базами данных, которая используется в Debian вместо MySQL) и PHP (серверный язык сценариев для обработки динамического контента).

На вашем сервере уже установлен первый компонент – операционная система Debian, которая является дистрибутивом Linux. Этот мануал поможет установить остальные компоненты стека.

Требования

  • Сервер Debian 10.
  • Пользователь с доступом к команде sudo и базовый брандмауэр (все инструкции можно найти здесь).

1: Установка Apache и настройка брандмауэра

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

sudo apt update
sudo apt install apache2

Чтобы запустить команды с правами sudo, нужно ввести пароль текущего пользователя.

Получив правильный пароль, менеджер apt сообщит, какие пакеты он собирается установить и сколько дискового пространства для этого потребуется. Нажмите Y и ENTER, чтобы продолжить.

Примечание: Далее подразумевается, что вы настроили брандмауэр UFW согласно мануалу по начальной настройке сервера.

Теперь нужно проверить настройки брандмауэра UFW. Он поставляется с профилями сервисов, с помощью которых проще изменять его поведение. Просмотрите доступные профили Apache:

sudo ufw app list

Профили WWW управляют трафиком веб-сервера:

Available applications:
. . .
WWW
WWW Cache
WWW Full
WWW Secure
. . .

Профиль WWW Full пропускает трафик на порты 80 и 443.

sudo ufw allow in "WWW Full"

Чтобы убедиться, что брандмауэр поддерживает входящий трафик по порту 80 или 443, посетите внешний IP своего сервера в браузере.

На экране должна появиться стандартная страница Apache для Debian 10:

It works!
This is the default welcome page used to test the correct operation of the Apache2 server after installation on Debian systems. …

Как узнать свой внешний IP-адрес

Существует несколько способов узнать внешний IP-адрес сервера из командной строки.

Во-первых, можно использовать инструменты iproute2:

ip addr show eth0 | grep inet | awk '< print $2; >' | sed 's/\/.*$//'

Команда вернёт несколько адресов, однако сервер может использовать не все, а только один из них; проверьте каждый полученный адрес.

Также можно при помощи curl запросить свой адрес у третьей стороны.

2: Установка MariaDB

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

MariaDB – это форк MySQL, разработанный сообществом. В Debian 10 метапакет mysql-server, который традиционно использовался для установки сервера MySQL, заменили пакетом default-mysql-server (это метапакет MariaDB)

MariaDB хорошо работает в большинстве случаев, но если вам нужны функции, доступные только в Oracle MySQL, вы можете установить и использовать пакеты из репозитория, поддерживаемого разработчиками MySQL.

Однако для более долгосрочной совместимости рекомендуется вместо метапакета MySQL установить MariaDB (через пакет mariadb-server).

Чтобы сделать это, введите:

sudo apt install mariadb-server

После установки MariaDB требуется настройка. Чтобы защитить установку, можно запустить простой скрипт безопасности, который удалит потенциально рискованные настройки. Инициируйте скрипт:

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

В следующем запросе скрипт предложит настроить пароль root для базы данных. Введите N и нажмите клавишу Enter. В Debian учетная запись root MariaDB тесно связана с автоматизированным обслуживанием системы, поэтому изменять стандартные методы аутентификации этой учетной записи нельзя. Иначе при обновлении пакета БД может повредиться, а доступ к учетной записи root может быть утрачен. Позже мы рассмотрим, как настроить дополнительную учетную запись администратора, если аутентификация сокетов вам не подходит.

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

После этого откройте командную строку MariaDB в терминале:

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

Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 74
Server version: 10.3.15-MariaDB-1 Debian 10
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>

Для повышения безопасности лучше иметь отдельные учетные записи с более узкими привилегиями для каждой базы данных (особенно если вы планируете разместить на своем сервере несколько БД). Давайте создадим базу данных example_database и пользователя example_user (вы можете заменить эти имена другими значениями).

Чтобы создать новую базу данных, выполните следующую команду из консоли MariaDB:

CREATE DATABASE example_database;

Теперь можно создать нового пользователя и предоставить ему полные права на новую базу данных. Следующая команда определяет условный пароль этого пользователя (password), вы должны заменить это значение безопасным паролем.

GRANT ALL ON example_database.* TO 'example_user'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Это предоставит пользователю example_user полные права доступа к БД example_database, в то же время запретив ему создавать или изменять другие базы данных на вашем сервере.

После этого выйдите из оболочки MariaDB:

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

mariadb -u example_user -p

Обратите внимание на флаг -p в этой команде, который запрашивает пароль, который вы указали при создании пользователя example_user. После входа в консоль MariaDB убедитесь, что у вас есть доступ к базе данных example_database:

Чтобы выйти из оболочки MariaDB, введите:

На данный момент СУБД настроена, вы можете перейти к установке PHP, последнего компонента стека LAMP.

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

PHP – это серверный язык сценариев для написания динамических страниц. Он позволяет запускать сценарии, подключаться к БД MariaDB и передавать обработанный контент в браузер для отображения.

PHP также можно установить с помощью менеджера apt. Чтобы установить PHP и несколько вспомогательных пакетов (для настройки взаимодействия с Apache и MariaDB), введите команду:

sudo apt install php libapache2-mod-php php-mysql

В большинстве случаев рекомендуется настроить обработку файлов Apache при запросе каталога. На данный момент Apache сначала обслуживает index.html. Чтобы веб-сервер обслуживал PHP-файлы первыми, нужно открыть файл dir.conf:

sudo nano /etc/apache2/mods-enabled/dir.conf

Файл выглядит так:

<IfModule mod_dir.c>
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
</IfModule>

Как видите, файлы index.php находятся в конце строки, а значит, веб-сервер будет обслуживать их в последнюю очередь. Переместите index.php в начало строки DirectoryIndex:

<IfModule mod_dir.c>
DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>

Сохраните и закройте файл (Ctrl-X, Y, Enter).

Теперь перезапустите Apache, чтобы обновить настройки:

sudo systemctl reload apache2

Проверьте состояние apache2 при помощи systemctl:

4: Создание виртуального хоста

Веб-сервер Apache в Debian 9 по умолчанию предоставляет один включенный виртуальный хост, который обслуживает каталог /var/www/html. Это делается через конфигурационный файл /etc/apache2/sites-available/000-default.conf. Этого хватит для обслуживания одного сайта, но если вы хотите разместить несколько сайтов, вам нужно создать новые виртуальные хосты.

Создайте структуру каталогов в /var/www для your_domain, а /var/www/html оставьте как каталог по умолчанию, который будет обслуживаться, если запрос клиента не соответствует другим сайтам.

Создайте корневой каталог your_domain:

sudo mkdir /var/www/your_domain

Затем определите права на каталог с помощью переменной $USER:

sudo chown -R $USER:$USER /var/www/your_domain

Затем создайте новый файл в каталоге sites-available с помощью nano или другого редактора:

sudo nano /etc/apache2/sites-available/your_domain.conf

Вставьте в пустой файл:

Теперь вы можете использовать a2ensite для включения этого виртуального хоста:

sudo a2ensite your_domain

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

sudo a2dissite 000-default

Проверьте ошибки в конфигурации:

sudo apache2ctl configtest

Если ошибок нет, команда вернет:

sudo systemctl reload apache2

Теперь Apache обслуживает домен вашего сайта. Но пока что каталог /var/www/your_domain все еще пуст. Далее мы создадим PHP-скрипт, чтобы протестировать новый сайт.

5: Тестирование стека LAMP

Сейчас нужно убедиться в том, что веб-сервер взаимодействует с PHP. Для этого нужно создать простой сценарий PHP, info.php.

Создайте этот файл:

На экране появится пустой файл. Поместите в него такой код:

Сохраните и закройте файл.

Теперь попробуйте открыть его в браузере:

На экране появится веб-страница, содержащая информацию о сервере. Если такая страница появилась, веб-сервер обслуживает файлы PHP.

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

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

6: Тестирование соединения базы данных с PHP (опционально)

Если вы хотите проверить, может ли PHP подключаться к MariaDB и выполнять запросы к базе данных, вы можете создать тестовую таблицу с фиктивными данными и запросить ее содержимое из сценария PHP.

Сначала подключитесь к консоли MariaDB с помощью пользователя БД, которого вы создали в разделе 2 данного руководства:

mariadb -u example_user -p

Создайте таблицу по имени todo_list. В консоли MariaDB выполните следующую команду:

CREATE TABLE example_database.todo_list (
item_id INT AUTO_INCREMENT,
content VARCHAR(255),
PRIMARY KEY(item_id)
);

Теперь вставьте в тестовую таблицу несколько строк. Для этого вы можете повторить следующую команду несколько раз, используя разные значения:

INSERT INTO example_database.todo_list (content) VALUES ("My first important item");

Чтобы подтвердить, что данные были успешно сохранены в вашей таблице, выполните:

SELECT * FROM example_database.todo_list;

Вы увидите следующий вывод:

+---------+--------------------------+
| item_id | content |
+---------+--------------------------+
| 1 | My first important item |
| 2 | My second important item |
| 3 | My third important item |
| 4 | and this one more thing |
+---------+--------------------------+
4 rows in set (0.000 sec)

Убедившись, что в тестовой таблице есть данные, вы можете выйти из консоли MariaDB:

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

Добавьте в PHP-скрипт следующее содержимое:

<?php
$user = "example_user";
$password = "password";
$database = "example_database";
$table = "todo_list";
try $db = new PDO("mysql:host=localhost;dbname=$database", $user, $password);
echo "<h2>TODO</h2><ol>";
foreach($db->query("SELECT content FROM $table") as $row) echo "<li>" . $row['content'] . "</li>";
>
echo "</ol>";
> catch (PDOException $e) print "Error!: " . $e->getMessage() . "<br/>";
die();
>

Сохраните и закройте файл, когда закончите редактирование.

Теперь вы можете получить доступ к этой странице в своем веб-браузере, посетив домен или внешний IP-адрес, который вы указали в конфигурации Nginx. К нему нужно добавить секцию /todo_list.php:

Вы должны увидеть свой контент, который вы добавили в тестовую таблицу.

Это означает, что среда PHP может подключаться и взаимодействовать с вашим сервером MariaDB.

Заключение

Теперь на сервере Debian установлен программный стек LEMP – надёжная и гибкая платформа для развёртывания сайта или приложения. На этом этапе можно приступать к дальнейшей настойке сервера.


В этом руководстве мы покажем вам, как установить сервер LAMP на ваш Debian 10 Buster. Для тех из вас, кто не знал, LAMP (серверный стек) представляет собой полнофункциональный стек, содержащий самый популярный веб-сервер, известный как Apache, самый популярный сервер баз данных MySQL и самый популярный язык веб-программирования с открытым исходным кодом, известный как PHP. . Все компоненты являются бесплатными программами с открытым исходным кодом, и их комбинация подходит для создания динамических веб-страниц.

В этой статье предполагается, что у вас есть хотя бы базовые знания Linux, вы знаете, как использовать оболочку, и, что наиболее важно, вы размещаете свой сайт на собственном VPS. Установка довольно проста и предполагает, что вы работаете с учетной записью root, в противном случае вам может потребоваться добавить sudo к командам для получения привилегий root. Я покажу вам пошаговую установку LAMP Stack на сервере Debian 10 (Buster).

Установите стек LAMP на Debian 10 Buster

Шаг 1. Перед установкой любого программного обеспечения важно убедиться, что ваша система обновлена, выполнив следующие команды apt в терминале:

Шаг 2. Установка Apache на Debian 10.

Мы будем устанавливать Apache с помощью apt-get, который является менеджером пакетов по умолчанию для Debian:

После установки служб Apache в вашей системе запустите все необходимые службы:

Теперь вам нужно проверить, правильно ли установлен Apache и может ли он обслуживать веб-страницы. Откройте веб-браузер и используйте следующий URL-адрес для доступа к странице Apache Debian по умолчанию:

Шаг 3. Установка MariaDB в Debian 10.

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

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

Чтобы войти в MariaDB, используйте следующую команду (обратите внимание, что это та же команда, которую вы использовали бы для входа в базу данных MySQL):

Шаг 4. Установка PHP 7.3 на Deban 10.

По умолчанию сервер Apache поддерживает только .html, но не PHP, для этого вам необходимо установить PHP и пакет расширения PHP для сервера MariaDB. Здесь мы установим PHP 7 на Debian 10.

Ваш сервер должен автоматически перезапустить Apache после установки MariaDB и PHP. Если это не так, выполните эту команду:

Чтобы протестировать PHP, создайте тестовый файл с именем info.php с приведенным ниже содержимым. Сохраните файл, затем перейдите к нему, чтобы узнать, работает ли PHP:

Теперь откройте браузер и введите следующий адрес, чтобы узнать, может ли ваш веб-сервер отображать контент, созданный этим сценарием PHP:

Поздравления! Вы успешно установили сервер LAMP. Благодарим за использование этого руководства для установки LAMP (Linux Apache , MySQL и PHP ) в системе Debian 10 (Buster). Для получения дополнительной помощи или полезной информации мы рекомендуем вам посетить официальный веб-сайт Apache, MySQL и PHP.

Читайте также: