Как настроить Bind в OpenServer для нескольких проектов?
Как настроить Bind в OpenServer для нескольких проектов?
Для настройки Bind в OpenServer для нескольких проектов нужно создать отдельные зоны для каждого домена и корректно прописать их в конфигурации. Ниже — пошаговая инструкция.
Шаг 1. Подготовка файлов зон (для каждого проекта)
-
Перейдите в каталог:
d:osp_6/data/Bind/default/zones(путь зависит от места установки OpenServer).
-
Для каждого домена создайте отдельный файл конфигурации вида
<домен>.conf, например:-
project1.test.conf; -
site2.local.conf; -
demo.dev.conf.
-
-
В каждом файле пропишите базовую конфигурацию (пример для
project1.test):$ORIGIN project1.test. $TTL 900 project1.test. IN SOA ns1.project1.test. root.project1.test. ( 2025010101 ; serial 900 ; refresh 300 ; retry 604800 ; expire 900 ; minimum ) project1.test. IN NS ns1.project1.test. project1.test. IN NS ns2.project1.test. project1.test. IN A 127.0.0.1 ns1 IN A 127.0.0.1 ns2 IN A 127.0.0.1 www IN A 127.0.0.1 project1.test. IN CAA 0 issue "letsencrypt.org"Что менять в каждом файле:
-
project1.test→ на ваш домен (например,site2.local); -
127.0.0.1→ на нужный IP (обычно127.0.0.1для локального доступа).
-
Шаг 2. Подключение всех зон в Bind
-
Откройте файл:
d:osp_6/config/Bind/default/templates/named.conf -
Для каждого домена добавьте отдельную секцию
zoneв конец файла:zone "project1.test" { type master; file "{root_dir}/data/{module_name}/{profile_name}/zones/project1.test.conf"; allow-update { none; }; }; zone "site2.local" { type master; file "{root_dir}/data/{module_name}/{profile_name}/zones/site2.local.conf"; allow-update { none; }; }; zone "demo.dev" { type master; file "{root_dir}/data/{module_name}/{profile_name}/zones/demo.dev.conf"; allow-update { none; }; };Что заменить:
-
project1.test,site2.local,demo.dev→ ваши домены; -
project1.test.conf,site2.local.conf,demo.dev.conf→ имена файлов из шага 1.
-
Шаг 3. Настройка IP для проектов
Вариант 1. Для всех проектов (единый IP)
-
Откройте:
d:osp_6/config/program.ini -
В секции
[projects]укажите:[projects] ip = 127.0.0.1 0.0.0.0
Вариант 2. Для каждого проекта индивидуально
-
В папке каждого проекта откройте файл
.osp/project.ini. -
Пропишите IP для конкретного домена:
ip = 127.0.0.1 0.0.0.0Пояснения:
-
127.0.0.1— IP для локального доступа; -
0.0.0.0— требуется для работы Bind (не изменяйте).
-
Шаг 4. Перезагрузка сервисов
-
В интерфейсе OpenServer:
-
перезапустите Bind (кнопка «Перезапустить» рядом с модулем);
-
перезапустите сервер (кнопка «Перезапустить» в главном окне).
-
-
Проверьте доступ к каждому домену в браузере:
-
http://project1.test; -
http://site2.local; -
http://demo.dev.
-
Проверка корректности конфигурации
-
Откройте командную строку (CMD) и выполните:
d:osp_6/modules/bind/binnamed-checkconf.exe d:osp_6/config/Bind/default/templates/named.conf -
Если ошибок нет — конфигурация верна.
-
Если есть ошибки — исправьте их в файлах зон или в
named.conf.
Возможные проблемы и решения
-
Один из доменов не открывается:
-
проверьте, что файл зоны (например,
site2.local.conf) лежит в папкеzones/; -
убедитесь, что в
named.confесть строкаzone "site2.local"; -
перезапустите Bind и сервер ещё раз.
-
-
Ошибка синтаксиса в конфиге:
-
запустите
named-checkconf.exe(как выше) и исправьте указанные ошибки.
-
-
Антивирус/файервол блокирует доступ:
-
добавьте OpenServer в исключения.
-
Примечания
-
Для доступа с других устройств в локальной сети замените
127.0.0.1на локальный IP вашего ПК (например,192.168.1.100). -
Домены
.test,.local,.devи др. работают локально через Bind без регистрации. -
Если проектов много, удобно использовать шаблон:
-
файлы зон:
<домен>.conf; -
секции
zoneвnamed.conf— по одной на каждый домен.
-
Комментарии
Написать автору