GNU/Linux >> Tutoriales Linux >  >> Panels >> Panels

Instalación de MyDNS y el panel de control de MyDNSConfig en CentOS 5.1

Instalando MyDNS y el panel de control MyDNSConfig en CentOS 5.1

En este tutorial, describiré cómo instalar y configurar MyDNS y MyDNSConfig en CentOS 5.1. MyDNS es un servidor DNS que utiliza una base de datos MySQL como backend en lugar de archivos de configuración como, por ejemplo, Bind o djbdns. La ventaja es que MyDNS simplemente lee los registros de la base de datos y no tiene que reiniciarse/recargarse cuando cambian los registros DNS o se crean/editan/eliminan zonas. Se puede configurar fácilmente un servidor de nombres secundario instalando una segunda instancia de MyDNS que acceda a la misma base de datos o, para ser más redundante, use las funciones de replicación maestro/esclavo de MySQL para replicar los datos en el servidor de nombres secundario.

MyDNSConfig es una interfaz web fácil de usar para MyDNS. MyDNSConfig puede crear todos los tipos de registros DNS que están disponibles en MyDNS y agrega funciones como administración de usuarios y privilegios de acceso.

¡No emito ninguna garantía de que esto funcione para usted!

1 nota preliminar

En este tutorial utilizo el nombre de host server1.example.com con la dirección IP 192.168.0.100. Estas configuraciones pueden diferir para usted, por lo que debe reemplazarlas cuando corresponda.

2 Instalación de los requisitos previos

Primero habilitamos el repositorio RPMforge en nuestro sistema CentOS ya que algunos de los paquetes que vamos a instalar en el transcurso de este tutorial no están disponibles en los repositorios oficiales de CentOS 5.1:

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

MyDNSConfig es una interfaz basada en web para MyDNS escrita en PHP. Esto requiere un servidor web con PHP habilitado y el servidor de base de datos MySQL. Si ya tiene Apache, PHP y MySQL instalados, puede omitir este paso. También instalamos phpMyAdmin aquí para que tenga una interfaz web para la base de datos MySQL en caso de que la necesite:

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

Inicie MySQL:

chkconfig --niveles 235 mysqld en
/etc/init.d/mysqld start

Luego establezca contraseñas para la cuenta raíz de MySQL:

mysqladmin -u contraseña raíz sucontraseñarootsql
mysqladmin -h server1.example.com -u contraseña raíz sucontraseñarootsql

Ahora configuramos phpMyAdmin. Cambiamos la configuración de Apache para que phpMyAdmin permita conexiones no solo desde localhost (comentando la stanza ):

vi /etc/httpd/conf.d/phpmyadmin.conf

A continuación, cambiamos la autenticación en phpMyAdmin de cookie a http:

vi /usr/share/phpmyadmin/config.inc.php
#
#  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

Luego creamos los enlaces de inicio del sistema para Apache y lo iniciamos:

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

Ahora puede dirigir su navegador a http://server1.example.com/phpmyadmin/ o http://192.168.0.100/phpmyadmin/ e iniciar sesión con el nombre de usuario raíz y su nueva contraseña raíz de MySQL.

3 Instalación de MyDNSConfig

Inicie sesión en MySQL y cree la base de datos:

mysql -u root -p

CREAR BASE DE DATOS mydns;
CONCEDER SELECCIONAR, INSERTAR, ACTUALIZAR, ELIMINAR EN mydns.* A 'mydns'@'localhost' IDENTIFICADO POR 'mydnspassword';
CONCEDER SELECCIONAR, INSERTAR, ACTUALIZAR, ELIMINAR EN mydns.* TO 'mydns'@'localhost.localdomain' IDENTIFICADO POR 'mydnspassword';
FLUSH PRIVILEGES;
salir;

Reemplace la palabra mydnspassword en los comandos anteriores con una contraseña de su elección.

Descargar 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

Instalar MyDNSConfig:

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

Instale la base de datos MySQL de MyDNSConfig:

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

El comando anterior solicita una contraseña, ingrese la contraseña del usuario root de MySQL.

Edite la configuración de MyDNSConfig; asegúrese de completar la configuración correcta de la base de datos:

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

Luego, elimine el instalador MyDNSConfig del directorio /tmp:

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

Instalación de MyDNS y el panel de control de MyDNSConfig en CentOS 5.1 - Página 2

4 Instalación de MyDNS

A continuación descargamos el paquete rpm mydns-mysql desde http://mydns.bboy.net/download/ y lo instalamos de la siguiente manera:

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

Abra el archivo de configuración de MyDNS /etc/mydns.conf, complete los detalles correctos de la base de datos, permita las transferencias de zona configurando allow-axfr en yes, habilite TCP (allow-tcp =yes) y especifique una resolución recursiva (es decir, una resolución válida). servidor de nombres, por ejemplo, de su ISP; por ejemplo, recursivo =213.191.92.86) para que MyDNS pueda responder consultas de dominios para los que no tiene autoridad:

vi /etc/mydns.conf
<?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;
?>

A continuación, cree los enlaces de inicio del sistema para MyDNS e inicie MyDNS:

chkconfig --niveles 235 mydns en
/etc/init.d/mydns start

Finalmente, necesitamos corregir los enlaces de inicio del sistema para MyDNS. MyDNS depende de MySQL, por lo que MyDNS debe iniciarse después de que se haya iniciado MySQL; de lo contrario, fallará. Los enlaces de inicio predeterminados para MyDNS hacen que se inicie antes que MySQL, lo cual es incorrecto, por lo que solucionamos esto de la siguiente manera:

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 utiliza los enlaces de inicio S64mysql, por lo que cambiar el nombre de los enlaces de inicio de MyDNS de S52mydns a S99mydns garantiza que MyDNS se inicie después de MySQL.

La instalación básica de MyDNS y MyDNSConfig ya ha finalizado. Para iniciar sesión en la interfaz MyDNSConfig, abra un navegador web e ingrese la siguiente URL:

http://<your_ip_address>/mydnsconfig/

Reemplace con la dirección IP de su servidor.

El nombre de usuario y la contraseña predeterminados de MyDNSConfig son:

Nombre de usuario:admin
Contraseña:admin

No olvide cambiar la contraseña después de iniciar sesión en Sistema> Usuarios.

5 Uso de MyDNSConfig

En este capítulo, demostraré cómo usar MyDNSConfig creando una zona de ejemplo test.com y un registro A www.test.com.

Primero inicie sesión:

Haga clic en el botón Agregar nueva zona:

El formulario en la pestaña SOA está preconfigurado con valores predeterminados. Rellene test.com. (¡tenga en cuenta el punto final!) en el campo Origen y realice cambios en los otros campos, si es necesario. El campo Transferencias de zona se puede dejar vacío, lo que significa que cualquier servidor puede conectarse a nuestro servidor MyDNS para iniciar una transferencia de zona; si ingresa una dirección IP, solo ese sistema puede conectarse:

Después de hacer clic en Guardar, encontrará su nueva zona en la página Zonas (SOA). Haga clic en test.com. enlace para ir a las propiedades de la zona:

A continuación, haga clic en la pestaña Registros:

Luego haga clic en el botón Agregar nuevo registro para crear un registro (A/MX/CNAME/...):

Para crear el registro A www.test.com, complete www en el campo Nombre, seleccione A como Tipo, escriba la dirección IP de www.test.com en el campo Datos (por ejemplo, 1.2.3.4) y especifique el TTL ( en segundos). El campo Preferencia/Prioridad se puede dejar vacío para los registros A; es necesario para registros MX:

Después de hacer clic en Guardar, encontrará www.test.com en la lista de registros de la zona test.com:

Eso es todo, no se requieren reinicios. Ahora puede probar si MyDNS puede resolver www.test.com:

dig @localhost www.test.com

Si todo va bien, el resultado debería verse así:

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

; <<>> DiG 9.5.0a6 <<>> @localhost www.test.com
; (1 servidor encontrado)
;; opciones globales: printcmd
;; Obtuve respuesta:
;; ->>HEADER<<- código de operación: CONSULTA, estado: NOERROR, id: 55393
;; banderas:qr aa rd ra; CONSULTA: 1, RESPUESTA: 1, AUTORIDAD: 0, ADICIONAL: 0

;; SECCIÓN DE PREGUNTAS:
;www.test.com. EN      A

;; SECCIÓN DE RESPUESTAS:
www.test.com. 86400   EN      A       1.2.3.4

;; Tiempo de consulta: 24 mseg
;; SERVIDOR: 127.0.0.1#53(127.0.0.1)
;; CUÁNDO: lunes 3 de diciembre 23:47:14 2007
;; TAMAÑO DEL MENSAJE recvd: 46

[[email protected] ~]#

6 Enlaces

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

Panels
  1. Instalación de PostgreSQL y phpPgAdmin en CentOS

  2. Cómo Eliminar una Base de Datos MSSQL o MySQL en el Panel de Control Plesk

  3. MyDNS con el panel de control de MyDNSConfig y DNSMasq en Ubuntu 6.10

  4. ¿Cómo accedo al Panel de Control?

  5. ¿Cómo reenvío la información de inicio de sesión a través del Panel de control?

Instalación de Apache y PHP en CentOS 8

Cómo iniciar sesión en el panel de control de Solid CP

Panel web de CentOS:panel de control de alojamiento web gratuito todo en uno para CentOS/RHEL 6

Instale el panel de control de alojamiento web de Kloxo en RHEL/CentOS 5.x

Instalación de MyDNS y MyDNSConfig 3 en Fedora 10

Administración de OpenVZ con el panel de control de Vtonf en CentOS 5.2

    ##
    ##  /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