GNU/Linux >> Tutoriels Linux >  >> Panels >> Panels

MyDNS avec MyDNSConfig Control Panel et DNSMasq sur Ubuntu 6.10

MyDNS avec MyDNSConfig Control Panel et DNSMasq sur Ubuntu 6.10

Dans ce tutoriel, je vais décrire comment installer et configurer MyDNS et MyDNSConfig. MyDNS est un serveur DNS qui utilise une base de données MySQL comme backend au lieu de fichiers de configuration comme, par exemple, Bind ou djbdns. L'avantage est que MyDNS lit simplement les enregistrements de la base de données, et il n'a pas besoin d'être redémarré/rechargé lorsque les enregistrements DNS changent ou que des zones sont créées/modifiées/supprimées. Un serveur de noms secondaire peut être facilement configuré en installant une deuxième instance de MyDNS qui accède à la même base de données ou, pour être plus redondant, utilise les fonctionnalités de réplication maître/esclave de MySQL pour répliquer les données sur le serveur de noms secondaire.

MyDNSConfig est une interface Web facile à utiliser pour MyDNS. MyDNSConfig peut créer tous les types d'enregistrements DNS disponibles dans MyDNS et ajoute des fonctionnalités telles que la gestion des utilisateurs et les privilèges d'accès.

Cette configuration utilise Ubuntu 6.10, mais elle devrait également fonctionner avec Debain Etch.

Installation des prérequis

MyDNSConfig est une interface Web pour MyDNS écrite en PHP. Cela nécessite un serveur Web avec PHP activé et le serveur de base de données MySQL. Si vous avez déjà installé Apache, PHP et MySQL, vous pouvez ignorer cette étape.

Installation du serveur Web MySQL et Apache :

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

Définissez le mot de passe root MySQL :

mysqladmin -u root password yourrootsqlpassword 

Remplacez yourrootsqlpassword par un mot de passe de votre choix.

Installation de MyDNSConfig

J'utiliserai le package MyDNS du référentiel de l'univers Ubuntu. Avant de passer aux étapes suivantes, assurez-vous que le référentiel d'univers est activé dans /etc/apt/sources.list.

Connectez-vous à MySQL et créez la base de données :

mysql -u root -p

CREATE DATABASE mydns ;
ACCORDER SELECT, INSERT, UPDATE, DELETE ON mydns.* TO 'mydns'@'localhost' IDENTIFIED BY 'mydnspassword' ;
GRANT SELECT, INSERT, UPDATE, DELETE ON mydns.* TO 'mydns'@'localhost.localdomain' IDENTIFIED BY 'mydnspassword' ;
FLUSH PRIVILEGES ;
quitter ;

Remplacez le mot mydnspassword dans les commandes ci-dessus par un mot de passe de votre choix.

Télécharger MyDNSConfig :

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

Installez MyDNSConfig :

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

Installez la base de données SQL MyDNSConfig :

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

La commande ci-dessus demande un mot de passe, veuillez entrer le mot de passe de l'utilisateur root MySQL.

Modifiez la configuration de MyDNSConfig :

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

Le fichier devrait ressembler à ceci :

<?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;
?>

Ensuite, supprimez le programme d'installation MyDNSConfig du répertoire /tmp :

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

Installation de MyDNS

Installez maintenant le package MyDNS d'Ubuntu. Comme nous avons déjà créé une base de données nommée mydns qui contient toutes les tables nécessaires pour MyDNS, nous pouvons choisir de ne pas créer la base de données dans la configuration suivante.

apt-get install mydns-mysql

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

Modifiez le fichier de configuration MyDNS pour que MyDNS écoute également sur TCP et autorise les transferts de zone :

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

L'installation de base de MyDNS et MyDNSConfig est maintenant terminée. Pour vous connecter à l'interface MyDNSConfig, ouvrez un navigateur Web et saisissez l'URL suivante :

http://<your_ip_address>/mydnsconfig/

Remplacez par l'adresse IP de votre serveur.

Le nom d'utilisateur et le mot de passe par défaut de MyDNSConfig sont :

Nom d'utilisateur :admin
Mot de passe :admin

N'oubliez pas de changer le mot de passe après la connexion sous Système> Utilisateurs.

Installer DNSMasq

MyDNS ne contient pas de résolveur DNS capable de résoudre les enregistrements DNS pour lesquels MyDNS n'est pas autorisé. Dans l'étape suivante, je vais installer et configurer le résolveur DNS et mettre en cache DNSMasq pour agir en tant que résolveur DNS local et configurer MyDNS pour utiliser DNSMasq pour résoudre les domaines externes. Si vous ne voulez pas que votre serveur résolve les domaines externes, vous pouvez ignorer cette partie.

Créez un résolveur DNS sur l'IP 127.0.0.1 :

apt-get install dnsmasq

Cela installe le package dnsmasq Ubuntu. Nous devrons maintenant modifier les fichiers de configuration DNSMasq et MyDNS pour nous assurer que les deux paquets n'écouteront pas sur le même port sur toutes les adresses IP.

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

Modifiez maintenant le fichier mydns.conf pour configurer MyDNS sur pas écouter sur 127.0.0.1 :

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

Modifiez ensuite /etc/resolv.conf :

vi /etc/resolv.conf

et ajoutez la ligne suivante en première ligne afin que le cache DNS DNSMasq soit également utilisé pour toutes les requêtes DNS locales :

nameserver 127.0.0.1

  • Tutoriel MyDNSConfig 1.0 par Falko Timme
  • Page d'accueil MyDNS
  • Page d'accueil MyDNSConfig
  • Page d'accueil DNSMasq

Panels
  1. Premiers pas avec le panneau de configuration Vesta

  2. Installez le CMS d'octobre sur Ubuntu, avec Nginx et MariaDB

  3. Installer et configurer NodeBB avec Redis et Nginx sur Ubuntu 12.04

  4. Installer WordPress avec Varnish et Nginx sur Ubuntu

  5. Installer WordPress avec Memcached et Nginx sur Ubuntu

Installez EHCP (Easy Hosting Control Panel) dans RHEL/CentOS/Fedora et Ubuntu/Debian/Linux Mint

Gestion d'OpenVZ avec le panneau de configuration Vtonf sur CentOS 5.2

Installation de MyDNS et du panneau de configuration MyDNSConfig sur CentOS 5.1

Comment installer le panneau de configuration Ajenti sur Ubuntu 18.04

Comment installer le panneau de configuration Vesta sur Ubuntu 14.04

Comment installer le panneau de configuration CloudPanel sur Ubuntu 20.04