Estos dias he recibido la donacion de un nuevo ordenador por parte de mi padre, un magnifico, sobre todo por su precio, Celeron con 96 megas de Ram y 10 Gigas de disco duro.
Este nuevo ordenador bautizado
como Dédalo,
padre de Icaro ,constructor del laberinto del Minotauro y prisionero de Minos, hara las
funciones de servidor externo e interno, para ello me dispuse a
acometer las siguientes tareas, tras haberle instalado una distribucion
Ubuntu,
a la vista de que Sarge
no acaba de salir.
- Configurar Apache con php y host virtual
- Migracion de la Base de datos MySql
- Configurar Drupal
- Instalar y Configurar el servidor de correo
- Instalar y configurar actualizador de direccion IP.
- Seguridad Tripwire, Snort, Chkrootkit
- Servicios para la intranet
- Estadisticas del Servidor

Como apreciais en la imagen tengo un pequeño problema de cableado :)
Asi que el dominio kharkoma.homelinux.com ahora se esta sirviendo desde Dédalo, dejando a mi maquina Minos con su Debian SID como la maquina de juguete, que puedo colgar cuando desee.
Comenzamos
Configurar Apache con php y host virtual
$sudo apt-get install apache
$sudo apt-get install apt-get php4
$sudo vi /etc/apache/httpd.conf
DirectoryIndex index.html index.htm index.shtml index.cgi index.php
</IfModule>
NameVirtualHost 192.168.1.34
<VirtualHost 192.168.1.34>
ServerName kharkoma.homelinux.com
DocumentRoot /var/www/kharkoma
</VirtualHost>
AddType application/x-httpd-php .htm
AddType application/x-httpd-php .html
$sudo vi /etc/hosts
Migracion de la Base de datos MySql
Guardamos la bd
$mysqldump -u kharkoma -p blog > blog.sql
Borramos la de pruebas anterior
$mysqldump -u kharkoma -p blog > blog.sql
Creamos la bd de nuevo
$mysqladmin -u kharkoma -p create blog
Recuperamos la bd
$mysql -u kharkoma blog -p < blog.sql
Configurar Drupal
Comprimimos el directorio donde residia la pagina web
$tar cvfj blog.tgz /var/www/kharkoma
Descomprimimos en Dédalo el directorio de la pagina web
$cd
$tar -jxfv blog.tgz
Ahora cambiamos la configuracion de Drupal
$sudo vi /var/www/kharkoma/blog/includes/conf.php
Tambien debemos ejecutar una consulta diaria al fichero cron.php de Drupal
Por ser Ubuntu una Debian, usamos los directorios /etc/cron.daily/ para dejar los scripts que se ejecutan a diario, creamos ahora el script
$vi drupalcron
lynx http://kharkoma.homelinux.com/blog/cron.php --dump /dev/null
Esto funcionara teniendo instalado el lynx, sudo apt-get install lynx, existen muchas otras formas de hacer sin usar lynx, por ejemplo con wget
Hacemos el script druplacron ejecutable
$chmod 755 drupalcron
$sudo mv
drupalcron /etc/cron.daily/
Si quereis tener mas informacion sobre una instalacion de Drupal desde cero, podeis consultar el Tutorial de instalación drupal disponible en Badopi
Instalar y Configurar el servidor de correo
Aunque Ubuntu trae Postfix por defecto, instalo Exim simplemente por que era el que venia con mi Debian Sid
$sudo apt-get install exim
Se desintalara postfix :) y aparecera el programa de configuracion de exim el eximconfig, al que contestaremos de la siguiente manera:
Seleccionamos la primera opcion, por que no necesitamos mas.
kharkoma.homelinux.com
none none none
kharkoma
contestamos y para los aliases
contestamos y para grabar toda la configuracion
ya podemos probar el servidor desde la linea de comando escribiendo algo como esto:
$echo "Esto es una prueba" | mail -s "Prueba" kharkoma@direcci.com
Si queremos que Drupal envie correos tendremos que autorizar al usuario www
sudo vi /etc/email-addresses
Instalar y configurar actualizador de direccion IP.
Como actualizador de direcciones IP usaré ddclient por que viene con Ubuntu y funciona con DynDNS.org
$sudo apt-get install ddclient
y aparece debconf, seleccionamos la opcion de DynDNS.org
y el fully qualified domain sera kharkoma.homelinux.com
el usuario y contraseña de DynDNS.org
y el interface de red con conexion a internet, en este caso eth0
probamos y !No funciona! :( nos graba la direccion de la red interna entre el router y el PC, asi que tendremos que tocar el fichero de configuracion
$sudo vi /etc/ddclient.conf
protocol=dyndns2
use=web, web=checkip.dyndns.org
if=eth0
server=members.dyndns.org
login=kharkoma
password=**********************
kharkoma.homelinux.com
ahora creamos el script
$vi ddclient
/etc/init.d/ddclient restart /dev/null
$chmod 755 ddclient
$sudo mv ddclient /etc/cron.daily/
Seguridad Tripwire, Snort y Chkrootkit
Dedalo solo permite acceder desde el exterior al puerto 80, gracias a la configuracion de NAT en el router, aun asi por mantener unos niveles de seguridad decentes voy a instalar 3 herramientas de las denominadas IDS (Intruder Detection System)
Tripwire es una aplicacion que permite detectar cambios en los ficheros del sistema
$sudo apt-get install tripwire
Y para la configuracion en Bulma exite un completo articulo Instalando y configurando Tripwire en Debian
Seguimos con Snort, una aplicacion que captura y analiza paquetes de red,un sniffers del tráfico de red.
$sudo apt-get install snort
Y para la configuracion en Linuca exite un completo articulo Snort ,MySQL y Acid
Y como ultima medida tambien instalamos chkrootkit, una aplicacion que escanea el sistema en busca de rootkits
$sudo apt-get install chkrootkit
Servicios para la intranet
Al ser un servidor independiente sin monitor ni teclado necesito, por comodidad, algunos servicios para el manejo remoto del servidor
Lo primero es instalar ssh
$sudo apt-get install ssh
para usar la solucion Putty + X11 comentada en anteriores articulos.
Estadisticas del Servidor
Para las estadisticas usaremos dos aplicaciones, la primera MRTG es una herramienta que monitoriza el trafico en los interfaces de red, y Webalizer una aplicacion que analiza los fichero de log de un servidor web.
Empezamos con MRTG
$sudo apt-get install mrtg
A nuestro querido debconf le respondemos Si
Y tambien, por que no
$sudo apt-get install mrtg-ping-probe mrtg-contrib mrtgutils
El demonio snmp, mas info en Gestión SNMP con Linux
$sudo apt-get install snmpd
y recomiendo cambiar la configuracion de /etc/snmp/snmpd.con a readonly ;)
ahora editamos el archivo de configuracion
$sudo vi /etc/mrtg.cfg
WorkDir: /var/www/mrtg
WriteExpires: Yes
Language: spanish
Options[_]: growright
Target[eth0]: `/usr/bin/mrtg-ip-acct eth0`
MaxBytes1[eth0]: 32000
MaxBytes2[eth0]: 16000
Title[eth0]: Análisis del tráfico total en eth0
YLegend[eth0]: Tráfico
PageTop[eth0]: <H1>Análisis del tráfico</H1>
#Options[eth0]: growright
Con estos cambios ya podemos ejecutar la aplicacion
$sudo mrtg
Seguimos con Webalizer
$sudo apt-get update webalizer
$sudo vi /etc/webalizer.conf
y ya podemos ejecutar la aplicacion
$sudo webalizer
Y con esto ya doy por terminada la instalacion y configuracion del servidor, como temas interesantes que aun deberia hacer quedan.
- Ejecutar el servidor en una jaula
- Instalar algun control de versiones, cvs o svn
- Instalar algun servidor de ficheros, NFS, Samba o FTP
Pero eso es labor para otro dia y otro articulo.
Se admiten y esperan todo tipo de comentarios, criticas y correcciones al artículo.
Sergio







