Just another site that show you something about the life

Archivo para febrero, 2012

Servidores DNS y WEB sobre Linux Debian

La verdad la instalación de estos dos servicios es bastante simple, sobre todo cuando se trata de Linux Debian; En cuanto al Servicio Web, vamos a instalar un Servidor LAMP (Linux, Apache, MySQL y Php) con una interfaz gráfica y web para administrar la base de datos MySQL, esto se hace  para montar CMS o una pagina web que deba funcionar con una base de datos, ya sea para autenticar usuarios, tener varios formularios, etc. En cuanto al DNS, será estático, debemos registrar los equipos manualmente, mas adelante publicaré un manual de instalación de un DDNS, por ahora nos enfocaremos en estos dos servicios fáciles, básicos, pero importantes;

Ok, empecemos.

Vamos a entrar a la consola de Debian y vamos a actualizar los repositorios, con un apt-get update, esto después de tener los enlaces de los repositorios actualizados según la versión de nuestro Debian, De acuerdo a la versión de Debian actualizaremos lo repositorios en /etc/apt/source.list, luego vamos a instalar nuestro servidor BIND en su versión 9 para las resoluciones de nombres. Vamos a ejecutar;

#apt-get install bind9



Después vamos a configurar BIND, esto lo hacemos primero editando los reenviadores, si es necesario; BIND es un poderoso motor de resolución de nombres, que puede funcionar perfectamente como un servidor DNS para varios controladores de domino y muchas funciones mas, pero en este caso vamos a ver una configuración simple e inicial (por decirlo de alguna manera). Para configurar la IP de los DNS reenviadores vamos a ir al archivo de configuración de named, denominado options, este se encuentra en la siguiente ruta;

#etc/bind/named.conf.options


Vamos a encontrar un archivo así;




Y justo en forwarders, vamos a configurar la IP del reenviador, casi siempre es una IP Publica, aquí esta como una IP de rango de direccionamiento privado porque el DNS fue montado en un Lab, pero por lo general y como lo muestra el comentario del archivo, es la IP del DNS de tu ISP.

Luego en el archivo named.conf.local, del directorio de configuración de BIND vamos a crear los archivos que tendrán la configuración de las zonas y vamos a editar las lineas que definirán como van a resolver las zonas y las rutas especificas donde se van a encontrar estos archivos, vamos con un editor de textos al archivo;

#nano etc/bind/named.conf.local


Aquí vamos a configurar las rutas de los archivos que tendrán la configuración de las búsquedas de zona directa y zona inversa, también el nombre del dominio y el direccionamiento de las mismas.

El orden es, especificar el dominio, si es una zona maestra y la raíz del dominio, e igual para la inversa, solo que no se especifica la raíz del dominio, sino la raíz de direccionamiento, así;




Luego en el directorio de configuración de BIND, vamos a crear esos archivos que nombramos en named.conf.local, y allí de acuerdo a nuestras necesidades vamos a editar las opciones del archivo de configuración, primordialmente le daremos en una linea comentada un nombre a nuestro archivo, según el dominio, esto es opcional, yo siempre lo hago para llevar un control, después vienen las opciones principales, le asignaremos;


En el archivo se deben especificar las lineas de:
*Serial
*Refresh
*Retry
*Expire
*Default TTL

Luego se especifican dentro del archivo los registros de entrada (IN) Name Server (NS), especificamos el nombre de nuestro servidor; ejemplo dns.domain.com y empezamos a consignar cada uno de nuestros equipos, como lo muestra el archivo;




E igual para el fichero de configuración de zona inversa, se diseña y se implementa el mismo proceso, solo que a cada host, ya no se le especificara el registro address (A), si no el registro PTR. asi;




Luego en resolv.conf, el dominio es el que acabamos de crear y la IP puede ser, la asignada a la interfaz o el loopback, cualquiera resuelve bien, y luego reiniciamos el servicio, desde init.d así;

#etc/init.d/restart bind9




Y con esto queda configurado un Server de resolución de nombres simple y  ademas una base para algo mas grande, funcional y adecuado al menos para una red local y una Intranet.

Ahora vamos por el servidor web y la base de datos MySQL, junto con el DNS que acabamos de configurar vamos a hacer pruebas con Joomla, aquí vamos:

Primero vamos a instalar PhpMyAdmin para gestionar la base de datos, esta explicación va a ser la de un servidor LAMP (Linux + Apache + MySQL + Php) simple;

Al instalar PhpMyAdmin, el gestor de paquetes de Debian nos va a instalar Apache2 y Php, esto por que requiere escuchar a través de un servidor web por el puerto 80, para ejecutar la interfaz de web para la administración  de la base de datos, y también instala Php porque en este lenguaje esta escrita la interfaz web, entonces nos ahorramos la instalación de estos dos componentes para el LAMP.

Bien; A la consola ..

Ejecutamos,

#apt-get install phpmyadmin


Ahora vamos a instalar MySQL en nuestro Sistema Operativo, para esto vamos a ejecutar;

#apt-get install mysql-server mysql-client libmysqlclient-dev


Después de instalar MySQL, si vamos a probar Apache y PhpMyAdmin, por lo general, Apache es el único que funciona, ya que ambos trabajan por el puerto :80, aunque con nuestro DNS se pueda crear un subdominio para cada aplicación, vamos a hacer que PhpMyAdmin trabaje por el puerto :8080, esto porque me gusta mas así. bien, para esto lo primero que vamos a hacer es hacer una copia de seguridad del archivo de configuración por defecto del directorio sites-available de Apache, en este caso lo vamos a hacer en el directorio home, del usuario de Debian que yo cree en ese Sistema Operativo, esto no es una practica muy recomendada, lo hice así porque es un Lab, pero las copias de seguridad van en un NAS 😉

#cp /etc/apache2/sites-available/default > /home/debian


Ok, vamos a concatenar el archivo apache.conf  de  PhpMyAdmin

#cat /etc/phpmyadmin/apache.conf > /etc/apache2/sites-available/default




Hacemos una copia del archivo default de sites-available y lo nombramos default1, y en esta vamos a crear el sitio virtual por el puerto :8080, que es por donde va a trabajar PhpMyAdmin, simple:


Ahora vamos a “conectar” el sitio virtual de Apache que acabamos de crear, el sitio por defecto “default” por lo general esta en estado “Enabled” , pero el default1 esta en sitios disponibles, no en sitios conectados, solo debemos ejecutar sobre el directorio sites-available el comando a2ensite (Apache2-enable-site)la archivo default1;

#a2ensite default1



Después de esto forzamos un reinicio de Apache y hacemos un netstat;

#etc/init.d/apache2 force-reload



#netstat -an | grep :80




Y con esto tenemos el LAMP básico;

Las pruebas con Joomla! son bastante simples; solo debemos crear un registro en el DNS para nuestro sitio web, un archivo en Sites-Available y copiar todo el directorio de Joomla! al directorio que alojará todos los sitios web de Apache, que por lo general está en /var/www, pero esto lo podemos cambiar, ya sea por seguridad o porque no nos gusta. Luego entramos al navegador y al consultar nuestra IP, o el nombre del registro que le creamos en el DNS a nuestro sitio, nos debe devolver la interfaz gráfica de instalación de Joomla!, y es todo, instalamos, configuramos y tenemos un CMS simple en nuestra Intranet. La complejidad de esta, dependerá de las necesidades de la red, pero para una configuración inicial, lo que hay en esta entrada te va a servir.


Anuncios

Nube de etiquetas