Введение
Веб-сервер Apache HTTP — один из широко используемых веб-серверов, особенно в дистрибутивах Linux, который представляет собой бесплатную кроссплатформенную платформу, используемую огромным количеством веб-сайтов в Интернете. Веб-сервер Apache использует HTTP для обработки запроса и обработки веб-информации. Apache имеет множество полезных функций, и его функциональность можно расширить с помощью дополнительных модулей. Он также позволяет программистам публиковать свои работы в Интернете.
Итак, в этой статье мы обсудим установку веб-сервера Apache и способы его защиты после установки в Debian 11.
Требования
Перед установкой вы должны войти в систему Debian с доступом ко всем привилегиям sudo. Также рекомендуется выполнить первоначальную настройку сервера на только что установленных системах Debian 11.
Установить апач на дебиан
Последняя версия пакетов Apache доступна в репозитории Debian 11 по умолчанию. Таким образом, мы можем установить его напрямую с помощью менеджера пакетов.
После входа в систему откройте терминал и обновите кэш apt с помощью команды, приведенной ниже:
sudo apt update
После обновления кеша apt установите Apache2 на свой Debian 11 Bullseye с помощью команды:
sudo apt install apache2
Нажмите « y » для любого подтверждения, запрошенного установщиком.
После завершения процесса установки. Проверьте версию установленного Apache, выполнив следующую команду:
apache2 -v
Server version: Apache/2.4.48 (Debian)
Server built: 2021-08-12T11:51:47
Другой способ проверить установку Apache — получить доступ к странице Apache2 по умолчанию, используя IP-адрес или имя хоста сервера. Если вы не знаете имя своего хоста, сначала выполните следующую команду:
hostname -I
Введите имя хоста или IP-адрес вашего сервера в адресную строку браузера и нажмите Enter, откроется стандартная страница Apache2 Debian.
Управление службой Apache
После завершения установки службой Apache можно управлять с помощью команд « systemctl », выполните следующую команду, чтобы проверить состояние сервера:
sudo systemctl status apache2.service
Нажмите «q», чтобы выйти. Несколько команд для управления службой Apache в Debian 11:
Для запуска сервера используйте команду:
sudo systemctl start apache2.service
Точно так же, чтобы остановить службу, замените start на stop в предыдущей команде:
sudo systemctl stop apache2.service
Службу можно перезапустить с помощью:
sudo systemctl restart apache2.service
Настройте параметры брандмауэра
Если в вашей системе есть брандмауэр, вам потребуется авторизовать доступ к определенным веб-портам, чтобы их могли использовать внешние пользователи. Выполните следующую команду, чтобы разрешить порт 80 (HTTP) и 443 (HTTPS) в терминале Debian:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
Теперь проверьте, проверив статус:
sudo ufw status
Если он не активен, чтобы включить его для использования:
sudo ufw enable
Создайте виртуальный хост в Apache
В Apache виртуальные хосты позволяют управлять многочисленными веб-сайтами на одном сервере. На веб-сервере Apache мы создадим виртуальный хост. Для этого мы сначала создадим веб-сайт с именем sample.com с блоком сервера, который входит в стандартную комплектацию Apache.
Начнем с настройки первого виртуального хоста вашего сервера Apache. Мы будем использовать пример домена как «sample.com», но вы можете назвать его по своему усмотрению:
sudo mkdir -p /var/www/sample.com
Теперь измените разрешения и владельца с помощью команды, приведенной ниже:
sudo chown -R www-data:www-data /var/www/sample.com
sudo chmod -R 755 /var/www/sample.com
Выполнив приведенную ниже команду, чтобы протестировать наш сайт testdomain.info, мы теперь создадим пример индексной страницы. Для этого мы будем использовать редактор nano для создания HTML-файла, подобного этому:
sudo nano /var/www/sample.com/index.html
Вставьте содержимое, показанное ниже, на страницу индекса и нажмите Ctrl + O, чтобы сохранить файл, и Ctrl + X, чтобы выйти из файла и вернуться в терминал:
<html>
<head>
<title>Welcome to the page sample.com!</title>
</head>
<body>
<h1>Congratulations! Your sample.com server succeeded!</h1>
</body>
</html>
Выполнив приведенную ниже команду в терминале, мы создадим файл виртуальных хостов, который будет обслуживать содержимое сервера:
sudo nano /etc/apache2/sites-available/sample.com.conf
Откроется текстовый файл, введите следующее содержимое:
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName sample.com
ServerAlias www.sampe.com
DocumentRoot /var/www/sample.com
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Нажмите Ctrl + O, чтобы сохранить файл, и Ctrl + X, чтобы выйти из файла и вернуться в терминал.
Включить настройку домена
Выполните следующую команду, чтобы активировать файл виртуального хоста:
sudo a2ensite sample.com.conf
Отключите конфигурацию Apache по умолчанию, выполнив приведенную ниже команду:
sudo a2dissite 000-default.conf
Чтобы применить новые изменения в Apache, выполните следующую команду:
sudo systemctl restart apache2
Устранить ошибку имени хоста
Теперь нам нужно проверить нашу конфигурацию на наличие синтаксических ошибок, чтобы проверить конфигурацию, выполните команду, приведенную ниже:
sudo apache2ctl configtest
Это вызовет ошибку, но не волнуйтесь, мы ее исправим. Создайте новую конфигурацию servername.conf и отредактируйте в текстовом редакторе:
sudo nano /etc/apache2/conf-avaialable/servername.conf
Теперь вставьте в файл следующее содержимое:
ServerName sample.com
Нажмите Ctrl + O, чтобы сохранить файл, и Ctrl + X, чтобы выйти из файла. Убедитесь, что вы изменили «sample.com» на свое фактическое доменное имя. Теперь, чтобы включить конфигурацию имени сервера, выполните приведенную ниже команду:
sudo a2enconf servername
Теперь снова запустите приведенную выше команду, чтобы проверить конфигурацию:
sudo apache2ctl configtest
Вы увидите, что ошибка имени хоста устранена.
Как защитить Apache2 в Debian 11
Чтобы защитить сервер Apache, отредактируйте файл «security.conf», выполните следующую команду, чтобы открыть файл:
sudo nano /etc/apache2/conf-enabled/security.conf
Вставьте или обновите в файле следующее содержимое:
ServerTokens Prod
ServerSignature Off
TraceEnable Off
Header always append X-Frame-Options SAMEORIGIN
Header always set X-XSS-Protection: "1; mode=block"
Header always set X-Content-Type-Options: "nosniff"
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
Header always edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure
Сохраните файл и закройте его.
Настройте протокол SSLCipherSuite и SSL на уровне сервера для использования безопасных шифров для обслуживания веб-сайта, отредактировав файл ssl.conf
:
sudo nano /etc/apache2/mods-enabled/ssl.conf
Теперь вставьте содержимое, написанное ниже, в файл и нажмите Ctrl + O, чтобы сохранить файл, и Ctrl + X, чтобы выйти из файла:
SSLProtocol -all +TLSv1.2
SSLCipherSuite HIGH:!aNULL:!MD5
Теперь запустите команду Apache reload, чтобы сохранить конфигурацию:
sudo systemctl restart apache2.service
Это все. Вы успешно установили и защитили сервер Apache.
Вывод
Веб-сервер Apache — это сервер с открытым исходным кодом, используемый многими веб-сайтами в Интернете и позволяющий разработчикам публиковать свою работу в Интернете. Этот сервер доступен во всех операционных системах, но в этой статье мы обсудим его установку в последней версии Debian (операционная система Linux), а также объясним, как протестировать и защитить его после успешной установки. Вы сможете успешно установить Apache2 на Debian 11 Bullseye и настроить сервер, следуя этому руководству.