domingo, 18 de julio de 2010

Servidor DHCP en Debian

En esta ocasión hablaremos de cómo montar un servicio DHCP en tu caja con Debian. Antes que nada, ¿qué es DHCP?. DHCP responde al protocolo de configuración dinámica de host. En otras palabras, es un protocolo que se utiliza para proporcionar una configuración ip a otros equipos que se encuentren en el mismo segmento de red que el servidor. El servidor DHCP es aquel que proporciona direcciones ip dinámicas a equipos que lo soliciten.
¿Porqué debería instalar un servidor DHCP? La respuesta es simple, imagina que tienes 50 equipos en una red. Sería algo complicado ir a cada uno de ellos y configurar manualmente su configuración ip (dirección, máscara de subred, puerta de enlace y dirección de DNS). Aún así lo pudieras hacer pero con una probabilidad alta de que ocurran errores debido a una mala captura de alguna dirección (nos podemos equivocar entre tanto número de red). Es por eso que si se instalara un servidor DHCP, éste proporcionaría la configuración a cada equipo y sin errores.
Para instalar el servidor DHCP, ejecutamos el siguiente comando:
# apt-get install dhcp3-server
Una vez instalado el servicio, copiamos el archivo /etc/dhcp3/dhcpd.conf a /etc/dhcp3/dhcpd.conf.old. Esto es para conservar el archivo de configuración original. Eliminamos el archivo de configuración original y creamos un archivo nuevo con el mismo nombre (/etc/dhcp3/dhcpd.conf), y añadimos la siguiente configuración (sustituye las direcciones y nombre de dominio respecto a tu red):

authoritative;

subnet 192.168.20.0 netmask 255.255.255.0 {
   range 192.168.20.100 192.168.20.150;
   option domain-name-servers 192.168.20.254;
   option domain-name "debian.internal";
   option routers 192.168.20.254;
   option broadcast-address 192.168.20.255;
   default-lease-time 600000;
   max-lease-time 720000;
}
Al final, guardamos los cambios en el archivo /etc/dhcp3/dhcpd.conf. La configuración anterior indica que este servidor va a ser nuestro servidor principal DHCP. La configuración pertenece a la red 192.168.10.20 y repartiremos direcciones de la 192.168.20.100 a la 192.168.20.150 (50 direcciones). El nombre del dominio es debian.internal. La dirección de router o puerta de enlace es 192.168.20.254. Una vez verificada nuestra configuración, solo resta reiniciar el servicio:
# /etc/init.d/dhcp3-server restart
Es todo. A partir de allí nuestro servidor podrá comenzar a repartir direcciones ip dinámicas.

Instalación de Apache en GNU/Linux DEBIAN

Instalación de Apache

Existen 2 opciones principales para instalar Apache: compilar el código fuente o instalarlo a partir de un paquete binario apropiado para cada sistema operativo.

Compilación a partir de las fuentes

Para compilar Apache a partir de su código fuente, se debe obtener previamente de la web de Apache la versión más reciente (http:// httpd.apache.org). Una vez descargada, seguiremos estos pasos:
Descomprimir el fichero descargado, lo cual creará un directorio donde se encuentran las fuentes del servidor. Dentro de este directorio:
  • Configurar el código para su compilación. Para ello ejecutaremos:
    $ ./configure
    Existen algunos parámetros que permiten ajustar la compilación de Apache. Los más importantes son:
    • --prefix Directorio donde instalar Apache
    • --enable-modules=LISTA-MODULOS Módulos que se desean activar
    • --enable-mods-shared=LISTA-MODULOS Módulos shared que se desean que activar
    • --enable-cache Caché dinámica
    • --enable-disk-cache Caché dinámica en el disco
    • --enable-mem-cache Módulo de caché de la memoria
    • --enable-mime-magic Determinación del tipo MIME automática
    • --enable-usertrack Seguimiento de la sesión de usuario
    • --enable-proxy Módulo Apache-proxy
    • --enable-proxy-connect Módulo Apache-proxy para CONNECT
    • --enable-proxy-ftp Módulo Apache-proxy para FTP
    • --enable-proxy-http Módulo Apache-proxy HTTP
    • --enable-ssl Soporte de SSL/TLS (mod ssl)
    • --enable-http Manejo del protocolo HTTP
    • --enable-dav Manejo del protocolo WebDAV
    • --disable-cgid Soporte para CGI optimizado
    • --enable-cgi Soporte para CGI
    • --disable-cgi Soporte para CGI
    • --enable-cgid Soporte para CGI optimizado
    • --enable-vhost-alias Soporte de hosts virtuales
  • Una vez configurado el código fuente, si no hay errores se procederá a compilarlo. Ejecutaremos:
    $ make
    Se debe recordar que para compilar Apache se requiere, como mínimo, GNU Make y GNU CC.
  • Una vez compilado, se puede instalar en el directorio que designado como destino en la configuración anterior, mediante "configure". Esto se realiza mediante uno de los objetivos que tiene definidos make. Concretamente lo realizaremos así:
    $ make install
  • Una vez instalado, disponemos, dentro del subdirectorio "bin" dentro del directorio de instalación, el que hemos especificado con prefix, un programa denominado "apachectl" que permite controlar el servidor. Para iniciarlo:
    $cd /bin
    $ ./apachectl start
    Para detenerlo:
    $cd /bin
    $ ./apachectl stop

Instalación partiendo de los paquetes binarios

Casi todos los sistemas operativos de código libre, especialmente la mayor parte de las distribuciones existentes de Linux, incluyen el servidor Apache. Sin embargo, en muchos casos es necesario instalar Apache, porque quizá no lo instalásemos en su momento. En tal caso se necesita un nueva versión. También es posible que se desee reinstalarlo a raíz de problemas con algún fichero.
A continuación se ofrecen algunas indicaciones para la instalación de Apache en algunas de las distribuciones más populares de Linux.

Redhat/Fedora
Las distribuciones de Redhat y Fedora incluyen Apache. El proceso de instalación es realmente sencillo.
Se debe descargar del servidor correspondiente (redhat.com o de fedora.us) el paquete binario de Apache (que encontraremos en formato RPM). Debemos estar seguros de que estamos descargando la última versión para nuestra distribución, ya que se publican actualizaciones que subsanan errores detectados. Una vez en posesión de dicho paquete, se puede proceder a su instalación:
rpm -ihv httpd-x.x.x.rpm
Si ya estaba instalado, se puede actualizar mediante:
rpm -Uhv httpd-x.x.x.rpm
En el caso de Fedora, que utiliza un repositorio apt, se puede tanto actualizar como instalar Apache con:
apt-get install httpd
También se deben instalar los módulos adicionales que se deseen, como por ejemplo:
  • mod_auth_*
  • mod_jk2
  • mod_perl
  • php
  • etc.
En Debian
La instalación de Apache para Debian es muy sencilla. Sólo hay que ejecutar este comando:
apt-get install apache
que instalará la última versión de Apache o lo actualizará, si ya estaba instalado.