Buscar este blog

lunes, 11 de agosto de 2008

Instalacion de Nagios 3.0.3 Debian

He creado este manual siguiendo el manual de la página oficial, he modificado algunas cosas. Como la versión de descarga 3.0.3. Espero que os sea de ayuda.

Lo primero que tenemos que hacer es instalar los paquetes requeridos.
aptitude install apache2 build-essential libgd2-dev
Si tenemos una conexión a internet lenta deberíamos dejar descargando ya estos dos ficheros, que necesitaremos para dejar corriendo el servicio nagios en nuestro nuevo servidor Nagios 3.0.3.
wget http://osdn.dl.sourceforge.net/sourceforge/nagios/nagios-3.0.3.tar.gz
wget http://osdn.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.12.tar.gz
Creamos el usuario que correrá el proceso.
/usr/sbin/useradd -m nagios
/usr/sbin/groupadd nagcmd
/usr/sbin/usermod -G nagcmd nagios
/usr/sbin/usermod -G nagcmd www-data
Descomprimimos el nagios-3.0.3.tar.gz y entramos en el directorio que nos creará.
tar xzf nagios-3.0.3.tar.gz
cd nagios-3.0.3
Ahora corremos el script de configuración pasando como parámetro el grupo que creamos para nagios y www-data para que compartan permisos.
./configure --with-command-group=nagcmd
Después de correo el script tenemos que compilar los fuentes.
make all
Ahora instalamos los binarios.
make install
make install-init
make install-config
make install-commandmode
Deberías editar el fichero /usr/local/nagios/etc/objects/contacts.cfg y modificar los parámetros que te interesen como por ejemplo el email del administrador principal (nagiosadmin).
nano /usr/local/nagios/etc/objects/contacts.cfg
Configuración de la interfaz web.
make install-webconf
Para crear el fichero de usuarios y claves para el acceso a la interfaz web, tenemos que ejecutar.
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
Finalmente hacemos un reload de apache para que relea las modificaciones que ha sufrido en sus ficheros de configuración.
/etc/init.d/apache2 reload
Ahora vamos a instalar el plugin, para ello lo primero será descomprimirlo.
tar xvzf nagios-plugins-1.4.12.tar.gz
cd nagios-plugins-1.4.12
Corremos el script de configuración pasando como parámetros usuario nagios y grupo nagcmd. Después solo nos queda compilar e instalar.
./configure --with-nagios-user=nagios --with-nagios-group=nagcmd
make
make install
Para terminar solo nos queda programarlo para que se inicie con el arranque del sistema y verificar que todos los ficheros de configuración son correctos.
cd /etc/init.d/
update-rc.d nagios defaults
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Si la verificación de ficheros fue correcta veremos algo así al final de la salida.
Total Warnings: 0
Total Errors: 0
Ahora ya estamos preparados para iniciar el servicio.
/etc/init.d/nagios start
E identificarnos en http://< mi servidor nagios >/nagios
Si queremos que nuestro servidor nos envía mails notificándonos cualquier asunto, tendremos que montar un servidor SMTP. Yo particularmente prefiero usar postfix. Para instalarlo haremos:
aptitude install postfix
Cuando nos pregunte el tipo de servidor que somos le diremos Sitio de Internet, lo próximo que nos preguntará será el dominio con el que firmará la cabecera de los correos. Deberías de poner un nombre de dominio valido, por ejemplo nagios.josemanuelruizbaena.com, porque algunos filtros anti-spam cortan los correos cuyos dominios no son validos. Es decir, que no sería correcto poner servidornagios a secas.

Ya no queda más que hacer, ya tienes instalado un servidor Nagios. Ahora dedica un buen rato en añadir todos tus servidores para que sean monitorizados por tu nuevo servidor de monitorización.

lunes, 19 de mayo de 2008

fatal: pgsql:/etc/postfix/sql-pop-before-smtp.cf(0,lock|fold_fix): table lookup problem

Después de seguir el manual de instalación de dbmail con postgres para Ubuntu, no me funcionó correctamente. Después de mucho buscar soluciones a este problema.
May 19 12:41:43 druida postfix/smtpd[3826]: connect from fg-out-1718.google.com[72.14.220.156]
May 19 12:41:43 druida postfix/smtpd[3826]: warning: pgsql query failed: fatal error from host localhost: ERROR: la sintaxis de entrada no es v?lida para tipo inet: ?fg-out-1718.google.com??
May 19 12:41:43 druida postfix/smtpd[3826]: fatal: pgsql:/etc/postfix/sql-pop-before-smtp.cf(0,lock|fold_fix): table lookup problem
May 19 12:41:44 druida postfix/master[3787]: warning: process /usr/lib/postfix/smtpd pid 3826 exit status 1
May 19 12:41:44 druida postfix/master[3787]: warning: /usr/lib/postfix/smtpd: bad command startup -- throttling
Me dí cuenta de que en el fichero /var/log/postgresql/postgresql-8.1-main.log tenía el verdadero problema:
2008-05-19 12:41:43 CEST ERROR: la sintaxis de entrada no es válida para tipo inet: «fg-out-1718.google.com»
Al parecer la estructura de la tabla dbmail_pbsp no es totalmente correcta, es posible que es esta nueva versión de dbmail no esté bien definida. Para solucionarlo hay que cambiar el tipo de datos del campo ipnumber, con este script podrás cambiarlo sin perder los datos que ya tienes.
alter table dbmail_pbsp ADD after_ipnumber text;
update dbmail_pbsp set after_ipnumber = cast(ipnumber as text);
alter table dbmail_pbsp drop ipnumber;
alter table dbmail_pbsp rename after_ipnumber to ipnumber;
alter table dbmail_pbsp alter ipnumber set default('0.0.0.0');
commit;
Después de esto el servidor me funciona perfectamente.

viernes, 2 de mayo de 2008

Xampp Ubuntu/Debian problemas restart

He tenido problemas al iniciar un xampp en un core dos duo con Ubuntu con un kernel server (con SMP para dos procesadores). El problema es que la primera vez que iniciaba tardaba muy poco en iniciar Apache2, si intentaba un restart... tardaba algo así que que 5 min en admitir peticiones HTTP.
#/etc/init.d/xampp restart
Stopping XAMPP for Linux 1.6.6...
XAMPP: XAMPP-Apache is not running.
XAMPP: Stopping MySQL...
XAMPP: Stopping ProFTPD...
XAMPP stopped.
Starting XAMPP for Linux 1.6.6...
XAMPP: Another web server daemon is already running.
XAMPP: Starting MySQL...
XAMPP: Starting ProFTPD...
XAMPP for Linux started.
He intentado mil soluciones, pero ninguna fue la correcta. Intenté cambiar el kernel por kernels a 64bit...

Pero al parecer los cores duos o las placas con dos xeon tienen un problema cuando intentan generar RANDOM, así que hay que echarles una "manita".

Si ejecutas cat /proc/sys/kernel/random/entropy_avail te devolverá un valor. En mi Pc (un PIV) me da un valor de 3586. En el Core Duo me da un valor de 160, pero después de instalar y arrancar rng-tools me da un valor de aprox 2700 y arranca apache normalmente.

Instala el paquete rng-tools
aptitude install rng-tools
Tendrás que modificar el fichero /etc/init.d/rng-tools porque no es total mente correcto. Yo por menos cuando intenté iniciar el proceso (/etc/init.d/rng-tools start) me daba un error.
Starting Hardware RNG entropy gatherer daemon: (Hardware RNG device inode not found)
/etc/init.d/rng-tools: Cannot find a hardware RNG device to use.
Tendrás que modificar la linea HRNGDEVICE=/dev/hwrng y poner HRNGDEVICE=/dev/urandom. Después solo quedará hacer /etc/init.d/rng-tools start y ya tendremos corriendo el demonio.

miércoles, 9 de abril de 2008

Cortar un fichero en trozos

Después de mucho pelearme con los sitemas de ficheros y distintos sitemas operativos, he decidido montar en mis discos externos (USB) el sistema de ficheros FAT32. Hasta el momento lo tenía con ext2, que me tiene un límite de tamaño de fichero superior a FAT32.

Pero ahora con mi nuevo Mac Book Pro, no he conseguido montar ext2 con modo lectura y escritura. Se monta en modo solo lectura.

Después de buscar encontré la fantastica aplicación split, en los lenguajes de programación se usa para cortar. Pues en GNU/Linux es lo mismo. Usando el comando split podemos hacer que nuestros ficheros grandes pasen a ser varios ficheros pequeños y somos nosotros quien decidimos el tamaño.

De esta forma podemos meter "ficheros grandes" en un disco duro con sistema de ficheros FAT32 que solo admite ficheros menores de 4GB.
split -b100m MiFicheroGrande.tgz MisFicherosChicos.
Al ejecutar eso, creará una sucesión de ficheros de 100MB (-b100m) del estilo a:
MisFicherosChicos.aa
MisFicherosChicos.ab
MisFicherosChicos.ac
MisFicherosChicos.ad
MisFicherosChicos. ...
Para pegar esos trozos es aún más sencillo.
cat MisFicherosChicos.* > MiFicheroGrandore.tgz
Y volveremos a tener todos los trozos pegados en uno solo, eso sí recuerda ejecutar este último comando en un disco duro donde el sistema de ficheros soporte el tamaño de la suma total de todos los ficheros pequeños.

viernes, 28 de marzo de 2008

chm2pdf - Ubuntu 7.10

chm2pdf - Google Code

¿Como instalar chm2pdf?

aptitude install libchm-bin libchm-dev libchm1 libchm-bin libchm-dev python-chm libghc6-html-doc gri-html-doc htmldoc-common
wget http://chm2pdf.googlecode.com/files/chm2pdf-0.9.tar.gz
tar xvzf chm2pdf-0.9.tar.gz
cd chm2pdf-0.9/
python setup.py install
Después de hacer todo esto ya está instalado. Ahora solo queda ejecutarlo.
chm2pdf (--book o --webpage) MiFichero.chm MiFichero.pdf
Si el resultado no es exactamente lo que queríamos podemos utilizar pdfedit para retocar un poco el resultado. pdfedit lo podemos encontrar directamente en el repositorio de Ubuntu 7.10, su instalación es sencilla.
aptitude install pdfedit

jueves, 27 de marzo de 2008

bash: ./xampp-backup.sh: /bin/bash: intérprete incorrecto: Archivo demasiado grande

Me encontré con este error cuando intenté restaurar una copia de seguridad de un XAMPP. El fichero xampp-backup.sh ocupaba la friolera de 8,3GB. La verdad que es un poco grande :P, pero que le vamos a hacer si tenemos tantos datos.

Cuando conseguí descargarla, le di permisos de ejecución (chmod 700 xampp-backup.sh) y simplemente hice ./xampp-backup.sh y por alguna razón no se ejecutó y me dio ese error.

Pero intenté ejecutar el fichero haciendo /bin/bash xampp-backup.sh y sorprendentemente se está ejecutando. Ahora solo queda esperar.

lunes, 24 de marzo de 2008

ext3 ficheros grandes

Con el sistema de ficheros ext3 podemos almacenar ficheros muy grandes, pero ¿como sabemos el límite que soporta nuestro sistema y en función a qué va el límite del tamaño del fichero?

El límite del tamaño para un fichero muy grande que soporte nuestro sistema de ficheros en ext3 irá en función del tamaño de los blockes de nuestro sistema. Para saber qué tamaño tiene definido nuestro sistema ext3, podemos hacerlo con tune2fs.
# tune2fs -l /dev/sda1 | grep -i "Block size:"
SDA1 corresponde a la partición que tengamos en ext3 y queremos saber cuál es el tamaño de sus blockes.
Si el resultado es 1024 nuestro fichero más grande será de 16GB. Si es mayor podemos verlo en esta tabla.
1024 bytes = 1 KB => 16 GB
2048 bytes = 2 KB => 128 GB
4096 bytes = 4 KB => 1024 GB
8192 bytes = 8 KB => 8192 GB

martes, 18 de marzo de 2008

Problemas con el cotejamiento de MySQL

Siempre he tenido problemas con las importaciones de MySQL, las copias de seguridad se generan bien, pero cuando tengo que hacer una importación para recuperar una base de datos tengo problemas con el cotejamiento.

Si haces:
cat backup.sql | /opt/lampp/bin/mysql -u root -D BaseDeDatos -p
Te meterá la información que contenga backup.sql en BaseDeDatos, pero puedes tener problemas con el cotejamiento. Al añadirle --default-character-set=utf8 se solucionará el problema, porque fuerzas la conexión a UTF8 y volverás a ver las tildes correctamente.
cat backup.sql | /opt/lampp/bin/mysql -u root -D BaseDeDatos --default-character-set=utf8 -p

lunes, 17 de marzo de 2008

Bluetooth con Ubuntu o Debian

Para hacer funcionar mi Sharp con Ubuntu, he tenido que hacer:
aptitude install bluez-pin bluez-utils

Para scanear los dispositivos:
hcitool scan
Scanning ...
00:17:5C:12:58:38 DelorianMovil

Esto nos dará el identificador de nuestro móvil (00:17:5C:12:58:38).
Ahora tenemos que averiguar que canal de comunicacion usa el el movil con el pc , pero lo general es el 10. Para averiguarlo hacemos:
sdptool browse 00:17:5C:12:58:38

Buscamso en la salida generada “OBEX File Transfer” y estar al canal que usa.
Ahora configuraremos el demonio para que siempre use el canal 10 , en el fichero etc/bluetooth/rfcomn.conf y añadirel un bloque , viene comentado dentro , pero por si acaso
nano /etc/bluetooth/rfcomm.conf
---------------------------
rfcomn0 {
device 00:17:5C:12:58:38;
channel 10;
comment “cualquier texto identificatico”;
}
---------------------------

Ya tenemos la configuración hecha, ahora necesitamos la utilidad para recibir ficheros en el pc proveniente de un móvil.
aptitude install obexserver
sdptool add --channel=10 OPUSH

Después de hacer todo esto pude enlazar perfectamente mi móvil Sharp con mi Pc, pero ahora el problema era que el móvil no permite envío masivo de ficheros.

martes, 11 de marzo de 2008

Monitorización de servidores Linux

Los administradores siempre estamos detrás de aplicaciones que nos ayuden a monitorizar nuestros sistemas. He dado con esta aplicación que es muy útil para monitorizarlos.

loadavg

Su instalación es muy sencilla.

1º Descargamos y descomprimimos la aplicación en el directorio donde tengamos escuchando Apache.
wget http://www.labradordata.ca/downloads/loadavg.tar.gz
tar -zxf loadavg.tar.gz

2º modificar el fichero config.php que encontrarás en dentro del directorio loadavg. En este fichero hay que modificar dos parámetros:
$datadir <- completa="" del="" directorio="" la="" que="" ruta="" span="" style="font-weight: bold;" tener="" tiene="">loadavg/logs/
.
$eth <- ...="" br="" contener="" de="" debe="" eth0="" eth1="" interfaces="" la="" monitorizar="" pretendemos="" que="">

3º Una vez hecho todo esto, solo nos falta incluir en el cron una tarea para que capture los logs. Yo modifiqué el /etc/crontab añadiendo la siguiente linea:
*/6 * * * * root php -q /opt/lampp/htdocs/loadavg/logger.php
Es importante que sea cada 6 minutos.


DynDns OVH Sincronización de IP pública dinámica

  Si tienes un servidor en casa o detrás de una conexión con IP dinámica, sabes que tarde o temprano tu dirección IP pública cambia y tu dom...