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

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

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

Dans ce tutoriel, je vais décrire comment installer et configurer MyDNS et MyDNSConfig sur CentOS 5.1. 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.

Je n'émets aucune garantie que cela fonctionnera pour vous !

1 Remarque préliminaire

Dans ce tutoriel, j'utilise le nom d'hôte server1.example.com avec l'adresse IP 192.168.0.100. Ces paramètres peuvent différer pour vous, vous devez donc les remplacer le cas échéant.

2 Installation des prérequis

Nous activons d'abord le référentiel RPMforge sur notre système CentOS car certains des packages que nous allons installer au cours de ce didacticiel ne sont pas disponibles dans les référentiels CentOS 5.1 officiels :

rpm -Uhv http://apt.sw.be/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm

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. Nous installons également phpMyAdmin ici afin que vous disposiez d'une interface Web vers la base de données MySQL au cas où vous en auriez besoin :

yum install httpd mysql-server php php-mysql php-mbstring phpmyadmin

Démarrer MySQL :

chkconfig --levels 235 mysqld on
/etc/init.d/mysqld start

Définissez ensuite des mots de passe pour le compte root MySQL :

mysqladmin -u root password votrerootsqlpassword
mysqladmin -h server1.example.com -u root password votrerootsqlpassword

Maintenant, nous configurons phpMyAdmin. Nous modifions la configuration d'Apache afin que phpMyAdmin autorise les connexions non seulement à partir de l'hôte local (en commentant la strophe ) :

vi /etc/httpd/conf.d/phpmyadmin.conf
#
#  Web application to manage MySQL
#

#<Directory "/usr/share/phpmyadmin">
#  Order Deny,Allow
#  Deny from all
#  Allow from 127.0.0.1
#</Directory>

Alias /phpmyadmin /usr/share/phpmyadmin
Alias /phpMyAdmin /usr/share/phpmyadmin
Alias /mysqladmin /usr/share/phpmyadmin

Ensuite, nous changeons l'authentification dans phpMyAdmin de cookie à http :

vi /usr/share/phpmyadmin/config.inc.php
[...]
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'http';
[...]

Ensuite, nous créons les liens de démarrage du système pour Apache et le démarrons :

chkconfig --levels 235 httpd sur
/etc/init.d/httpd start

Vous pouvez maintenant diriger votre navigateur vers http://server1.example.com/phpmyadmin/ ou http://192.168.0.100/phpmyadmin/ et vous connecter avec le nom d'utilisateur root et votre nouveau mot de passe root MySQL.

3 Installation de MyDNSConfig

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/html/mydnsconfig

Installez la base de données MySQL 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 ; assurez-vous de remplir les paramètres de base de données corrects :

vi /usr/share/mydnsconfig/lib/config.inc.php
<?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 et du panneau de configuration MyDNSConfig sur CentOS 5.1 - Page 2

4 Installer MyDNS

Ensuite, nous téléchargeons le package mydns-mysql rpm depuis http://mydns.bboy.net/download/ et l'installons comme suit :

wget http://mydns.bboy.net/download/mydns-mysql-1.1.0-1.i386.rpm
rpm -ivh mydns-mysql-1.1.0-1.i386.rpm

Ouvrez le fichier de configuration MyDNS /etc/mydns.conf, remplissez les détails corrects de la base de données, autorisez les transferts de zone en définissant allow-axfr sur yes, activez TCP (allow-tcp =yes) et spécifiez un résolveur récursif (c'est-à-dire un résolveur valide serveur de noms, par exemple de votre FAI ; par exemple récursif =213.191.92.86) afin que MyDNS puisse répondre aux requêtes pour les domaines pour lesquels il n'est pas autorisé :

vi /etc/mydns.conf
##
##  /etc/mydns.conf
##  Wed Jan 18 17:18:48 2006
##  For more information, see mydns.conf(5).
##


                                # DATABASE INFORMATION

db-host = localhost             # SQL server hostname
db-user = mydns                 # SQL server username
db-password = mydnspassword        # SQL server password
database = mydns                # MyDNS database name


                                # GENERAL OPTIONS

user = nobody                   # Run with the permissions of this user
group = nobody                  # Run with the permissions of this group
listen = *                      # Listen on these addresses ('*' for all)
no-listen =                     # Do not listen on these addresses


                                # CACHE OPTIONS

zone-cache-size = 1024          # Maximum number of elements stored in the zone cache
zone-cache-expire = 60          # Number of seconds after which cached zones expires
reply-cache-size = 1024         # Maximum number of elements stored in the reply cache
reply-cache-expire = 30         # Number of seconds after which cached replies expire


                                # ESOTERICA

log = LOG_DAEMON                # Facility to use for program output (LOG_*/stdout/stderr)
pidfile = /var/run/mydns.pid    # Path to PID file
timeout = 120                   # Number of seconds after which queries time out
multicpu = 1                    # Number of CPUs installed on your system
recursive = 213.191.92.86                       # Location of recursive resolver
allow-axfr = yes                # Should AXFR be enabled?
allow-tcp = yes                 # Should TCP be enabled?
allow-update = no               # Should DNS UPDATE be enabled?
ignore-minimum = no             # Ignore minimum TTL for zone?
soa-table = soa                 # Name of table containing SOA records
rr-table = rr                   # Name of table containing RR data
soa-where =                     # Extra WHERE clause for SOA queries
rr-where =                      # Extra WHERE clause for RR queries

Ensuite, créez les liens de démarrage du système pour MyDNS et démarrez MyDNS :

chkconfig --levels 235 mydns on
/etc/init.d/mydns start

Enfin, nous devons corriger les liens de démarrage du système pour MyDNS. MyDNS dépend de MySQL, donc MyDNS doit démarrer après le démarrage de MySQL, sinon il échouera. Les liens de démarrage par défaut pour MyDNS le font démarrer avant MySQL, ce qui est faux, nous corrigeons donc cela comme suit :

cd /etc/rc.d/rc3.d
mv S52mydns S99mydns
cd /etc/rc.d/rc4.d
mv S52mydns S99mydns
cd /etc/rc. d/rc5.d
mv S52mydns S99mydns

MySQL utilise les liens de démarrage S64mysql, donc renommer les liens de démarrage MyDNS de S52mydns en S99mydns garantit que MyDNS démarre après MySQL.

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.

5 Utilisation de MyDNSConfig

Dans ce chapitre, je vais montrer comment utiliser MyDNSConfig en créant un exemple de zone test.com et un enregistrement A www.test.com.

Première connexion :

Cliquez sur le bouton Ajouter une nouvelle zone :

Le formulaire de l'onglet SOA est prédéfini avec des valeurs par défaut. Remplissez test.com. (veuillez noter le dernier point !) dans le champ Origine et apportez des modifications aux autres champs, si nécessaire. Le champ Transferts de zone peut être laissé vide, ce qui signifie que n'importe quel serveur peut se connecter à notre serveur MyDNS pour initier un transfert de zone; si vous renseignez une adresse IP, seul ce système pourra se connecter :

Après avoir cliqué sur Enregistrer, vous trouverez votre nouvelle zone répertoriée sur la page Zones (SOA). Cliquez sur test.com. lien pour accéder aux propriétés de la zone :

Cliquez ensuite sur l'onglet Enregistrements :

Cliquez ensuite sur le bouton Ajouter un nouvel enregistrement pour créer un enregistrement (A/MX/CNAME/...) :

Pour créer l'enregistrement A www.test.com, remplissez www dans le champ Nom, sélectionnez A comme Type, saisissez l'adresse IP de www.test.com dans le champ Données (par exemple 1.2.3.4) et spécifiez le TTL ( en secondes). Le champ Préférence/Priorité peut être laissé vide pour les enregistrements A; il est nécessaire pour les enregistrements MX :

Après avoir cliqué sur Enregistrer, vous trouverez www.test.com dans la liste des enregistrements de la zone test.com :

C'est déjà fait - aucun redémarrage n'est nécessaire. Vous pouvez maintenant tester si MyDNS peut résoudre www.test.com :

dig @localhost www.test.com

Si tout se passe bien, le résultat devrait ressembler à ceci :

[[email protected] ~]# dig @localhost www.test.com

 ; <<>> DiG 9.5.0a6 <<>> @localhost www.test.com
 ; (1 serveur trouvé)
 ;; options globales :  printcmd
 ; ; J'ai réponse :
 ;; ->>HEADER<<- opcode : QUERY, statut : NOERROR, id : 55393
 ; ; drapeaux : qr aa rd ra ; REQUÊTE : 1, RÉPONSE : 1, AUTORITÉ : 0, SUPPLÉMENTAIRE : 0

 ;; SECTION DES QUESTIONS :
 ;www.test.com. DANS      A

 ;; SECTION DE RÉPONSE :
www.test.com. 86400   IN      A       1.2.3.4

 ;; Temps de requête : 24 ms
 ; ; SERVEUR : 127.0.0.1#53(127.0.0.1)
 ; ; QUAND : Lun 3 décembre 23:47:14 2007

[[email protected] ~]#

  • MonDNS :http://mydns.bboy.net
  • MyDNSConfig :http://www.mydnsconfig.org
  • CentOS :http://www.centos.org

Panels
  1. Comment supprimer une base de données MSSQL ou MySQL dans le panneau de contrôle de Plesk

  2. Comment accéder au Panneau de configuration ?

  3. Comment renvoyer les informations de connexion via le panneau de configuration ?

  4. Comment utiliser le panneau de contrôle en tant que revendeur ?

  5. Comment mettre à jour les informations de contact via le panneau de configuration ?

Installer Apache et PHP sur CentOS 8

Comment se connecter au panneau de contrôle de Solid CP

CentOS Web Panel - Panneau de contrôle d'hébergement Web gratuit tout-en-un pour CentOS / RHEL 6

Installer le panneau de configuration d'hébergement Web Kloxo dans RHEL/CentOS 5.x

Installation de MyDNS et MyDNSConfig 3 sur Fedora 10

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