Введение
В начале XXI века вы, наверное, слышали о новой революции в информационных технологиях WEB 2.0, а сейчас мы уже почти перешли к WEB 3.0, но давайте поговорим об этом поподробнее. Что это значит? WEB или World Wide Web – это технология или глобальная система, объединяющая веб-серверы, DNS и CDN, которые представляют собой сервис для поиска, использования контента: веб-страниц, веб-приложений и веб-сервисов. По временной шкале эта система делится на версии 1.0, 2.0 и грядущую 3.0. Но одна из главных деталей в этой схеме — веб-сервер. Он представляет собой программное обеспечение, обрабатывающее запросы клиентов и формирующее ответы в соответствии с установленными на нем конфигурацией и правилами.
В Serverspace вы можете создать сервер с уже установленным приложением Apache.
Конфигурация
На нашей машине уже установлен пакет Apache2, для запуска веб-сервера необходимо проверить службу в sysetmd, запустить ее и включить автозапуск:
systemctl list-units | grep "apache2"
На экране появится список устройств с параметром фильтрации apache2, сохраните метку устройства и запустите его командой ниже:
systemctl start apache2.service
Затем включите автозапуск при загрузке:
systemctl enable apache2.service
Убедитесь, что веб-сервер имеет право изменять конфигурацию с помощью дополнительных файлов, для этого можно изменить значение AllowOverride на All:
nano /etc/apache2/apache2.conf

В различных версиях Apache2 представлены два примера основного конфига: httpd.conf и apache2.conf. Для определения файла в вашем случае используйте команду, приведенную ниже:
find / -name httpd.conf && find / -name apache2.conf

Включение AllowOverride позволяет серверу понимать директивы, заданные в файлах .htaccess, расположенных в папках вашего сайта. Эта возможность позволяет повысить гибкость и гибкость настройки на основе каждого каталога, что повышает функциональность и безопасность вашего веб-сервера.
Теперь мы можем приступить к настройке файла .htaccess, который служит расширением существующей конфигурации. Любые изменения и настройки в этом файле будут влиять на результат конфигурации. Проиллюстрируем это на примере стандартной конфигурации.
Вначале необходимо активировать функцию, которая поможет нам переопределить текущие настройки для каждого из сайтов с помощью следующей команды:
mkdir /etc/site-test
nano /etc/apache2/sites-available/000-default.conf

Измените параметр ServerName так, чтобы он отражал ваш собственное доменное имя, и установите для параметра AllowOverride значение All. Важно отметить, что на панели провайдера должна быть соответствующая DNS-запись с публичным IP-адресом нужного сервера. Дополнительно настройте DocumentRoot, в котором находятся html и другие файлы нужного сайта. Мы создадим каталог с именем site-test. и главной страницей index.html:
nano /etc/site-test/index.html

<! DOCTYPE html>
<html>
<head>
<title>OUR SITE</title>
</head>
<body>
<h1>ALL WORKING PROPERLY!</h1>
</body>
</html>
Содержание и структура web-страницы могут быть разными, но основная часть должна быть неизменной. Теперь в том же каталоге создадим новый файл, задающий логику поведения. Создадим файл:
nano /etc/site-test/.htaccess
RewriteEngine On
RewriteRule ^hello$ index.html [L]

На экране выше мы включаем модуль rewrite, который устанавливаем на следующем шаге. В следующей строке мы устанавливаем правило, связанное со страницей, и привязываем к нему атрибут [L], указывающий на то, что это последний шаг, который необходимо выполнить, а все последующие инструкции будут проигнорированы. Для обеспечения нормальной работы необходимо включить модуль rewrite, который входит в состав пакета Apache2, и перезапустить службу.
sudo a2enmod rewrite && systemctl restart apache2

Убедитесь, что наши изменения применены:

Вывод
Мы рассмотрели основные моменты конфигурации веб-сервера, позволяющие контролировать учетные записи и доступ, обеспечивать систему защиты, изящно управлять ошибками и элегантно перенаправлять URL-адреса. Это позволяет контролировать учетные записи и доступ, обеспечивать систему защиты, изящно управлять ошибками и элегантно перенаправлять URL-адреса.