GNU/Linux >> LINUX-Kenntnisse >  >> Panels >> Panels

MyDNS mit MyDNSConfig Control Panel und DNSMasq auf Ubuntu 6.10

MyDNS mit MyDNSConfig Control Panel und DNSMasq auf Ubuntu 6.10

In diesem Tutorial beschreibe ich, wie MyDNS und MyDNSConfig installiert und konfiguriert werden. MyDNS ist ein DNS-Server, der anstelle von Konfigurationsdateien wie beispielsweise 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. MyDNSConfig kann alle Arten von DNS-Einträgen erstellen, die in MyDNS verfügbar sind, und fügt Funktionen wie Benutzerverwaltung und Zugriffsrechte hinzu.

Dieses Setup verwendet Ubuntu 6.10, sollte aber auch mit Debain Etch funktionieren.

Installieren der Voraussetzungen

MyDNSConfig ist eine webbasierte Schnittstelle zu MyDNS, die in PHP geschrieben ist. Dies erfordert einen Webserver mit aktiviertem PHP und den MySQL-Datenbankserver. Wenn Sie bereits Apache, PHP und MySQL installiert haben, können Sie diesen Schritt überspringen.

Installation von MySQL und Apache Webserver:

apt-get install libdbd-mysql-perl libdbi-perl libmysqlclient15off libnet-daemon-perl libplrpc-perl mysql-client mysql-client-5.0 mysql-server mysql-common apache2 phpmyadmin libapache2-mod-php5

Legen Sie das MySQL-Root-Passwort fest:

mysqladmin -u root password yourrootsqlpassword 

Ersetzen Sie Ihrrootsqlpassword durch ein Passwort Ihrer Wahl.

Installieren von MyDNSConfig

Ich werde das MyDNS-Paket aus dem Ubuntu-Universum-Repository verwenden. Bevor Sie mit den nächsten Schritten fortfahren, vergewissern Sie sich bitte, dass das Universe-Repository in /etc/apt/sources.list aktiviert ist.

Melden Sie sich bei MySQL an und erstellen Sie die Datenbank:

mysql -u root -p

CREATE DATABASE mydns;
GEWÄHREN SIE SELECT, INSERT, UPDATE, DELETE ON mydns.* TO 'mydns'@'localhost' IDENTIFIED BY 'mydnspassword';
GEWÄHREN SIE SELECT, INSERT, UPDATE, DELETE ON mydns.* TO 'mydns'@'localhost.localdomain' IDENTIFIED DURCH 'mydnspassword';
PRIVILEGES FLUSH;
quit;

Ersetzen Sie das Wort mydnspassword in den obigen Befehlen durch ein Passwort Ihrer Wahl.

Laden Sie MyDNSConfig herunter:

cd /tmp
wget http://mesh.dl.sourceforge.net/sourceforge/mydnsconfig/MyDNSConfig-1.1.0.tar.gz
tar xvfz MyDNSConfig-1.1.0.tar.gz
cd MyDNSConfig-1.1.0

Installieren Sie MyDNSConfig:

mkdir /usr/share/mydnsconfig
cp -rf interface/* /usr/share/mydnsconfig/
ln -s /usr/share/mydnsconfig/web/ /var/www/mydnsconfig

Installieren Sie die MyDNSConfig-SQL-Datenbank:

mysql -u root -p mydns < install/mydnsconfig.sql

Der obige Befehl fragt nach einem Passwort, bitte geben Sie das Passwort des MySQL-Root-Benutzers ein.

Bearbeiten Sie die MyDNSConfig-Konfiguration:

vi /usr/share/mydnsconfig/lib/config.inc.php

Die Datei sollte folgendermaßen aussehen:

<?php
/*
Copyright (c) 2005, Till Brehm, Falko Timme, projektfarm Gmbh
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
    * Redistributions of source code must retain the above copyright notice,
      this list of conditions and the following disclaimer.
    * Redistributions in binary form must reproduce the above copyright notice,
      this list of conditions and the following disclaimer in the documentation
      and/or other materials provided with the distribution.
    * Neither the name of ISPConfig nor the names of its contributors
      may be used to endorse or promote products derived from this software without
      specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
ini_set('register_globals',0);
$conf["app_title"] = "MyDNSConfig";
$conf["app_version"] = "1.1.0";

$conf["rootpath"]            = "/usr/share/mydnsconfig";
$conf["fs_div"]                = "/"; // File system divider, \\ on windows and / on linux and unix
$conf["classpath"]            = $conf["rootpath"].$conf["fs_div"]."lib".$conf["fs_div"]."classes";
$conf["temppath"]            = $conf["rootpath"].$conf["fs_div"]."temp";

/*
        Database Settings
*/

$conf["db_type"]        = 'mysql';
$conf["db_host"]        = 'localhost';
$conf["db_database"]        = 'mydns';
$conf["db_user"]        = 'mydns';
$conf["db_password"]        = 'mydnspassword';

/*
        External programs
*/
$conf["programs"]["wput"]    = $conf["rootpath"]."/tools/wput/wput";

/*
        Themes
*/
$conf["theme"]            = 'grey';
$conf["html_content_encoding"]    = 'text/html; charset=iso-8859-1';
$conf["logo"]             = 'themes/default/images/mydnsconfig_logo.gif';
/*
        Default Language
*/
$conf["language"]                = 'en';

/*
        Auto Load Modules
*/
$conf["start_db"]                = true;
$conf["start_session"]    = true;
/*
        DNS Settings
*/
$conf["auto_create_ptr"] = 1; // Automatically create PTR records?
$conf["default_ns"] = 'ns1.example.com.'; // must be set if $conf['auto_create_ptr'] is 1. Don't forget the trailing dot!
$conf["default_mbox"] = 'admin.example.com.'; // Admin email address. Must be set if $conf['auto_create_ptr'] is 1. Replace "@" with ".". Don't forget the trailing dot!
$conf["default_ttl"] = 86400;
$conf["default_refresh"] = 28800;
$conf["default_retry"] = 7200;
$conf["default_expire"] = 604800;
$conf["default_minimum_ttl"] = 86400;
?>

Entfernen Sie anschließend den MyDNSConfig-Installer aus dem /tmp-Verzeichnis:

cd /tmp
rm -rf MyDNSConfig-1.1.0/
rm -f MyDNSConfig-1.1.0.tar.gz

Installieren von MyDNS

Installieren Sie nun das MyDNS-Paket von Ubuntu. Da wir bereits eine Datenbank namens mydns erstellt haben, die alle für MyDNS erforderlichen Tabellen enthält, können wir uns dafür entscheiden, die Datenbank im folgenden Setup nicht zu erstellen.

apt-get install mydns-mysql

-> localhost
-> mydns
-> no
-> mydns
-> mydnspassword

Ändern Sie die MyDNS-Konfigurationsdatei so, dass MyDNS auch auf TCP lauscht und Zonenübertragungen zulässt:

vi /etc/mydns.conf
allow-tcp = yes
allow-axfr = yes

Die Grundinstallation von MyDNS und MyDNSConfig ist nun abgeschlossen. Um sich bei der MyDNSConfig-Oberfläche anzumelden, öffnen Sie einen Webbrowser und geben Sie die folgende URL ein:

http://<your_ip_address>/mydnsconfig/

Ersetzen Sie durch die IP-Adresse Ihres Servers.

Der Standard-Benutzername und das Passwort von MyDNSConfig sind:

Benutzername:admin
Passwort:admin

Vergessen Sie nicht, das Passwort nach der Anmeldung unter System> Benutzer zu ändern.

Installieren von DNSMasq

MyDNS enthält keinen DNS-Resolver, der DNS-Einträge auflösen kann, für die MyDNS nicht geeignet ist. Im nächsten Schritt werde ich den DNS-Resolver installieren und konfigurieren und DNSMasq zwischenspeichern, um als lokaler DNS-Resolver zu fungieren, und MyDNS konfigurieren, um DNSMasq zum Auflösen externer Domänen zu verwenden. Wenn Sie nicht möchten, dass Ihr Server externe Domains auflöst, können Sie diesen Teil überspringen.

Erstellen Sie einen DNS-Resolver auf IP 127.0.0.1:

apt-get install dnsmasq

Dadurch wird das Ubuntu-Paket dnsmasq installiert. Jetzt müssen wir die DNSMasq- und MyDNS-Konfigurationsdateien bearbeiten, um sicherzustellen, dass beide Pakete nicht auf allen IP-Adressen denselben Port abhören.

vi /etc/dnsmasq.conf
listen-address=127.0.0.1
no-dhcp-interface=
bind-interfaces

Bearbeiten Sie nun die Datei mydns.conf, um MyDNS auf nicht zu konfigurieren hören auf 127.0.0.1:

vi /etc/mydns.conf
no-listen = 127.0.0.1
recursive = 127.0.0.1

Bearbeiten Sie dann /etc/resolv.conf:

vi /etc/resolv.conf

und fügen Sie als erste Zeile folgende Zeile hinzu, damit der DNSMasq DNS-Cache auch für alle lokalen DNS-Abfragen verwendet wird:

nameserver 127.0.0.1

  • MyDNSConfig 1.0 Tutorial von Falko Timme
  • MyDNS-Homepage
  • MyDNSConfig-Startseite
  • DNSMasq-Homepage

Panels
  1. Erste Schritte mit dem Vesta Control Panel

  2. Installieren Sie gpEasy CMS mit NGINX und PHP5-FPM auf einem Ubuntu 14.04 VPS

  3. Installieren Sie Croogo auf einem Ubuntu VPS mit Nginx und MariaDB

  4. Installieren Sie OpenCart 2 auf einem Ubuntu 14.04 VPS mit Nginx und PHP-FPM

  5. Installieren Sie OwnCloud 7 mit Nginx und PHP-FPM auf einem Ubuntu VPS

Installieren Sie EHCP (Easy Hosting Control Panel) in RHEL/CentOS/Fedora und Ubuntu/Debian/Linux Mint

Verwalten von OpenVZ mit der Vtonf-Systemsteuerung unter CentOS 5.2

Installieren von MyDNS und der MyDNSConfig-Systemsteuerung unter CentOS 5.1

So installieren Sie das Ajenti Control Panel unter Ubuntu 18.04

So installieren Sie das Vesta Control Panel unter Ubuntu 14.04

So installieren Sie die CloudPanel-Systemsteuerung unter Ubuntu 20.04