Пошаговая инструкция по установке Apache на Debian 11

Apache HTTP Server, известный как Apache, — это бесплатный и открытый веб-сервер, созданный Apache Software Foundation. Запущенный в начале 1990-х, Apache долгое время был доминирующим веб-сервером в Интернете, благодаря своей модульности, гибкости и надежности. Он поддерживает широкий спектр функций, включая виртуальные хосты, SSL/TLS и гибкую систему конфигурации. Apache доступен для различных операционных систем, включая UNIX, Linux и Windows. В этой статье мы рассмотрим установку Apache на Debian 11. Инструкция будет справделива и для более ранних версий, например Debian 10 и более поздних, например для Debian 12.

Если Вы следуете нашему курсу по установке WordPress на сервер под управлением Debian 11 без панели управления и уже выполнили установку nginx, то для начала остановите nginx

sudo systemctl stop nginx

Теперь можно переходить к установке Apache.

Вот пошаговая инструкция по установке Apache на Debian 11:

Шаг 1. Обновление системы

Прежде всего, обновите список доступных пакетов:

sudo apt update

Шаг 2: Установка Apache

sudo apt install apache2

Шаг 3. Запуск Apache на Debian 11

sudo systemctl start apache2

Шаг 4. Проверка статуса Apache

sudo systemctl status apache2

Если все прошло успешно, вы увидите сообщение «active (running)».

Шаг 5: Настройка брандмауэра

С помощью UFW разрешите трафик для Apache. Для этого выполните команду:

sudo ufw allow 'WWW Full'

Шаг 6: Проверка работы Apache

Откройте в браузере ip вашего сервера или домен. Для нашего курса используется поддомен http://test.friendhosting.net
Если всё в порядке, то вы должны увидеть стандартную страницу «Apache2 Debian Default Page».

apache debian 11

Шаг 7: Создание каталога для вашего сайта

Для создания корневой директории для виртуального хоста test.friendhosting.net нужно выполнить команду в терминале:

sudo mkdir -p /var/www/test.friendhosting.net

После выполнения этой команды будет создан каталог test.friendhosting.net в каталоге /var/www/, а также все необходимые родительские каталоги по пути, если они еще не были созданы.

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

sudo chown -R www-data:www-data /var/www/test.friendhosting.net

Выполнение этой команды изменит владельца и группу для директории /var/www/test.friendhosting.net и всех ее поддиректорий и файлов на www-data. Это делается для того, чтобы веб-сервер мог корректно работать с содержимым этой директории, имея права на чтение, запись или выполнение операций в зависимости от конфигурации.

Шаг 8: Настройка виртуального хоста Apache в Debian 11

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

Apache имеет директорию sites-available, где хранятся доступные конфигурации виртуальных хостов. Для каждого сайта нужен отдельный файл. Создайте файл конфигурации для сайта. В качестве примера мы используем test.friendhosting.net

sudo nano /etc/apache2/sites-available/test.friendhosting.net.conf

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

<VirtualHost *:80>
ServerAdmin [email protected]
ServerName test.friendhosting.net
ServerAlias www.test.friendhosting.net
DocumentRoot /var/www/test.friendhosting.net/
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Каждая директива в конфигурации виртуального хоста Apache имеет свою роль и важна для правильной настройки хостинга для веб-сайта. Вот подробное описание каждой из них:

ServerAdmin указывает адрес электронной почты администратора сайта. Этот адрес часто отображается на ошибочных страницах сервера, чтобы посетители могли сообщить о технических проблемах. В примере [email protected] — это адрес, на который будет отправляться информация о проблемах.

ServerName устанавливает основной домен, который обслуживается виртуальным хостом. Когда Apache получает запрос, он использует значение ServerName для определения, какой виртуальный хост использовать. Значение test.friendhosting.net указывает, что данный виртуальный хост будет отвечать на запросы, предназначенные для этого домена.

ServerAlias определяет дополнительные домены, которые будут обрабатываться этим виртуальным хостом. Это позволяет одному виртуальному хосту отвечать на запросы для разных доменных имен. В данном случае www.test.friendhosting.net является алиасом, и виртуальный хост также будет обрабатывать запросы к www-версии домена.

DocumentRoot задает каталог, в котором хранятся файлы сайта. Это корневая директория, из которой Apache будет подавать контент для виртуального хоста. В примере /var/www/test.friendhosting.net/ является папкой, где будут располагаться все файлы сайта, такие как HTML, CSS, JavaScript и изображения.

ErrorLog задает путь к файлу, куда будут записываться сообщения об ошибках сервера. Этот лог содержит детальную информацию о любых ошибках, которые произошли на сервере, и часто используется для диагностики проблем. В этом примере ${APACHE_LOG_DIR}/error.log использует переменную окружения APACHE_LOG_DIR, которая обычно определяется как /var/log/apache2.

CustomLog указывает путь к файлу журнала доступа, куда записывается информация о каждом запросе к серверу. Это включает детали, такие как IP-адрес посетителя, запрашиваемый URL, время запроса и статусный код ответа сервера. Директива combined в конце означает, что будет использоваться комбинированный формат лога, который является общепринятым стандартом и содержит полезную информацию, такую как реферер (откуда пришел пользователь) и информацию о пользовательском агенте (какой браузер использовался).

Пришло время активирвоать ваш виртуальный хост. Для этого выполните следующую команду

sudo a2ensite test.friendhosting.net

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

sudo a2dissite 000-default.conf

Перезапустите Apache:

sudo systemctl restart apache2

Создадим index.html в корневом каталоге нашего сайта. Выполните команду

sudo nano /var/www/test.friendhosting.net/index.html

и скопируйте туда следующий текст

Virtual host test.friendhosting.net is working.

Теперь, открыв в браузере наш домен http://test.friendhosting.net мы увидим стандартную страницу

apache debian 11

Это базовая инструкция по установке и настройке Apache на Debian 11. Существует множество дополнительных настроек и оптимизаций, которые вы можете провести, чтобы максимально адаптировать сервер под свои нужды.

Этот сайт использует файлы cookie, систему Google Analytics для сбора статистики о посетителях сайта, а также для сбора данных, таких как ваш IP и геолокация. Подробнее о нашей политике обработки персональных данных. Продолжая использовать текущий веб-сайт, Вы автоматически соглашаетесь с использованием описанных технологий.