как настроить работу сервера, если у нас сайт в доменной зоне .рф?
Все достаточно просто.
Домен .рф является одним из первых в мире интернационализированных доменов и первый русскоязычный домен верхнего уровня. Доменные имена в зоне .рф могут содержать символы русского алфавита, цифры и дефис, но в них не может быть символов латиницы.
Однако система DNS разработана таким образом, что доменное имя может состоять только из символов из таблицы ASCII, куда кириллица не входит. Чтобы обойти это ограничение и обеспечить совместимость интернационализированных доменов с уже существующим ПО, используется система.
Punycode — это способ приведения интернационализированных доменных имен, содержащих в себе unicode-символы (таких, как .рф) к виду, содержащему только символы ASCII, как того требует система DNS
Для того, чтобы посмотреть как будет выглядеть имя нашего сайта вида школа.рф на самом деле, воспользуемся сервисом Punycode-конвертер. Например здесь: https://2ip.ru/punycode/
После того как мы узнали написание доменного имени, переходим к настройке виртуального хоста.
1. Создаем директорию для нашего сайта:
mkdir /var/www/xn--80atdl2c.xn--p1ai
2. Передаем права пользователю webuser:
chown webuser:webuser /var/www/xn--80atdl2c.xn--p1ai
3. Создаем конфигурационный файл виртуального хоста:
touch /etc/apache2/sites-available/xn--80atdl2c.xn--p1ai.conf
и прописываем в нем:
<VirtualHost *:80>
ServerName xn--80atdl2c.xn--p1ai
ServerAdmin admin@domen.com
ServerAlias www.xn--80atdl2c.xn--p1ai
DocumentRoot /var/www/xn--80atdl2c.xn--p1ai
CustomLog ${APACHE_LOG_DIR}/xn--80atdl2c.xn--p1ai.access.log combined
ErrorLog ${APACHE_LOG_DIR}/xn--80atdl2c.xn--p1ai.error.log
AssignUserID webuser webuser
<Directory /var/www/xn--80atdl2c.xn--p1ai>
Options -Includes -Indexes -ExecCGI
</Directory>
</VirtualHost>
4. «Включаем» сайт:
a2ensite xn--80atdl2c.xn--p1ai
5. Перезапускаем сервер:
#service apache2 reload
6. Запускаем браузер и проверяем работу. Сайт должен быть доступен по адресу http://школа.рф