Поиск по сайту:

Как установить и настроить LAMP в Debian 11 (яблочко)


Одна из самых важных вещей при настройке сервера Linux — это развертывание веб-сайтов. Согласно опросу 1 миллиона самых загруженных веб-сайтов в мире, проведенному NetCraft.com в феврале 2022 года, примерно 23,44% из них работают на Apache.

В этом руководстве рассматриваются основы установки и настройки сервера Linux (в частности, Debian 11 Bullseye) для работы в качестве сервера LAMP.

Что такое LAMP-сервер?

В компьютерном мире LAMP является аббревиатурой для Linux (здесь используется Debian 11), Apache, MySQL, и PHP (LAMP). LAMP обычно используется для ссылки на стеки программного обеспечения (в частности, MySQL и PHP) на веб-сервере.

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

Что такое веб-сервер Apache?

Apache был одним из «оригинальных» веб-серверов и ведет свою историю с 1995 года. Apache до сих пор широко используется и отличается долговечностью, большим количеством документации и тоннами модули для повышения гибкости.

Установка MySQL и PHP в Debian 11

1. В первой части Debian будет описан как сервер MySQL и PHP. Сегмент Linux в LAMP уже должен быть выполнен путем установки Debian 11 согласно следующей статье на TecMint:

  • Свежая установка Debian 11 Bullseye

Когда Debian готов, пришло время установить необходимое программное обеспечение с помощью метаупаковщика apt.

sudo apt install mariadb-server php libapache2-mod-php php-zip php-mbstring php-cli php-common php-curl php-xml php-mysql

2. После завершения установки MySQL и PHP часто рекомендуется защитить установку MySQL с помощью утилиты mysql_secure_installation.

После того, как вы выполните приведенную ниже команду, он попросит пользователя установить пароль root и удалить такие вещи, как анонимные пользователи, тестовые базы данных и удалить вход удаленного пользователя root в базу данных SQL.

sudo mysql_secure_installation

3. Теперь, когда MySQL настроен, давайте продолжим и выполним некоторые базовые настройки PHP для этого конкретного сервера. Хотя существует множество настроек, которые можно настроить для PHP, мы выполним несколько основных, которые в большинстве случаев всегда необходимы.

Открытый файл конфигурации PHP находится по адресу /etc/php/7.4/apache2/php.ini.

sudo vi /etc/php/7.4/apache2/php.ini

Теперь найдите строку «memory_limit» и увеличьте лимит в соответствии с потребностями вашего приложения.

Еще один важный параметр, который следует проверить, — это «max_execution_time», и опять же по умолчанию для него будет установлено значение 30. Если приложению требуется больше, этот параметр можно изменить.

На данный момент MySQL и PHP5 готовы к размещению сайтов. Теперь пришло время настроить Apache2.

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

4. Теперь пришло время настроить Apache 2, чтобы завершить настройку сервера LAMP. Первым шагом к настройке Apache2 является фактическая установка программного обеспечения с помощью метаупаковщика apt.

sudo apt install apache2

Это установит все необходимые файлы и зависимости для Apache2.

После установки веб-сервер Apache будет запущен и обслуживать веб-страницу по умолчанию. Есть несколько способов убедиться, что веб-сервер Apache запущен и работает. Самый простой вариант — использовать утилиту lsof:

sudo lsof -i :80

Другой вариант — просто перейти по IP-адресу веб-сервера. Предполагая установку Debian по умолчанию, система, скорее всего, будет настроена на использование DHCP для автоматического получения IP-адреса.

Для определения IP-адреса сервера можно использовать одну из двух утилит. В данной ситуации подойдет любая утилита.

ip show addr			[Shown below in red]
ifconfig			[Shown below in green]

Независимо от того, какая утилита используется, полученный IP-адрес можно ввести в веб-браузер на компьютере в той же сети, чтобы убедиться, что Apache отображает страницу по умолчанию.

http://IP-Address

На данный момент Apache запущен и работает. Хотя страница Debian по умолчанию представляет собой яркий веб-сайт, большинство пользователей захотят разместить что-то свое. Следующие шаги будут посвящены настройке Apache 2 для размещения другого веб-сайта.

Хостинг нескольких веб-сайтов с помощью Apache в Debian

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

  • a2ensite: эта утилита используется для включения веб-сайта после создания соответствующего файла конфигурации.
  • a2dissite: эта утилита используется для отключения веб-сайта путем указания файла конфигурации веб-сайта.
  • a2enmod: эта утилита используется для включения дополнительных модулей Apache2.
  • a2dismod: эта утилита используется для отключения дополнительных модулей Apache2.
  • a2query: эту утилиту можно использовать для сбора информации о сайтах, которые в данный момент включены.

Прежде всего давайте накопим некоторый опыт работы с первыми двумя. Поскольку Apache 2 в настоящее время размещает «веб-страницу по умолчанию», давайте продолжим и отключим ее с помощью a2dissite.

sudo a2dissite 000-default.conf

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

sudo systemctl reload apache2

Эта команда даст указание Apache 2 обновить включенные/отключенные сайты, которые он в настоящее время размещает. Это можно подтвердить, попытавшись снова подключиться к IP-адресу веб-сервера и заметив, что ничего не отображается (некоторые компьютеры кэшируют информацию; если после выполнения двух предыдущих команд компьютер по-прежнему отображает веб-сайт по умолчанию, попробуйте очистить веб-сайт). кэш браузера). Другой способ подтвердить, что сайт больше не активирован, — использовать утилиту a2query.

sudo a2query -s

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

  • Зеленое поле выше — это a2query -s, который указывает Apache 2 указать, какие сайты в данный момент обслуживаются.
  • Желтое поле — это a2dissite 000-default.conf, за которым следует перезагрузка службы apache2. Эти две команды предписывают Apache 2 отключить сайт по умолчанию, а затем перезагрузить активные/неактивные сайты.
  • Красное поле — это повторный вызов a2query -s, но обратите внимание, что на этот раз Apache отвечает, что ничего не обслуживается.

Давайте теперь рассмотрим создание сайта не по умолчанию. Первым шагом является переключение в каталог конфигурации Apache 2, который называется /etc/apache2, с помощью утилиты cd.

cd /etc/apache2

В этом каталоге находится несколько важных файлов и каталогов, однако для краткости здесь будут рассмотрены только самые необходимые файлы.

Первое, что нужно сделать при настройке нового сайта, — это создать новый файл конфигурации в каталоге «sites-available». Измените каталоги на каталог «сайты доступны», а затем создайте новый файл конфигурации.

cd sites-available
sudo cp 000-default.conf tecmint-test-site.conf

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

sudo vi tecmint-test-site.conf

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

На данный момент эта строка будет указана в каталоге, который не существует, но вскоре появится и будет содержать простой веб-сайт для отображения этого сервера Debian.

DocumentRoot /var/www/tecmint

Сохраните изменения в этом файле и выйдите из текстового редактора.

Теперь необходимо создать и заполнить файлами каталог, из которого Apache 2 только что было приказано обслуживать файлы. Хотя эта статья будет работать с файлами HTML, возможно, у нас не хватит времени, чтобы объяснить, как создать полнофункционирующий веб-сайт, и оставить этот процесс читателю.

Итак, давайте создадим каталог для обслуживания Apache и добавим в него базовую веб-страницу HTML с именем «index.html».

sudo mkdir /var/www/tecmint
touch /var/www/tecmint/index.html
echo “It's ALIVE!” >> /var/www/tecmint/index.html

Приведенные выше команды создадут новый каталог с именем «tecmint», а также новый файл с именем «index.html» в каталоге tecmint.

Команда echo поместит в этот файл некоторый текст, чтобы он действительно отображал что-то в веб-браузере, когда Apache обслуживает веб-сайт.

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


sudo a2ensite tecmint-test-site.conf
sudo systemctl reload apache2
sudo a2query -s tecmint-test-site.conf

Последняя команда выше просто подтвердит, что Apache2 действительно обслуживает вновь созданный веб-сайт. На этом этапе снова перейдите в веб-браузере к IP-адресу сервера и посмотрите, отображается ли вновь созданный веб-сайт (опять же, компьютеры любят кэшировать данные, поэтому для получения новой веб-страницы может потребоваться несколько обновлений).

Если вновь созданный сайт «Он ЖИВ!!!» отображается, значит, Apache 2 успешно настроен и отображает веб-сайт.

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