miércoles, 26 de diciembre de 2012

Como generar los certificados para apache2 con SSL

Cuando usamos una plantilla de maquina virtual o si copiamos la configuración desde otro servidor que tenga otro nombre, debemos generar los certificados de nuevo.
Este procedimiento también debería servir cuando caducan los certificados.

Borrar certificados anteriores

rm -vf /etc/ssl/certs/*snakeoil*
rm -vf /etc/ssl/private/*snakeoil*


Generar nuevos
/usr/sbin/make-ssl-cert generate-default-snakeoil --forceoverwrite

jueves, 13 de diciembre de 2012

Cómo migrar de un equipo a otro, NagiosQL


En el equipo viejo:

#mysqldump -h localhost -u root -p --opt --add-drop-database db_nagiosql_v3 > /root/nagios_viejo.sql

En el equipo nuevo:

Para no enviar correos erróneos

#service postfix stop

Para vaciar la cola de mensages

#postsuper -d ALL

Copiar el export nagios_viejo.sql en el directorio /root del nuevo equipo

#mysqldump -h localhost -u root -p --opt --add-drop-database db_nagiosql_v3 > /root/nagios_vacio.sql
#mysql -u root -p db_nagiosql_v3 < /root/nagios_viejo.sql

Borramos la configuración existente de nagios

#rm -vfR /etc/nagiosql/domains/localhost/hosts/*.cfg
#rm -vfR /etc/nagiosql/domains/localhost/*.cfg
#rm -vfR /etc/nagiosql/domains/localhost/services/*.cfg

Copiar más configuraciones de nagios

#sudo scp -vr root@IP_SERVIDOR_VIEJO:/etc/nagios3/htpasswd.users /etc/nagios3/htpasswd.users
#sudo scp -vr root@IP_SERVIDOR_VIEJO:/etc/nagios3/cgi.cfg /etc/nagios3/cgi.cfg
#sudo scp -vr root@IP_SERVIDOR_VIEJO:/etc/nagios3/resource.cfg /etc/nagios3/resource.cfg

Copiar los gráficos viejos

#sudo scp -vr root@IP_SERVIDOR_VIEJO:/var/lib/pnp4nagios/perfdata/* /var/lib/pnp4nagios/perfdata/

Copiar la configuración snmpd

#sudo scp -v root@IP_SERVIDOR_VIEJO:/etc/snmp/snmp* /etc/snmp/

Añadimos las mibs más nuevas

sudo apt-get install snmp-mibs-downloader
sudo download-mibs
sudo sed -i 's/^mibs/#mibs/g' /etc/snmp/snmp.conf

Poner en marcha de nuevo el sistema de correo

Para vaciar la cola de mensages
#postsuper -d ALL

Para iniciar Postfix
#service postfix start

Aplicar la nueva configuración de nagios 

Nos conectamos a la web de NagiosQL http://miserver/nagiosql y en el menú -> Herramientas -> Control Nagios le damos a todos los botones "Hazlo" de manera ordenada.


Reiniciamos y listo


lunes, 29 de octubre de 2012

Cómo configurar ntpd en Solaris 10

Podemos configurar nuestra solaris 10 para que sincronice la hora oficial española ejecutando los siguientes comandos:

date
echo server hora.roa.es >> /etc/inet/ntp.conf

svcadm enable svc:/network/ntp
svcadm refresh svc:/network/ntp
svcadm restart svc:/network/ntp
date

martes, 2 de octubre de 2012

Ampliar una partición con LVM

Seguro que alguna vez nos ha pasado que no sabemos cómo aumentar el tamaño de una partición LVM. 

Pues bien, esto es algo que podemos hacer sin reiniciar el equipo.

Con el comando df -h vemos la ocupación de disco y el tamaño de las particiones


[root@myserver ~]# df -h
S.ficheros          Tamaño Usado  Disp Uso% Montado en
/dev/mapper/VolGroup00-LogVol00
                      1024G  820G  204G  80% /
/dev/sda1             190M   27M  154M  15% /boot
tmpfs                1007M   48K 1007M   1% /dev/shm



Con el comando  lvdisplay visualizamos el estado de los volúmenes lógicos, su tamaño, etc


[root@myserver ~]# lvdisplay
  --- Logical volume ---
  LV Name                /dev/VolGroup00/LogVol00
  VG Name                VolGroup00
  LV UUID                dQV422-ufdp-QzHM-mnby-f7cV-Y0oi-zOx51J
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                1 TB
  Current LE             34368
  Segments               3
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

  --- Logical volume ---
  LV Name                /dev/VolGroup00/LogVol01
  VG Name                VolGroup00
  LV UUID                b41L4R-wgyn-iVUi-pGlj-Bg2G-zqDq-2bqiek
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                1,94 GB
  Current LE             62
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:1




Con el comando lvextend ampliamos el volumen lógico (hay que disponer de espacio físico libre).
Por ejemplo: lvextend -L1074G /dev/VolGroup00/LogVol00

[root@myserver ~]# lvdisplay
  --- Logical volume ---
  LV Name                /dev/VolGroup00/LogVol00
  VG Name                VolGroup00
  LV UUID                dQV422-ufdp-QzHM-mnby-f7cV-Y0oi-zOx51J
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                1,05 TB
  Current LE             34368
  Segments               3
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

  --- Logical volume ---
  LV Name                /dev/VolGroup00/LogVol01
  VG Name                VolGroup00
  LV UUID                b41L4R-wgyn-iVUi-pGlj-Bg2G-zqDq-2bqiek
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                1,94 GB
  Current LE             62
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:1



Con el comando resize2fs ampliamos la partición que contiene el volumen lógico para poder utilizar todo el tamaño del que dispone.
Por ejemplo: resize2fs /dev/mapper/VolGroup00-LogVol00

[root@myserver ~]# df -h
S.ficheros          Tamaño Usado  Disp Uso% Montado en
/dev/mapper/VolGroup00-LogVol00
                      1,1T  820G  238G  78% /
/dev/sda1             190M   27M  154M  15% /boot
tmpfs                1007M   48K 1007M   1% /dev/shm





lunes, 17 de septiembre de 2012

Cómo modificar la programación de backups en Zimbra

Desde la web del administrador de Zimbra podemos modificar algunos parámetros como por ejemplo el directorio donde almacenamos los backups, el tipo de backup, etc.

Sin embargo si queremos ir al detalle no es posible desde la web.
Para realizar una programación personalizada necesitamos acceder por ssh (podéis usar el cliente putty) al servidor y utilizando el usuario zimbra llamar al comando:

zmschedulebackup



para ver la programación actual ejecutaremos:
zimbra@zimbra01:/root$ zmschedulebackup -q

Current Schedule:

        f 0 1 * * 6 -a all --mail-report
        i 0 1 * * 0-5 --mail-report
        d 28d 0 0 * * * --mail-report

Ó

zimbra@zimbra01:/root$ zmschedulebackup -s
 "-a all --mail-report" f "0 1 * * 6"
 "--mail-report" i "0 1 * * 0-5"
 "--mail-report" d 28d "0 0 * * *"



por defecto la programación es esta:

zimbra@zimbra01:/root$ zmschedulebackup -s
 "-a all --mail-report" f "0 1 * * 6"
 "--mail-report" i "0 1 * * 0-5"
 "--mail-report" d 1m "0 0 * * *"


Esto significa que zimbra por defecto realiza un backup completo (f - full) cada día 6 de la semana a la 1am, realiza también una copia incremental (i - incremental) los días 0 a 5 de la semana a la 1am y elimina (d - delete) todos los backups que sean más antiguos que un mes.

Si queremos cambiar (Reemplazar) la configuración actual de backup por otra, en nuestro caso deseamos que se eliminen las copias más antiguas de 28días. Debemos llamar al comando "zmschedulebackup" con la opción "-R".

zmschedulebackup -R "--mail-report" f "0 1 * * 6" i "0 1 * * 0-5" d 28d "0 0 * * *"

Adjunto la ayuda del comando para que se vean las opciones más claras.


zimbra@zimbra01:/root$ zmschedulebackup --help

Schedule regular backups

Usage: zmschedulebackup [-q|-D|-s|-F| [{-A|-R} [zmbackup options] { <backup-type> } { <backup-schedule> } ] ]
  -q: query (default command) - prints existing schedule
  -s: save schedule to text format for easy restoration
  -F: flush - remove current schedule (cancel all scheduled backups)
  -A: append - adds specified backup to current schedule
  -R: replace - replace current schedule with specified schedule
  -D: default - replace current schedule with DEFAULT schedule

  Options that will be passed to zmbackup:
  -n: no compression - Backs up blobs as individual files rather than in zip files.
  -z: compress - Backs up blobs in compressed zip files.  Ignored if --zipStore is specified.
  --zipStore: - Backup up blobs in zip files without compression.
  -t: target - backup target location (default is /opt/zimbra/backup)
  -a: account - account specific (default is all)
  --mail-report: Send an email report to the admin user.
  --server: server - Mail server hostname. Default is localhost.
  --sync: Runs full backup synchronously.
  --excludeBlobs: Exclude blobs from full backup; if unspecified, use server config
  --includeBlobs: Include blobs in full backup; if unspecified, use server config
  --excludeHsmBlobs: Exclude blobs on HSM volumes from full backup; if unspecified, use server config
  --includeHsmBlobs: Include blobs on HSM volumes in full backup; if unspecified, use server config
  --excludeSearchIndex: Exclude search index from full backup; if unspecified, use server config
  --includeSearchIndex: Include search index in full backup; if unspecified, use server config

  Backup Mode (Standard or Auto-Grouped) comes from global/server config zimbraBackupMode

  Cron schedule:
        backup-type: <i|f|d arg>
        i: incremental backup (not needed in Auto-Grouped backup mode)
        f: full backup
        d <arg>: delete backups. <arg> is n{d|m|y}
        backup-schedule: crontab style time specifier, QUOTED.  See crontab(5)
                Fields are:
                        minute         0-59
                        hour           0-23
                        day of month   1-31
                        month          1-12
                        day of week    0-7 (0 or 7 is Sun, or use names)

        Default schedule in Standard backup mode is:
        f    0 1 * * 6
        i    0 1 * * 0-5
        d 1m 0 0 * * *

        Default schedule in Auto-Grouped backup mode is:
        f    0 1 * * 0-6
        d 1m 0 0 * * *

martes, 27 de marzo de 2012

Cómo instalar Logwatch en ubuntu


Es importante tener configurado previamente postfix para que el servidor sea capaz de enviar correos


Instalamos el paquete a través del repositorio
sudo apt-get install logwatch


Preparamos la configuración de logwatch
sudo cp -vfR /usr/share/logwatch/default.conf/* /etc/logwatch
sudo cp -vfR /usr/share/logwatch/dist.conf/* /etc/logwatch
sudo cp -vfR /usr/share/logwatch/default.conf/*.conf /etc/logwatch/
sudo mkdir /var/cache/logwatch


sudo mv  /etc/logwatch/*.conf /etc/logwatch/conf/

Modificamos la configuración de Logwatch, aquí se pueden hacer muchas cosas pero lo básico sería poner los correos origen y destino a donde se envían los informes.
sudo nano /etc/logwatch/conf/logwatch.conf
Format = html
MailTo =emaildestino@midominio.es
MailFrom = emailorigen@midominio.es

Ejecutamos Logwatch a mano para recibir el primer informe y comprobar que todo funciona bien.
sudo /etc/cron.daily/00logwatch


Lo aprendi de:


jueves, 1 de marzo de 2012

Cómo añadir MIBS al cliente snmp

Si cuando hacer un snmpwalk desde tu ubuntu, el comando snmpwalk te devuelve que no reconoce el OID
por ejemplo si ejecutas


snmpwalk -v1 -cpublic laipdemiswitchsnmp system


devuelve:


system: Unkown Object Identifier (Sub-id not found:(top) -> system)



para solucionarlo hay que instalar las MIBS de snmp



sudo apt-get install snmp-mibs-downloader
sudo download-mibs
sudo sed -i 's/^mibs/#mibs/g' /etc/snmp/snmp.conf

ahora si ejecutas:




snmpwalk -v1 -cpublic laipdemiswitchsnmp system

debería devolver algo distinto de:


system: Unkown Object Identifier (Sub-id not found:(top) -> system)


lunes, 23 de enero de 2012

Como convertir un disco (vmdk) de vmware player a vmware ESX o ESXi

Lo más sencillo es utilizar vmware Converter y pasar una maquina virtual entera de un formato a otro, pero en algunos casos viene bien convertir sólo el archivo vmdk que es el archivo de disco duro. 

Para ello copiamos el vmdk que tenemos al servidor ESX o ESXi y por ssh o desde el propio servidor clonamos el archivo a otro con otro nombre.

Clonar un archivo vmdk
vmkfstools -i Disco_Origen.vmdk  Disco_Destino.vmdk -d thin

jueves, 19 de enero de 2012

Configurar VNC en RHEL 6 sin vino

Primero hay que instalar el servidor vncserver

yum install vnc-server

o descargar el rpm

wget ftp://ftp.sunet.se/pub/Linux/distributions/scientific/53/x86_64/SL/vnc-server-4.1.2-14.el5_3.1.x86_64.rpm

instalar el rpm
 rpm -ivh vnc-server-4.1.2-14.el5_3.1.x86_64.rpm

configurar el servicio encendido en el arranque

chkconfig vnc-server on

Editar /root/.vnc/xstartup y poner lo siguiente

#!/bin/sh
# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
#xsetroot -solid grey
#vncconfig -iconic &
#xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#twm &
if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then
    eval `dbus-launch --sh-syntax –exit-with-session`
    echo "D-BUS per-session daemon address is: \
    $DBUS_SESSION_BUS_ADDRESS"
fi
exec  gnome-session

En el archivo /etc/sysconfig/vncservers ponemos

# The VNCSERVERS variable is a list of display:user pairs.
#
# Uncomment the lines below to start a VNC server on display :2
# as my 'myusername' (adjust this to your own).  You will also
# need to set a VNC password; run 'man vncpasswd' to see how
# to do that.
#
# DO NOT RUN THIS SERVICE if your local area network is
# untrusted!  For a secure way of using VNC, see
# <URL:http://www.uk.research.att.com/archive/vnc/sshvnc.html>.

# Use "-nolisten tcp" to prevent X connections to your VNC server via TCP.

# Use "-nohttpd" to prevent web-based VNC clients connecting.

# Use "-localhost" to prevent remote VNC clients connecting except when
# doing so through a secure tunnel.  See the "-via" option in the
# `man vncviewer' manual page.

# VNCSERVERS="2:myusername"
# VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -nohttpd -localhost"

VNCSERVERS="1:root"
VNCSERVERARGS[1]="-geometry 1024x768 -nolisten tcp -nohttpd"

y reiniciamos

service vncserver restart

martes, 10 de enero de 2012

Modificar correos de disco duro lleno de Zimbra

Por defecto Zimbra envía un correo de WARNING cada 10 min. cuando se llega al 85% del disco y cuando se llega al 95% se envian CRITICAL cada 10 min.

Si deseamos cambiar estos valores para que el servidor nos avise cuando llegue al 95 (WARNING) y 98 (CRITICAL).

Por defecto zmstat-disk se ejecuta cada 10 min, esto hace que nos envie un correo cada 10 min. en caso de fallo, por eso puede interesarnos modificar la variable zmstat_disk_interval, por ejemplo, de 600 (10 min) a 86400 (24h) para que nos llegue un correo al día.

sudo su zimbra -
zmlocalconfig -e zmdisklog_warn_threshold=95
zmlocalconfig -e zmdisklog_critical_threshold=98
zmlocalconfig -e zmstat_disk_interval=86400
zmstatctl stop;zmstatctl start

Para que se aplique la configuración nueva hay que reiniciar el servicio zmstatctl

Tambien puede interesarnos modificar quien envia y quien recibe los correos de alarma.

sudo su zimbra -
zmlocalconfig -e smtp_source=postmaster@midiminio.com
zmlocalconfig -e smtp_destination=postmaster@midiminio.com
zmstatctl stop;zmstatctl start
Lo aprendí de:
http://www.zimbra.com/docs/os/latest/administration_guide/wwhelp/wwhimpl/js/html/wwhelp.htm#href=ZCS_Admin_Guide_7_1.Monitoring_Disk_Space.html
http://wiki.zimbra.com/wiki/Setting_Thresholds_for_Disk_Monitoring

jueves, 5 de enero de 2012

Udev y nombrado de interfaces de red

Hay veces en Ubuntu que cambiamos las tarjetas de red del equipo en estos casos suele cambiar también el nombre del interfaz, puesto que eth0 está reservado con la dirección MAC de la tarjeta anterior la nueva cojera como nombre eth1 (si tienes mas de una tarjeta pasa igual las tarjetas utilizadas quedan reservadas con un ethX).

Para solucionar esto y eliminar toda relacion con tarjetas de red que ya no están en el sistema debemos comentar unas lineas en un archivo de la configuracion de udev y reiniciar para que reconozca las nuevas tarjetas.

nano /etc/udev/rules.d/70-persistent-net.rules
Hay que comentar las líneas como ésta 
#SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}==
"00:AB:CD:12:34:56", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0" 

despues hay que reiniciar y el sistema añadirá las interfaces correctamente, empezando por eth0.