VegaDNS es un administrador de DNS vía web que usa tinydns en el backend

# bajo el paquete
cd ${HOME}/soft
VEGASVERSION=1.1.6
wget http://downloads.sourceforge.net/vegadns/vegadns-${VEGASVERSION}.tar.gz

# lo abro
tar xvzf vegadns-${VEGASVERSION}.tar.gz

Crear la base de datos

DB_NAME=vegadns
DB_USER=vegadns
DB_PASS=<ELEGIR_UNA_CLAVE_Y_PONERLA_AQUI>

# creo la base de datos
mysqladmin -u root create ${DB_NAME} -p
# permisos para entrar localmente
mysql -u root -e "GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER ON ${DB_NAME}.* \
      TO ${DB_USER}@localhost IDENTIFIED BY \"${DB_PASS}\"" mysql -p
# OPTATIVO: permisos para entrar remotamente
mysql -u root -e "GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER ON ${DB_NAME}.* \
     TO ${DB_USER}@\"*\" IDENTIFIED BY \"${DB_PASS}\"" mysql -p

== Crear directorios para la web e instalar el paquete ==

{{{
WWWHOME=<nombre_del_directorio_para_el_vhost>
PRIVDIR=/usr/local/vegadns
WWWUSER=www-data:www-data

# instalo el software
sudo mv ${HOME}/soft/vegadns-${VEGASVERSION} ${WWWHOME}

# directorios privados
for DIR in templates_c configs cache sessions ; do
  sudo mkdir -pv ${PRIVDIR}/${DIR}
done

# cambio los permisos para proteger los directorios
sudo chown -R ${WWWUSER} ${PRIVDIR} ${WWWHOME}
sudo chmod -R 770 ${PRIVDIR} ${WWWHOME}

Configuración

  • Crear el vhost en apache y configurar el acceso
  • Editar el archivo de configuración

sudo vi ${WWWHOME}/src/config.php
  • Aquí hay que configurar lo siguiente:
    • $private_dirs tiene que apuntar a ${PRIVDIR}
    • $sql_host tiene que ser 'localhost'
    • $sql_user tiene que ser $DB_USER
    • $sql_pass tiene que ser $DB_PASS
    • $sql_db tiene que ser $DB_NAME
    • $vegadns_url tiene que tener el URL a través del cual se accede al host virtual
    • $mysql_socket tiene que tener el socket de mysql '/var/run/mysqld/mysqld.sock'
  • Editar el script de actualización (este script tiene que estar en todos los servidores DNS)

sudo vi ${WWWHOME}/update-data.sh
  • Aquí hay que configurar lo siguiente:
    • VEGADNS tiene que tener el URL completo (incluido el index.php del sitio

    • TINYDNSDIR tiene que apuntar a donde está el tinydns (según InstalaciónDeDjbDns está en /etc/djbdns/tinydns)

    • Si el URL usa https con una CA no oficial, entonces la línea del wget:

       if wget -q -O "$TINYDNSDIR/root/data.srv-$A" $VD?state=get_data ; then

      • tiene que decir

       if wget --no-check-certificate -q -O "$TINYDNSDIR/root/data.srv-$A" $VD?state=get_data ; then

Puesta en producción

sudo cp ${WWWHOME}/update-data.sh /usr/local/sbin
sudo -s
cat >> /etc/crontab <<EOF
1-59/7 *   * * *    root /usr/local/sbin/update-data.sh
EOF
exit

InstalaciónDeVegaDns (última edición 2008-01-29 14:14:42 efectuada por localhost)

Edit and actions menu

  • Página inmutable
  • Información
  • Adjuntos