Installieren von MyDNS-NG &MyDNSConfig 3 auf Debian Lenny
In diesem Tutorial werde ich beschreiben, wie man MyDNS-NG und MyDNSConfig 3 auf Debian Lenny installiert und konfiguriert. MyDNS-NG (basierend auf MyDNS, ursprünglich geschrieben von Don Moore -http://mydns.bboy.net/) ist ein DNS-Server, der anstelle von Konfigurationsdateien wie zum Beispiel Bind oder djbdns eine MySQL-Datenbank als Backend verwendet. Der Vorteil ist, dass MyDNS die Einträge einfach aus der Datenbank liest und nicht neu gestartet/geladen werden muss, wenn sich DNS-Einträge ändern oder Zonen erstellt/bearbeitet/gelöscht werden. Ein sekundärer Nameserver kann einfach eingerichtet werden, indem eine zweite Instanz von MyDNS installiert wird, die auf dieselbe Datenbank zugreift, oder, um redundanter zu sein, die MySQL-Master/Slave-Replikationsfunktionen verwendet, um die Daten auf den sekundären Nameserver zu replizieren.
MyDNSConfig ist eine einfach zu bedienende webbasierte Schnittstelle zu MyDNS-NG. MyDNSConfig kann alle Arten von DNS-Einträgen erstellen, die in MyDNS verfügbar sind, und fügt Funktionen wie Benutzerverwaltung und Zugriffsrechte hinzu.
Ich gebe keine Garantie dafür, dass dies bei Ihnen funktioniert!
1 Vorbemerkung
In diesem Tutorial verwende ich den Hostnamen server1.example.com mit der IP-Adresse 192.168.0.100. Diese Einstellungen können für Sie unterschiedlich sein, daher müssen Sie sie gegebenenfalls ersetzen.
2 Installation von MySQL
Wir können MySQL wie folgt installieren:
aptitude install mysql-client mysql-server
Ihnen werden die folgenden Fragen gestellt:
Neues Passwort für den MySQL-„root“-Benutzer:<-- yourrootsqlpassword
Wiederholen Sie das Passwort für den MySQL-„root“-Benutzer:<-- yourrootsqlpassword
3 Installation von Apache2, PHP, phpMyAdmin
MyDNSConfig benötigt einen Webserver mit PHP-Unterstützung; deshalb installiere ich Apache2. Ich installiere auch phpMyAdmin, damit ich später über ein Webinterface auf die Datenbank zugreifen kann (obwohl dies optional ist):
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
Sie sehen die folgende Frage:
Webserver zur automatischen Neukonfiguration:<-- apache2
Führen Sie dann den folgenden Befehl aus, um die Apache-Module suexec, rewrite, ssl, actions und include zu aktivieren:
a2enmod suexec rewrite ssl actions include
Sichern Sie phpMyAdmin, indem Sie die Datei /etc/phpmyadmin/htpasswd.setup löschen...
rm -f /etc/phpmyadmin/htpasswd.setup
... und den folgenden Abschnitt in /etc/phpmyadmin/apache.conf entfernen oder auskommentieren:
vi /etc/phpmyadmin/apache.conf
[...] # # Authorize for setup # <Files setup.php> # # For Apache 1.3 and 2.0 # <IfModule mod_auth.c> # AuthType Basic # AuthName "phpMyAdmin Setup" # AuthUserFile /etc/phpmyadmin/htpasswd.setup # </IfModule> # # For Apache 2.2 # <IfModule mod_authn_file.c> # AuthType Basic # AuthName "phpMyAdmin Setup" # AuthUserFile /etc/phpmyadmin/htpasswd.setup # </IfModule> # Require valid-user # </Files> [...] |
Danach Apache neu starten:
/etc/init.d/apache2 restart
Sie können phpMyAdmin jetzt unter http://server1.example.com/phpmyadmin/ oder http://192.168.0.100/phpmyadmin/ erreichen.
4 MyDNS installieren
Bevor wir MyDNS installieren, müssen wir einige Voraussetzungen installieren:
aptitude install g++ libc6 gcc gawk make texinfo libmysqlclient15-dev
MyDNS ist in den Debian Lenny Repositories nicht verfügbar, daher müssen wir es wie folgt selbst bauen:
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
Als nächstes erstellen wir das Start/Stopp-Skript für MyDNS:
vi /etc/init.d/mydns
#! /bin/sh # # mydns Start the MyDNS server # # Author: Philipp Kern <[email protected]>. # Based upon skeleton 1.9.4 by Miquel van Smoorenburg # <[email protected]> and Ian Murdock <[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 server" SCRIPTNAME=/etc/init.d/$NAME # Gracefully exit if the package has been removed. test -x $DAEMON || exit 0 case "$1" in start) echo -n "Starting $DESC: $NAME" start-stop-daemon --start --quiet \ --exec $DAEMON -- -b echo "." ;; stop) echo -n "Stopping $DESC: $NAME" start-stop-daemon --stop --oknodo --quiet \ --exec $DAEMON echo "." ;; reload|force-reload) echo -n "Reloading $DESC configuration..." start-stop-daemon --stop --signal HUP --quiet \ --exec $DAEMON echo "done." ;; restart) echo -n "Restarting $DESC: $NAME" start-stop-daemon --stop --quiet --oknodo \ --exec $DAEMON sleep 1 start-stop-daemon --start --quiet \ --exec $DAEMON -- -b echo "." ;; *) echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2 exit 1 ;; esac exit 0 |
Dann machen wir das Skript ausführbar und erstellen die Systemstartlinks dafür:
chmod +x /etc/init.d/mydns
update-rc.d mydns defaults
Installieren von MyDNS-NG &MyDNSConfig 3 auf Debian Lenny - Seite 2
5 Installation von MyDNSConfig 3
Wir können MyDNSConfig 3 wie folgt installieren:
cd /tmp
wget http://downloads.sourceforge.net/mydnsconfig/MyDNSConfig-3.0.1.tar.gz?use_mirror=
tar xvfz MyDNSConfig-3.0.1.tar.gz
cd mydnsconfig/install/
php -q install.php
Dadurch wird das MyDNSConfig 3-Installationsprogramm gestartet:
server1:/tmp/mydnsconfig/install# php -q install.php
----------------------- -------------------------------------------------- -------
__ __ _____ _ _ _____ _____ __ _
| \/ | | __ \| \ | |/ ____|/ ____| / _(_)
| \ / |_ _| | | | \| | (___ | | ___ _ __ | |_ _ __ _
| |\/| | | | | | | | . ` |\___ \| | / _ \| '_ \| _| |/ _ ` |
| | | | |_| | |__| | |\ |____) | |___| (_) | | | | | | | (_| |
|_| |_|\__, |_____/|_| \_|_____/ \_____\___/|_| |_|_| |_|\__, |
__/ | __/ |
|___/ | -------------------------------------------------- --
>> Anfängliche Konfiguration
Betriebssystem: Debian Lenny/Sid oder kompatibel
Im Folgenden sind einige Fragen für primäre Konfiguration, seien Sie also vorsichtig.
Standardwerte stehen in [Klammern] und können mit
Tippen Sie auf "Beenden" (ohne Anführungszeichen), um das Installationsprogramm zu stoppen.
Sprachauswahl (en,de) [en]: <-- ENTER
Installationsmodus (standard,expert) [standard]: <-- ENTER
Vollständiger qualifizierter Hostname (FQDN) des Servers, z. B. server1.domain.tld [server1.example.com]: <-- ENTER
MySQL-Server-Hostname [localhost]: <-- ENTER
MySQL-Root-Benutzername [root]: <-- ENTER
MySQL-roo t password []: <-- yourrootsqlpassword
MySQL-Datenbank zum Erstellen [dbmydnsconfig]: <-- ENTER
MySQL charset [utf8]: <-- ENTER
MyDNS konfigurieren
Apache konfigurieren
Firewall konfigurieren
MyDNSConfig installieren
MyDNSConfig Port [8080]: <-- ENTER
Crontab installieren
kein crontab für root
Neustart der Dienste ...
Neustart des Webservers: Apache2 ... warten .
Installation abgeschlossen.
server1:/tmp/mydnsconfig/install#
Das Installationsprogramm konfiguriert automatisch alle zugrunde liegenden Dienste, sodass keine manuelle Konfiguration erforderlich ist.
Danach erreichen Sie MyDNSConfig 3 unter http://server1.example.com:8080/ oder http://192.168.0.100:8080/. Melden Sie sich mit dem Benutzernamen admin und dem Passwort admin an (das voreingestellte Passwort sollten Sie nach Ihrer ersten Anmeldung ändern):
6 Verwenden von MyDNSConfig 3
Die Registerkarte DNS ist der wichtigste Teil von MyDNSConfig, da Sie dort Zonen und Einträge erstellen können, daher werde ich mich auf diese Registerkarte konzentrieren.
Um eine neue Zone zu erstellen, klicken Sie auf die Schaltfläche Neue DNS-Zone (SOA) hinzufügen:
Jetzt können Sie die Details der Zone eingeben, z. den Domainnamen, den primären Nameserver und die E-Mail-Adresse des Zonenadministrators (bitte beachten Sie, dass Sie das @-Zeichen durch einen Punkt ersetzen müssen!); diese drei Angaben müssen mit einem Punkt enden! Die anderen Angaben können Sie so belassen. Sie können die Zone jetzt speichern oder direkt zur Registerkarte Aufzeichnungen gehen (dadurch werden die Zonendetails automatisch gespeichert):
Auf der Registerkarte „Einträge“ können Sie jetzt alle Arten von DNS-Einträgen erstellen (A, CNAME, MX, NS, TXT usw.) – klicken Sie einfach auf die entsprechende Schaltfläche:
Hier ist zum Beispiel das Formular zum Erstellen von NS-Einträgen (bitte beachten Sie, dass vollständige Hostnamen mit einem Punkt enden müssen!):
Hier ist die Übersicht - wie Sie sehen, habe ich einige weitere Datensätze erstellt:
7 Aktualisieren von MyDNSConfig 3
Wann immer es eine neuere Version von MyDNSConfig 3 gibt, können Sie Ihre MyDNSConfig 3-Installation wie folgt aktualisieren:
mydnsconfig_update.sh
Dadurch wird der Update-Assistent aufgerufen. BITTE BEACHTEN SIE:Sie können auf die neueste stabile Version und auf die SVN-Version upgraden. Es wird dringend empfohlen, auf die neueste stabile Version zu aktualisieren, da die SVN-Version für die Entwicklung verwendet wird und möglicherweise Fehler enthält. SIE WURDEN GEWARNT!!!
8 Upgrade von MyDNSConfig 1.x auf MyDNSConfig 3.x
Es gibt keinen direkten Upgrade-Pfad von MyDNSConfig 1.x auf MyDNSConfig 3.x, aber es ist einfach, die DNS-Einträge von MyDNSConfig 1.x in MyDNSConfig 3.x zu importieren.
In diesem Kapitel gehe ich davon aus, dass Ihr altes MyDNSConfig 1.x die Datenbanktabelle mydns verwendet und dass Ihre neue MyDNSConfig 3-Installation die Datenbank dbmydnsconfig verwendet.
Installieren Sie zuerst MyDNSConfig 3 wie folgt:
cd /tmp
wget http://downloads.sourceforge.net/mydnsconfig/MyDNSConfig-3.0.1.tar.gz?use_mirror=
tar xvfz MyDNSConfig-3.0.1.tar.gz
cd mydnsconfig/install/
php -q install.php
Folgen Sie dem Installationsassistenten. Nachdem die Installation abgeschlossen ist (und BEVOR Sie Einträge in der MyDNSConfig 3-Weboberfläche erstellen!!!), öffnen Sie phpMyAdmin oder eine MySQL-Shell und führen Sie die folgenden MySQL-Abfragen (als MySQL-Root-Benutzer) aus, um die DNS-Einträge von Ihrem alten zu importieren Installation von MyDNSConfig 1.x in MyDNSConfig 3 (stellen Sie sicher, dass Sie die richtigen Datenbanknamen verwenden - Sie müssen `mydns` und `dbmydnsconfig` ersetzen, wenn sich Ihre Datenbanknamen unterscheiden!):
ALTER TABLE `mydns`.`rr` ADD `server_id` int(11) NOT NULL default '1',
ADD `active' enum('N','Y') NOT NULL default 'Y',
ADD `stamp` timestamp NOT NULL default CURRENT_TIMESTAMP,
ADD `serial` int(10) unsigned default NULL;
ALTER TABLE `mydns`.`rr` MODIFY `sys_userid` int(11) unsigned NOT NULL AFTER `id`,
MODIFY `sys_groupid` int(11) unsigned NOT NULL AFTER `sys_userid`,
MODIFY `sys_perm_user` varchar(5) NICHT NULL NACH `sys_groupid`,
ÄNDERN `sys_perm_group` varchar(5) NICHT NULL NACH `sys_perm_user`,
MODIFY `sys_perm_other` varchar(5) NICHT NULL NACH `sys_perm_group `,
MODIFY `server_id` int(11) NOT NULL default '1' AFTER `sys_perm_other`;
INSERT INTO `dbmydnsconfig`.`dns_rr`
SELECT *
FROM `mydns`.`rr`;
UPDATE „dbmydnsconfig“. br />`sys_perm_other` ='',
`server_id` =1;
ALTER TABLE `mydns`.`soa` ADD `server_id` int(11) NOT NULL default '1';
ALTER TABLE `mydns`.`soa` MODIFY `sys_userid` int(11) unsigned NOT NULL AFTER `id`,
MODIFY `sys_groupid` int(11) unsigned NOT NULL AFTER `sys_userid`,
MODIFY `sys_perm_user` varchar(5) NICHT NULL NACH `sys_groupid`,
ÄNDERN `sys_perm_group` varchar(5) NICHT NULL NACH `sys_perm_user`,
MODIFY `sys_perm_other` varchar(5) NICHT NULL NACH `sys_perm_group `,
MODIFY `server_id` int(11) NOT NULL default '1' AFTER `sys_perm_other`;
INSERT INTO `dbmydnsconfig`.`dns_soa`
SELECT *
FROM `mydns`.`soa`;
UPDATE `dbmydnsconfig`.`dns_soa` SET `sys_userid` =1,
`sys_groupid` =0,
`sys_perm_user` ='riud',
`sys_perm_group` ='riud',
`sys_perm_other` ='',
`server_id` =1;
Danach können Sie MyDNSConfig 3 auf Port 8080 erreichen (z. B. http://server1.example.com:8080 oder http://192.168.0.100:8080); Der Standard-Login ist Benutzername admin und Passwort admin.
Bitte beachten Sie, dass diese MySQL-Abfragen dazu führen, dass alle Zonen dem Administrator gehören. Wenn Sie Zonen haben, die jemand anderem gehören sollten, erstellen Sie einen Client für jeden Benutzer in MyDNSConfig 3 und gehen Sie zur Registerkarte DNS und wählen Sie den richtigen Client für die Zonen aus.
9 Links
- MyDNS-NG:http://www.mydns.pl/
- MyDNSConfig:http://www.mydnsconfig.org/
- Debian:http://www.debian.org/