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

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

Однако система DNS разработана таким образом, что доменное имя может состоять только из символов из таблицы ASCII, куда кириллица не входит. Чтобы обойти это ограничение и обеспечить совместимость интернационализированных доменов с уже существующим ПО, используется система.

Punycode — это способ приведения интернационализированных доменных имен, содержащих в себе unicode-символы (таких, как .рф) к виду, содержащему только символы ASCII, как того требует система DNS

Чтобы узнать, как будет выглядеть адрес нашего сайта «школа.рф» в действительности, мы можем воспользоваться специальным сервисом Punycode-конвертером: https://2ip.ru/punycode.

Шаг 1. Установка Apache2

Если Apache2 ещё не установлен, выполните:

sudo apt-get install apache2

Шаг 2. Настройка кодировки

Откройте основной конфигурационный файл Apache2:

sudo mcedit /etc/apache2/apache2.conf

Добавьте или измените следующие строки:

AddDefaultCharset UTF-8

Это обеспечит правильную кодировку для кириллических символов.

Шаг 3. Настройка виртуальных хостов

Создайте файл конфигурации для сайта в зоне .РФ:

sudo mcedit /etc/apache2/sites-available/мой-сайт.рф.conf

Пример конфигурации:

<VirtualHost *:80>
    ServerName мой-сайт.рф
    ServerAlias www.мой-сайт.рф
    DocumentRoot /var/www/мой-сайт.рф
    ErrorLog ${APACHE_LOG_DIR}/мой-сайт.рф-error.log
    CustomLog ${APACHE_LOG_DIR}/мой-сайт.рф-access.log combined
</VirtualHost>

Шаг 4. Включение виртуального хоста

Активируйте созданный виртуальный хост:

sudo a2ensite мой-сайт.рф.conf

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

sudo systemctl restart apache2

Шаг 5. Проверка работы

Создайте тестовый файл index.html в директории сайта:

<html>
    <head>
        <meta charset="UTF-8">
    </head>
    <body>
        <h1>Мой сайт в зоне .РФ работает!</h1>
    </body>
</html>

Откройте браузер и перейдите по адресу http://мой-сайт.рф.

Заключение

Теперь ваш сайт в доменной зоне .РФ корректно работает с Apache2. Убедитесь, что все настройки DNS также корректны, чтобы обеспечить доступ к сайту по доменному имени.