Skip to content

Cómo instalar PowerDNS y PowerDNS-Admin en Ubuntu 22.04

Cloud Infrastructure Expert
Cómo instalar PowerDNS y PowerDNS-Admin en Ubuntu 22.04

 

 

PowerDNS es un servidor de nombres de dominio (DNS) de alto rendimiento y código abierto. PowerDNS-Admin es una interfaz web intuitiva que facilita la gestión de tus zonas DNS. En este tutorial, aprenderás a instalar y configurar ambos en tu servidor VPS con Ubuntu 22.04.

Requisitos previos

  • Un servidor VPS con Ubuntu 22.04.
  • Acceso SSH al servidor con privilegios de root o sudo.
  • Un nombre de dominio registrado (opcional, pero recomendado si planeas alojar zonas DNS públicas).

Pasos de instalación

  1. Actualizar el sistema

    sudo apt update
    sudo apt upgrade -y
  2. Instalar MariaDB

    Instalaremos MariaDB como base de datos para PowerDNS:

    sudo apt install mariadb-server mariadb-client -y

    Asegura la instalación de MariaDB:

    sudo mysql_secure_installation

    Sigue las indicaciones, estableciendo una contraseña segura para el usuario root de MySQL y respondiendo afirmativamente a las preguntas de seguridad.

  3. Crear la base de datos para PowerDNS

    Accede a la consola de MySQL:

    sudo mysql -u root -p

    Introduce la contraseña de root de MySQL que configuraste anteriormente.

    Ejecuta los siguientes comandos para crear la base de datos y el usuario para PowerDNS:

    CREATE DATABASE powerdns;
    CREATE USER 'powerdns'@'localhost' IDENTIFIED BY 'tu_contraseña_segura';
    GRANT ALL PRIVILEGES ON powerdns.* TO 'powerdns'@'localhost';
    FLUSH PRIVILEGES;
    exit;

    Reemplaza `tu_contraseña_segura` con una contraseña fuerte.

  4. Instalar PowerDNS

    Agrega el repositorio de PowerDNS e instala el servidor y su backend para MySQL:

    sudo apt install software-properties-common -y
    sudo apt-add-repository ppa:powerdns/pdns -y
    sudo apt update
    sudo apt install pdns-server pdns-backend-mysql -y
  5. Configurar PowerDNS

    Edita el archivo de configuración principal de PowerDNS:

    sudo nano /etc/powerdns/pdns.conf

    Realiza los siguientes cambios:

    • Descomenta y configura la línea `launch=gmysql`.
    • Descomenta la línea `gmysql-host=` y establece su valor en `localhost`.
    • Descomenta la línea `gmysql-user=` y establece su valor en `powerdns`.
    • Descomenta la línea `gmysql-password=` y establece su valor en la contraseña que elegiste para el usuario de la base de datos.
    • Descomenta la línea `gmysql-dbname=` y establece su valor en `powerdns`.

    Guarda los cambios y cierra el editor.

  6. Crear las tablas de la base de datos

    Ejecuta el siguiente comando para crear las tablas necesarias en la base de datos:

    sudo mysql -u powerdns -p powerdns < /usr/share/pdns-backend-mysql/schema/schema.mysql.sql

    Introduce la contraseña del usuario `powerdns` cuando se te solicite.

  7. Instalar y configurar PowerDNS-Admin

    Instala las dependencias necesarias:

    sudo apt install python3 python3-pip python3-venv nginx -y

    Crea un entorno virtual de Python y actívalo:

    sudo python3 -m venv /opt/pdns-admin
    source /opt/pdns-admin/bin/activate

    Clona el repositorio de PowerDNS-Admin e instala las dependencias:

    cd /opt
    sudo git clone https://github.com/ngoduykhanh/PowerDNS-Admin
    cd PowerDNS-Admin
    pip install -r requirements.txt

    Copia el archivo de configuración de ejemplo y edítalo:

    cp config.py.dist config.py
    sudo nano config.py

    Configura las opciones de la base de datos y otras configuraciones según tus necesidades. Guarda los cambios y cierra el editor.

    Genera la base de datos de PowerDNS-Admin:

    flask create_db

    Crea un usuario administrador:

    flask create_user

    Sigue las indicaciones para proporcionar los detalles del usuario administrador.

  8. Configurar Nginx como proxy inverso

    Crea un nuevo archivo de configuración para Nginx:

    sudo nano /etc/nginx/sites-available/powerdns-admin

    Agrega el siguiente contenido, reemplazando `tu_dominio` con tu nombre de dominio:

    server {
            listen 80;
            server_name tu_dominio;
    
            location / {
                    proxy_pass http://127.0.0.1:9191;
                    proxy_set_header Host $host;
                    proxy_set_header X-Real-IP $remote_addr;
                    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                    proxy_set_header X-Forwarded-Proto $scheme;
            }
    }

    Habilita el nuevo sitio y reinicia Nginx:

    sudo ln -s /etc/nginx/sites-available/powerdns-admin /etc/nginx/sites-enabled/
    sudo systemctl reload nginx
  9. Iniciar PowerDNS-Admin (opcional)

    Puedes configurar PowerDNS-Admin para que se inicie automáticamente al arrancar el sistema. Consulta la documentación de PowerDNS-Admin para obtener instrucciones detalladas.

Conclusión

¡Felicidades! Has instalado y configurado PowerDNS y PowerDNS-Admin en tu servidor Ubuntu 22.04. Ahora puedes acceder a la interfaz web de PowerDNS-Admin en `http://tu_dominio` y comenzar a gestionar tus zonas DNS de manera eficiente.

Windows VPS Deutschland

Windows VPS España

Windows VPS Nederland

Windows VPS Italia

Windows VPS Portugal

VPS Windows Italia

Windows VPS

Windows VPS

Windows VPS Sverige

Windows VPS Norge

Windows VPS

Windows VPS Türkiye

Windows RDS (Remote Desktop Services)

Windows VPS

Explore more

More on this topic

Netcloud24
Netcloud24
Cloud Infrastructure Expert · NetCloud24

Comments are closed.