Instalando MyDNS y MyDNSConfig 3 en Fedora 10
En este tutorial describiré cómo instalar y configurar MyDNS y MyDNSConfig 3 en Fedora 10. 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 MySQL
Podemos instalar MySQL de la siguiente manera:
yum install mysql mysql-server
Luego creamos los enlaces de inicio del sistema para MySQL (para que MySQL se inicie automáticamente cada vez que se inicia el sistema) e iniciamos el servidor MySQL:
chkconfig --niveles 235 mysqld en
/etc/init.d/mysqld start
Ejecutar
mysqladmin -u contraseña raíz sucontraseñarootsql
mysqladmin -h server1.example.com -u contraseña raíz sucontraseñarootsql
para establecer una contraseña para el usuario root (¡de lo contrario, cualquiera puede acceder a su base de datos MySQL!).
Si el último comando te arroja un error...
[[email protected] named]# mysqladmin -h server1.example.com -u root password yourrootsqlpassword
mysqladmin:falló la conexión al servidor en 'server1.example.com'
error:'Acceso denegado para usuario 'root'@'localhost' (con contraseña:NO)'
[[email protected] named]#
... podemos establecer la contraseña de la siguiente manera:conectar a MySQL:
mysql -u root -p
Escriba la contraseña para el usuario root de MySQL. Luego, en el shell de MySQL, haz esto:
mysql> USE mysql;
mysql> UPDATE user SET Password = password('yourrootsqlpassword') WHERE Host = 'server1.example.com' AND User = 'root';
mysql> UPDATE user SET Password = password('yourrootsqlpassword') WHERE Host = '127.0.0.1' AND User = 'root';
Ejecutar
mysql> SELECT * FROM user;
para asegurarse de que todas las filas donde el usuario es root tengan una contraseña.
Si todo se ve bien, ejecute
mysql> FLUSH PRIVILEGES;
... y dejar el shell de MySQL:
mysql> quit;
3 Instalación de Apache2, PHP, phpMyAdmin
MyDNSConfig necesita un servidor web con soporte PHP; por lo tanto instalo Apache2. También instalo phpMyAdmin para poder acceder a la base de datos más tarde a través de una interfaz web (aunque esto es opcional):
yum install httpd php php-mysql php-mbstring php php-devel php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-eaccelerator php-mcrypt php-mhash php-mssql php-snmp php-soap php-tidy curl curl-devel perl-libwww-perl ImageMagick libxml2 php-cli phpMyAdmin
También tenemos que instalar vlogger, que no está disponible como paquete de Fedora:
cd /tmp
wget http://n0rp.chemlab.org/vlogger/vlogger-1.3.tar.gz
tar xvfz vlogger-1.3.tar.gz
mv vlogger-1.3/vlogger /usr/sbin/
rm -rf vlogger*
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
# phpMyAdmin - Web based MySQL browser written in php # # Allows only localhost by default # # But allowing phpMyAdmin to anyone other than localhost should be considered # dangerous unless properly secured by SSL Alias /phpMyAdmin /usr/share/phpMyAdmin Alias /phpmyadmin /usr/share/phpMyAdmin #<Directory /usr/share/phpMyAdmin/> # order deny,allow # deny from all # allow from 127.0.0.1 #</Directory> # This directory does not require access over HTTP - taken from the original # phpMyAdmin upstream tarball # <Directory /usr/share/phpMyAdmin/libraries> Order Deny,Allow Deny from All Allow from None </Directory> # This configuration prevents mod_security at phpMyAdmin directories from # filtering SQL etc. This may break your mod_security implementation. # #<IfModule mod_security.c> # <Directory /usr/share/phpMyAdmin> # SecRuleInheritance Off # </Directory> #</IfModule> |
[...] # chkconfig: 345 52 50 [...] |
[...] # chkconfig: 345 65 50 [...] |