Установка · 3 min read · Dec 06, 2025

Установка MyDNS-NG и MyDNSConfig 3 на Debian Lenny

Установка MyDNS-NG и MyDNSConfig 3 на Debian Lenny

Версия 1.0
Автор: Фалко Тимме

В этом руководстве я опишу, как установить и настроить MyDNS-NG и MyDNSConfig 3 на Debian Lenny. MyDNS-NG (основан на MyDNS, изначально написанном Донном Муром - http://mydns.bboy.net/) является DNS-сервером, который использует базу данных MySQL в качестве бэкенда вместо конфигурационных файлов, таких как, например, Bind или djbdns. Преимущество заключается в том, что MyDNS просто считывает записи из базы данных, и его не нужно перезапускать/перезагружать, когда записи DNS изменяются или зоны создаются/редактируются/удаляются. Вторичный сервер имен можно легко настроить, установив вторичный экземпляр MyDNS, который получает доступ к той же базе данных или, чтобы быть более избыточным, использует функции репликации MySQL master/slave для репликации данных на вторичный сервер имен.

MyDNSConfig - это простой в использовании веб-интерфейс для MyDNS-NG. MyDNSConfig может создавать все типы DNS-записей, доступные в MyDNS, и добавляет функции, такие как управление пользователями и права доступа.

Я не даю никаких гарантий, что это сработает для вас!

1 Предварительная заметка

В этом руководстве я использую имя хоста server1.example.com с IP-адресом 192.168.0.100. Эти настройки могут отличаться у вас, поэтому вам нужно заменить их там, где это необходимо.

2 Установка MySQL

Мы можем установить MySQL следующим образом:

aptitude install mysql-client mysql-server

Вам будут заданы следующие вопросы:

Новый пароль для пользователя MySQL “root”: <– вашпарольsqlroot
Повторите пароль для пользователя MySQL “root”: <– вашпарольsqlroot

3 Установка Apache2, PHP, phpMyAdmin

MyDNSConfig требует веб-сервера с поддержкой PHP; поэтому я устанавливаю Apache2. Я также устанавливаю phpMyAdmin, чтобы позже получить доступ к базе данных через веб-интерфейс (хотя это необязательно):

aptitude install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libapache2-mod-php5 php5 php5-common php5-gd php5-mysql php5-imap phpmyadmin php5-cli php-pear php-auth php5-mcrypt mcrypt php5-imagick imagemagick vlogger

Вы увидите следующий вопрос:

Веб-сервер для автоматической перенастройки: <– apache2

Затем выполните следующую команду, чтобы включить модули Apache suexec, rewrite, ssl, actions и include:

a2enmod suexec rewrite ssl actions include

Обеспечьте безопасность phpMyAdmin, удалив файл /etc/phpmyadmin/htpasswd.setup…

rm -f /etc/phpmyadmin/htpasswd.setup

… и удалите или закомментируйте следующий раздел в /etc/phpmyadmin/apache.conf:

vi /etc/phpmyadmin/apache.conf

| [...] # # Авторизация для настройки # # # Для Apache 1.3 и 2.0 # # AuthType Basic # AuthName "phpMyAdmin Setup" # AuthUserFile /etc/phpmyadmin/htpasswd.setup # # # Для Apache 2.2 # # AuthType Basic # AuthName "phpMyAdmin Setup" # AuthUserFile /etc/phpmyadmin/htpasswd.setup # # Требуется действительный пользователь # [...] |

Перезапустите Apache после этого:

/etc/init.d/apache2 restart

Теперь вы можете получить доступ к phpMyAdmin по адресу http://server1.example.com/phpmyadmin/ или http://192.168.0.100/phpmyadmin/.

4 Установка MyDNS

Перед установкой MyDNS нам нужно установить несколько предварительных условий:

aptitude install g++ libc6 gcc gawk make texinfo libmysqlclient15-dev

MyDNS недоступен в репозиториях Debian Lenny, поэтому мы должны собрать его самостоятельно следующим образом:

cd /tmp  
wget http://heanet.dl.sourceforge.net/sourceforge/mydns-ng/mydns-1.2.8.27.tar.gz  
tar xvfz mydns-1.2.8.27.tar.gz  
cd mydns-1.2.8  
./configure  
make  
make install

Затем мы создаем скрипт запуска/остановки для MyDNS:

vi /etc/init.d/mydns

| #! /bin/sh # # mydns Запустить сервер MyDNS # # Автор: Филипп Керн <[email protected]>. # Основано на скелете 1.9.4 Микеля ван Смуренбурга # <[email protected]> и Иана Мердока <[email protected]>. # set -e PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DAEMON=/usr/local/sbin/mydns NAME=mydns DESC="DNS сервер" SCRIPTNAME=/etc/init.d/$NAME # Корректно выйти, если пакет был удален. test -x $DAEMON || exit 0 case "$1" in start) echo -n "Запуск $DESC: $NAME" start-stop-daemon --start --quiet \ --exec $DAEMON -- -b echo "." ;; stop) echo -n "Остановка $DESC: $NAME" start-stop-daemon --stop --oknodo --quiet \ --exec $DAEMON echo "." ;; reload|force-reload) echo -n "Перезагрузка конфигурации $DESC..." start-stop-daemon --stop --signal HUP --quiet \ --exec $DAEMON echo "готово." ;; restart) echo -n "Перезапуск $DESC: $NAME" start-stop-daemon --stop --quiet --oknodo \ --exec $DAEMON sleep 1 start-stop-daemon --start --quiet \ --exec $DAEMON -- -b echo "." ;; *) echo "Использование: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2 exit 1 ;; esac exit 0 |

Затем мы делаем скрипт исполняемым и создаем ссылки на запуск системы для него:

chmod +x /etc/init.d/mydns  
update-rc.d mydns defaults
Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.