Las colas de postfix

Apache HTTPNo es extraño tener en un servidor de envío de correo, más de un postfix (o incluso decenas de ellos) corriéndo de forma simultánea. Para poder ver el estado de las colas (es decir, los mails que están esperando a ser enviados), podemos usar un par de comandos:

qshape -c /etc/postfixA/

Qshape es una utilidad que muestra por pantalla el número de mails distribuidos por edad en las colas, es decir, nos mostrará el tiempo que llevan los mails en las colas, esperando para salir, agrupados por tiempo. Con la opción «-c» se le indicará la ruta al fichero main.cf del postfix del cual queremos ver las colas.

postqueue -p -c /etc/postfixA/

Postqueue, es la utilidad para gestionar las colas de postfix, la cual, requiere indicar igual que qshape, la ruta al main.cf del postfix en cuestión. La opción «-p» lista el contenido de las colas.

Actualización: Podemos limpiar las colas de postfix con «postuser», indicando al igual que qshape y postqueue el directorio donde está la configuración de postfix con la opción «-c», e indicando con «-d» la acción de borrar las colas.

postsuper -c /etc/postfix41 -d ALL

Flickr! Foto por alecperkins

Cómo hacer SSH más seguro

Apache HTTPHay muchos posts en Internet hablando sobre cómo configurar SSH de forma correcta, para tener un entorno seguro; éste es otro de ellos.

La configuración de ssh en la máquina a la que queremos conectar, en entornos tipo Red Hat, se encuenta en /etc/ssh/sshd_conf. En este fichero de configuración, podremos realizar varias modificaciones para intentar tener un entorno SSH más seguro, como por ejemplo las que se describen a continuación:

Cambiar el puerto de acceso por defecto

Por defecto SSH usa el puerto 22, cambiando el puerto por otro conseguimos añadir una traba extra para alguien que quiere acceder a nuestro server a través de SSH, puesto que el puerto por defecto no responderá. Se recomienda usar uno mayor al 1024, por estar del 1 al 1024 reservados.

Port 12503

Continuar leyendo «Cómo hacer SSH más seguro»

Estreno del .es

Apache HTTP
Dependiendo de cómo hayas llegado a este blog, quizá hayas notado que la url ha pasado de «helloit.webege.com» a «helloit.es».

Después de unos años beneficiándome de hosting y sub-dominio gratuitos de 000webhost.com he pasado a un hosting con 1and1 (después de haberlo abandonado unos años atrás) con un dominio.es. El antiguo blog continúa existiendo, pero con una redirección 301 (movido permanentemente).

El .com y el .net ya estaban ocupados, así que me he tenido que conformar con el «.es», que tampoco está tan mal.

Servidores Windows en Nagios

Hoy me he encontrado con la extraña tarea de tener que monitorizar un servidor Windows con Nagios. Digo extraña porqué hasta ahora sólo he tenido que monitorizar servidores Linux, por ser éste el sistema operativo usado en la mayoría de servidores con los que me he cruzado.

En cuanto al servidor a monitorizar, he seguido estos pasos:

  1. Descargar NSClient++ en el servidor Windows. Aquí la página oficial de NSClient++
  2. Ejecutar el instalador y seguir el asistente
    • Durante el instalador, se podrá indicar la IP del servidor Nagios, para únicamente permitir el acceso a NSClient++ desde esa IP.
    • Igualmente, se podrá indicar una contraseña que se deberá configurar en el servidor Nagios, para poder conectar.
    • Si se va a usar check_nt, como es habitual, se deberá marcar durante la instalación, los módulos «common check plugins» y «nsclient server (check_nt)».
  3. Una vez finalizada la instalación, se recomienda marcar el check «start service» para iniciar en ese momento el servicio NSClient++ (se podrá ver desde services.msc). El servicio se guarda con inicio «automático», así que en teoría no hemos de preocuparnos de él.

Con esto estaría todo listo, en cuanto a la parte de la máquina a monitorizar. En cuanto a la propia configuración del Nagios, por defecto ya viene un fichero windows.cfg que encontraremos en la carpeta de objetos del servidor Nagios, que nos servirá de base para conectar mediante check_nt con nuestro nuevo servidor Windows.

Fuente: http://nagioses.blogspot.com/2009/03/monitoreando-maquinas-con-windows.html

no acceptable C compiler found in $PATH

Intentando instalar los plugins de Nagios en una máquina «cliente» a monitorizar, es posible que nos encontremos con el siguiente error, tras ejecutar el ./configure:

[root@miserver nagios-plugins-1.4.15]# ./configure
checking for a BSD-compatible install… /usr/bin/install -c
checking whether build environment is sane… yes
checking for a thread-safe mkdir -p… /bin/mkdir -p
checking for gawk… gawk
checking whether make sets $(MAKE)… yes
checking build system type… x86_64-unknown-linux-gnu
checking host system type… x86_64-unknown-linux-gnu
checking for gcc… no
checking for cc… no
checking for cl.exe… no
configure: error: no acceptable C compiler found in $PATH
See `config.log’ for more details.
[root@miserver nagios-plugins-1.4.15]#

Este error es de por sí, bastante descriptivo; falta el compilador de C, concretamente, «gcc». En entornos Red Hat, bastará con usar yum para instalar gcc y solucionar así el problema:

[root@miserver nagios-plugins-1.4.15]# yum install gcc

En mi caso, gcc ha tenido las siguientes dependencias, también instaladas junto con gcc de forma automática:

  • cpp
  • glibc-devel
  • glibc-headers
  • kernel-headers

El propósito del post, es ver los paquetes imprescindibles a instalar para solucionar este problema.

Generar petición CSR para HTTPS

Apache HTTPSi se quiere montar un servidor que soporte HTTPS, se deberá contar un certificado válido para el sitio web. Para ello, una opción es directamente, comprar dicho certificado, en alguno de los múltiples sitios web que ofrecen esta opción, como GoDaddy, los cuales, ya tienen las instrucciones para generar la petición del certificado aquí:

Para generar la petición para el certificado, se deberán seguir una serie de pasos:

  • Crear el certificado y la petición CSR (Solicitud para Firma del Certificado), ejecutando en el servidor web, el siguiente comando (NOTA: yourdomain puede ser cualquier texto, por ejemplo, para dominio.com podríamos usar dominio.key y dominio.csr respectivamente):

openssl req -new -newkey rsa:2048 -nodes -keyout yourdomain.key -out yourdomain.csr

Ej. openssl req -new -newkey rsa:2048 -nodes -keyout www_domain_com.key -out www_domain_com.csr

Continuar leyendo «Generar petición CSR para HTTPS»

Actualizar PHP en Red Hat 5

Para finalizar el año, veremos cómo actualizar PHP en un servidor Red Hat Enterprise 5.5.

En primer lugar miraremos qué versión de php tenemos, sin necesidad de usar phpinfo():

[root@miserver ~]# php -v
PHP 5.1.6 (cli) (built: Nov 13 2010 16:05:12)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies

A continuación instalaremos los repositorios de remi siguiendo los pasos descritos aquí:

[root@miserver ~]# wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
[root@miserver ~]# wget http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
[root@miserver ~]# rpm -Uvh remi-release-5*.rpm epel-release-5*.rpm

Continuar leyendo «Actualizar PHP en Red Hat 5»

Cambiar motor tablas mysql

MySQL EngineEn más de una ocasión, me he encontrado con la necesidad de verificar el motor (innodb o myisam) de las tablas de una determinada base de datos en mysql. Se puede ver el motor usado, seleccionando la base de datos y ejecutando el comando «show table status»:

use mydatabase;
show table status;

También me he encontrado con la necesidad de cambiar varias (o todas) las tablas de un motor a otro. Existe la posibilidad de ejecutar la siguiente sentencia para cambiar el motor de una tabla:

ALTER TABLE mytable ENGINE=InnoDB

Continuar leyendo «Cambiar motor tablas mysql»

MongoDB – Reconfigurar replica set

MongoDBSi se quiere cambiar alguno de los parámetros de cualquier nodo del réplica set, bastará con conectar con el nodo primario de ese conjunto, y seguir los pasos descritos a continuación.

En primer lugar, se deberá copiar la configuración actual del replica set a una variable auxiliar:

PRIMARY> cfg = rs.conf()
{
«_id» : «replica1»,
«version» : 6,
«members» : [
{
«_id» : 0,
«host» : «192.0.1.2:27001»
},
{
«_id» : 1,
«host» : «192.0.1.3:27001»
},
{
«_id» : 4,
«host» : «192.0.1.4:38001»,
«arbiterOnly» : true
}
]
}

Continuar leyendo «MongoDB – Reconfigurar replica set»