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

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

MyDNS con MyDNSConfig Control Panel y DNSMasq en Ubuntu 6.10

En este tutorial, describiré cómo instalar y configurar MyDNS y MyDNSConfig. 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.

Esta configuración usa Ubuntu 6.10, pero también debería funcionar con Debain Etch.

Instalando los requisitos previos

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.

Instalación del servidor web MySQL y 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

Establezca la contraseña raíz de MySQL:

mysqladmin -u root password yourrootsqlpassword 

Reemplace yourrootsqlpassword con una contraseña de su elección.

Instalando MyDNSConfig

Usaré el paquete MyDNS del repositorio del universo de Ubuntu. Antes de continuar con los siguientes pasos, asegúrese de que el repositorio del universo esté habilitado en /etc/apt/sources.list.

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

Instale la base de datos SQL 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:

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

El archivo debería verse así:

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

Luego, elimine el instalador MyDNSConfig del directorio /tmp:

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

Instalando MyDNS

Ahora instale el paquete MyDNS desde Ubuntu. Como ya creamos una base de datos llamada mydns que contiene todas las tablas necesarias para MyDNS, podemos optar por no crear la base de datos en la siguiente configuración.

apt-get install mydns-mysql

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

Modifique el archivo de configuración de MyDNS para que MyDNS escuche también en TCP y permita transferencias de zona:

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

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.

Instalando DNSMasq

MyDNS no contiene un solucionador de DNS que pueda resolver registros de DNS para los que MyDNS no es apto. En el siguiente paso, instalaré y configuraré el solucionador de DNS y almacenaré en caché DNSMasq para que actúe como un solucionador de DNS local y configuraré MyDNS para usar DNSMasq para resolver dominios externos. Si no desea que su servidor resuelva dominios externos, puede omitir esta parte.

Cree un solucionador de DNS en la IP 127.0.0.1:

apt-get install dnsmasq

Esto instala el paquete de Ubuntu dnsmasq. Ahora tendremos que editar los archivos de configuración de DNSMasq y MyDNS para asegurarnos de que ambos paquetes no escuchen en el mismo puerto en todas las direcciones IP.

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

Ahora edite el archivo mydns.conf para configurar MyDNS para no escucha en 127.0.0.1:

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

Luego edite /etc/resolv.conf:

vi /etc/resolv.conf

y agregue la siguiente línea como primera línea para que DNSMasq DNS-Cache también se use para todas las consultas DNS locales:

nameserver 127.0.0.1

Enlaces

  • Tutorial de MyDNSConfig 1.0 por Falko Timme
  • Página de inicio de MyDNS
  • Página de inicio de MyDNSConfig
  • Página de inicio de DNSMasq

Panels
  1. Primeros pasos con el panel de control de Vesta

  2. Instale gpEasy CMS con NGINX y PHP5-FPM en un Ubuntu 14.04 VPS

  3. Instale Croogo en un Ubuntu VPS con Nginx y MariaDB

  4. Instale OpenCart 2 en un Ubuntu 14.04 VPS con Nginx y PHP-FPM

  5. Instale OwnCloud 7 con Nginx y PHP-FPM en un Ubuntu VPS

Instale EHCP (Panel de control de hospedaje fácil) en RHEL/CentOS/Fedora y Ubuntu/Debian/Linux Mint

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

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

Cómo instalar el panel de control de Ajenti en Ubuntu 18.04

Cómo instalar el panel de control de Vesta en Ubuntu 14.04

Cómo instalar el panel de control de CloudPanel en Ubuntu 20.04