Usando Linux para muchas cosas y disfrutando de videojuegos, en dispositivos moviles, consolas y pc. Using Linux for many things and enjoying video games, mobile devices, consoles and pc

Maneja dominios virtuales en tu servidor de email

DriveMeca Postfix Multi Domain
En la era de la virtualizacion y la nube, es bien común en un mismo servidor tener varios dominios de email. Continuando con el anterior articulo de Amavisd-new, hoy les mostrare como agregar la funcionalidad de multi dominio a postfix y configuraremos un servicio de imap/smtp con dovecot en un servidor Linux Centos 7. Aunque es recomendable continuar lo que hicimos en el anterior articulo, es posible hacerlo sin el, dejando nuestro servidor sin antispam/antivirus. El manejo de múltiples dominios o dominios virtuales nos permitirá con un único postfix MTA tener infinidad de dominios en el mismo servidor compartiendo recursos de forma transparente para el usuario final. La principal diferencia de una configuración de un único dominio es que los dominios virtuales se almacenan en un sitio y postfix junto a un servidor imap/pop (en este caso dovecot) son los encargados de dirigir los emails, autenticar las conexiones, etc, sin necesidad de tener las cuentas físicas creadas en /etc/passwd.

Requerimientos para manejar dominios virtuales con Postfix en Centos


-Instalamos dependencias
yum -y install bind-utils postfix cronie dovecot

-Creamos un grupo y una cuenta para el manejo de los dominios virtuales. Los mailbox se almacenaran en /var/vmail
groupadd vmail -g 2222
useradd vmail -r -g 2222 -u 2222 -d /var/vmail -m

-Verificamos que no este instalado sendmail o exim y si es asi, los eliminamos
yum remove exim sendmail

Configuramos Postfix en Linux Centos

-Editamos la configuración de postfix. Los parámetros que no se muestren, quedan con sus valores por default
vi /etc/postfix/main.cf
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
mail_owner = postfix
unknown_local_recipient_reject_code = 550
alias_maps = hash:/etc/postfix/aliases
alias_database = $alias_maps
inet_interfaces = all
inet_protocols = all
mydestination = $myhostname, localhost.$mydomain, localhost
debug_peer_level = 2
debugger_command =
         PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
         ddd $daemon_directory/$process_name $process_id & sleep 5

sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
html_directory = no
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/postfix-2.10.1/samples
readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES

relay_domains = *
virtual_alias_maps=hash:/etc/postfix/vmail_aliases
virtual_mailbox_domains=hash:/etc/postfix/vmail_domains
virtual_mailbox_maps=hash:/etc/postfix/vmail_mailbox

virtual_mailbox_base = /var/vmail
virtual_minimum_uid = 2222
virtual_transport = virtual
virtual_uid_maps = static:2222
virtual_gid_maps = static:2222

smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = /var/run/dovecot/auth-client
smtpd_sasl_security_options = noanonymous
smtpd_sasl_tls_security_options = $smtpd_sasl_security_options
smtpd_sasl_local_domain = $mydomain
broken_sasl_auth_clients = yes

smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination

Activamos Postfix virtual domain en Linux Centos

-Activamos nuestros dominios
vi /etc/postfix/vmail_domains
test.com                              OK
cualquierotrodominio.com OK

-Agregamos cuentas de email para ambos dominios
vi /etc/postfix/vmail_mailbox
info@test.com           test.com/info/
info@cualquierotrodominio.com     cualquierotrodominio.com/info/

-Creamos alias
vi /etc/postfix/vmail_aliases
info@test.com             drivemeca@test.com
info@cualquierotrodominio.com     drivemeca@cualquierotrodominio.com

-Activamos los hash
postmap /etc/postfix/vmail_domains
postmap /etc/postfix/vmail_mailbox
postmap /etc/postfix/vmail_aliases

-Modificamos master.cf
touch /etc/postfix/aliases
vi /etc/postfix/master.cf
submission inet n       -       n       -       -       smtpd

-Configuramos dovecot
vi /etc/dovecot/dovecot.conf
listen = *,::
ssl = no
protocols = imap lmtp
disable_plaintext_auth = no
auth_mechanisms = plain login
mail_access_groups = vmail
default_login_user = vmail
first_valid_uid = 2222
first_valid_gid = 2222
mail_location = maildir:/var/vmail/%d/%n

passdb {
    driver = passwd-file
    args = scheme=SHA1 /etc/dovecot/passwd
}
userdb {
    driver = static
    args = uid=2222 gid=2222 home=/var/vmail/%d/%n allow_all_users=yes
}
service auth {
    unix_listener auth-client {
        group = postfix
        mode = 0660
        user = postfix
    }
    user = root
}
service imap-login {
  process_min_avail = 1
  user = vmail
}

-Generamos contraseñas para las cuentas de email. Una por cada cuenta
doveadm pw -s sha1 | cut -d '}' -f2 >>/etc/dovecot/passwd

-Editamos y agregamos las cuentas delante de la contraseña separadas por :
vi /etc/dovecot/passwd
info@test.com:yozM9OB/1DA9grwyQY5EUcPNWT0=
info@cualquierotrodominio.com:meMcG94PO7fGKZ4Pd4aV6JEFgaY=

-Modificamos permisos
chown root: /etc/dovecot/passwd
chmod 600 /etc/dovecot/passwd

Iniciamos servicios Postfix / Dovecot en Linux Centos

-Iniciamos los servicios de postfix y dovecot, ademas de activarlos para su ejecución cuando haga boot el servidor
systemctl restart  postfix
systemctl enable postfix
systemctl restart  dovecot
systemctl enable dovecot

-Hacemos pruebas de recibir y enviar mails desde un cliente de email, por ejemplo, thunderbird
DriveMeca instalando y configurando Postfix multi domain paso a paso.

Este es un ejemplo sencillo de manejo de múltiples dominios o dominios virtuales por medio de postfix con dovecot. Este servidor podrá ir creciendo junto con tus necesidades sin gran trabajo o gasto de recursos.

Artículos recomendadosComo configurar una dirección IP estática en Centos 7
                                           Instalación modo gráfico en Linux Centos
                                           Instala los repositorios RPMForge / Epel / Remi

Usas postfix con dominios virtuales? Usas dovecot para manejar conexiones imap/pop3? Que tal te pareció este articulo, lo pondrás en practica? Te gusto el articulo? hazme un favor, compártelo en tus redes sociales (compartir es sexy). Escríbeme en los comentarios aquí debajo y pasa la voz compartiendo el tweet.

Sígueme en twitter google+facebook o email y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.

Share/Bookmark

Como eliminar fecha y hora de articulos de Blogger

DriveMeca eliminando fecha y hora de artículos de Blogger paso a paso
Eres blogger y usas la plataforma de Google Blogger para tu pagina y cada vez te queda menos tiempo para publicar nuevo contenido. Aunque tus artículos son vigentes con el pasar del tiempo, a muchos posibles lectores no piensan igual por la fecha publicada en ellos y por eso en este articulo te mostrare paso a paso como eliminar la fecha y hora de tus artículos en Blogger.
La técnica o concepto de publicar contenido que perdure por un buen tiempo se llama Evergreen (algo así como reciclado) y nos permite tener esta información para nuestros lectores o clientes disponible sin importar que hayan pasado meses/años desde que la publicamos originalmente. La ventaja es que seguiremos recibiendo trafico por ella aun con el pasar del tiempo y cuando ya este desactualizada es tan sencillo como hacerle las modificaciones y listo, queda disponible para mas lectores. Ya con esta breve introduccion, comencemos las modificaciones a nuestro blog en Blogger en español

Requerimientos para eliminar fecha y hora de Blogger

  • Contar con un blog o pagina  en Blogger
  • Tener contenido publicado evergreen


-Como saber si tus articulos en Blogger tienen o no fecha visible? Sencillo, visita tu pagina y veras encima del titulo de cada entrada publicada el dia y fecha. Esto es lo que eliminaremos y asi no se mostrara ni en tu pagina de Blogger ni en los resultados de búsqueda de google (esto ultimo puede que demore mientras los robots indexan tu sitio)
DriveMeca eliminando fecha y hora de artículos de Blogger paso a paso

-Ya verificado que si nos aparecen los artículos publicados con fecha, entramos al dashboard de nuestro blogger y nos vamos a la opción Diseño del menú vertical a la izquierda
DriveMeca eliminando fecha y hora de artículos de Blogger paso a paso

-Bajamos un poco hasta encontrar el widget Entradas del blog, le damos click a su opción Editar
DriveMeca eliminando fecha y hora de artículos de Blogger paso a paso

-Nos aparecerá una nueva ventana donde debemos desmarcar la primera y tercera opción debajo de Opciones de la pagina de entrada. Si te fijas, la primera a desmarcar tiene un ejemplo de día y fecha como aparecerá y la tercera a desmarcar tiene la hora
DriveMeca eliminando fecha y hora de artículos de Blogger paso a paso

-En la misma ventana bajamos hasta el final y damos click al botón Guardar
DriveMeca eliminando fecha y hora de artículos de Blogger paso a paso

Ya con este ultimo paso eliminamos de nuestros artículos ya publicados y los futuros por venir la fecha y hora, permitiéndonos contar con información que pareciera que no envejece y sea del gusto lo mismo de nuestros lectores como de Google a la hora de mostrar resultados de búsqueda.
Tienes tu blog en blogger con fechas, no te importa mostrarlas?, escríbeme en los comentarios aquí debajo y pasa la voz compartiendo el tweet.

Sígueme en twitter google+facebook o email y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.

Share/Bookmark

Como instalar NRPE en Nagios paso a paso

DriveMeca instalando monitoreo remoto de Nagios con NRPE
No te conformas con solo verificar uptime de otros equipos por medio de Nagios, quieres hacerlo sin quitar tus firewalls? Entonces necesitas leer este articulo en el cual mostrare como instalar NRPE en Nagios paso a paso para monitorear un equipo Linux Ubuntu. Las siglas NRPE quieren decir Nagios Remote Plugin Executor que viene a ser ejecutor de plugin remoto Nagios.
NRPE se instala en el servidor Nagios y en los equipos (servidores y equipos desktop Linux) a los cuales no podemos acceder por firewall o  porque queremos sacar info como usuarios logeados, espacio en disco, etc lo cual normalmente solo es posible chequear localmente. Por tanto debemos instalar (compilar) lo mismo en el servidor que en el cliente.

Requerimientos para NRPE en servidor y cliente

  • Accesos de root al servidor Nagios
  • Accesos de root a los equipos monitoreados

IP's de equipos:

Servidor: 10.10.10.4
Cliente Ubuntu: 10.10.20.33

Primeros pasos en Servidor Nagios con NRPE

-Descargamos, descomprimimos y entramos a su directorio
wget -c http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz
tar xzvf nrpe-2.15.tar.gz
cd nrpe-2.15

-Compilamos e instalamos
./configure 
...
..
*** Configuration summary for nrpe 2.15 09-06-2013 ***:

 General Options:
 -------------------------
 NRPE port:    5666
 NRPE user:    nagios
 NRPE group:   nagios
 Nagios user:  nagios
 Nagios group: nagios

make all
cd ./src/; make ; cd ..
make[1]: Entering directory `/root/nrpe-2.15/src'
gcc -g -O2 -I/usr/include/openssl -I/usr/include -DHAVE_CONFIG_H -I ../include -I ./../include -o nrpe ./nrpe.c ./utils.c ./acl.c -L/usr/lib64  -lssl -lcrypto -lnsl -lwrap  
gcc -g -O2 -I/usr/include/openssl -I/usr/include -DHAVE_CONFIG_H -I ../include -I ./../include -o check_nrpe ./check_nrpe.c ./utils.c -L/usr/lib64  -lssl -lcrypto -lnsl 
make[1]: Leaving directory `/root/nrpe-2.15/src'

*** Compile finished ***

Pasos en equipo Ubuntu Linux a monitorear con NRPE

-Abrimos una consola e instalamos dependencias
sudo apt install libssl-dev apt-file xinetd

-Actualizamos cache y buscamos. OJO, en el caso de un equipo de 64bits, el path sera diferente, por eso es mejor buscarlo con apt-file
sudo apt-file update

sudo apt-file search libssl | grep libssl-dev
libssl-dev: /usr/lib/i386-linux-gnu/libssl.a
libssl-dev: /usr/lib/i386-linux-gnu/libssl.so
libssl-dev: /usr/lib/i386-linux-gnu/pkgconfig/libssl.pc
libssl-dev: /usr/share/doc/libssl-dev/changelog.Debian.gz
libssl-dev: /usr/share/doc/libssl-dev/changelog.gz
libssl-dev: /usr/share/doc/libssl-dev/copyright

-Descargamos, descomprimimos y entramos a su directorio
wget -c http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz
tar xzvf nrpe-2.15.tar.gz
cd nrpe-2.15

-Compilamos tomando el path para with-ssl-lib del paso anterior con apt-file
./configure --with-ssl=/usr/bin/openssl --with-ssl-lib=/usr/lib/i386-linux-gnu
...
..
*** Configuration summary for nrpe 2.15 09-06-2013 ***:

 General Options:
 -------------------------
 NRPE port:    5666
 NRPE user:    nagios
 NRPE group:   nagios
 Nagios user:  nagios
 Nagios group: nagios

-Terminamos de compilar
make all

-Nos creamos el usuario nagios para ejecutar nrpe cuidando de colocarle contraseña cuando lo pida
sudo adduser nagios

-Copiamos el nrpe binario y su cfg
sudo mkdir -p /usr/local/nagios/etc /usr/local/nagios/bin /usr/local/nagios/libexec
sudo cp sample-config/nrpe.cfg /usr/local/nagios/etc/
sudo cp src/nrpe /usr/local/nagios/bin/
sudo chown -R nagios.nagios /usr/local/nagios

-Modificamos el cfg para agregar la ip del servidor Nagios. En mi caso, el disco es un SATA (partición sda5) por lo cual modifico el comando para verificar espacio en disco. Salimos guardando
sudo vi /usr/local/nagios/etc/nrpe.cfg
allowed_hosts=127.0.0.1,10.10.10.4
command[check_sda5]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda5

-Habilitamos la conexión a través de iptables.  Salimos guardando
sudo vi /etc/hosts.allow
nrpe: 10.10.10.4
nrpe: 127.0.0.1

-Copiamos y configuramos el xinetd para ejecutar el nrpe
sudo cp sample-config/nrpe.xinetd /etc/xinetd.d/nrpe
sudo service xinetd reload

-Probamos funcione y salimos presionando Control ]
telnet localhost 5666
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
^]

telnet> quit

-Descargamos los plugins de Nagios y comenzamos a compilar
cd 
wget -c http://www.nagios-plugins.org/download/nagios-plugins-2.1.1.tar.gz
tar xzvf nagios-plugins-2.1.1.tar.gz
cd nagios-plugins-2.1.1
./configure

-Compilamos
make
sudo make install

Pasos para ejecutar NRPE en Nagios

-Copiamos el plugin y cambiamos sus atributos
cp src/check_nrpe /usr/local/nagios/libexec/
chown nagios.nagios /usr/local/nagios/libexec/check_nrpe
chmod 755 /usr/local/nagios/libexec/check_nrpe

-Creamos el comando para NRPE
vi /usr/local/nagios/etc/objects/commands.cfg
define command{
        command_name check_nrpe
        command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -t 30 -c $ARG1$
}

-Hacemos una copia de un cfg para crear el de nuestro equipo Linux Ubuntu y mas adelante de otros Linux
cp /usr/local/nagios/etc/objects/localhost.cfg /usr/local/nagios/etc/objects/ubuntu.cfg

-Modificamos el fichero y agregamos los datos del equipo ubuntu (host) y el servicio para chequear el disco /
vi /usr/local/nagios/etc/objects/ubuntu.cfg
define host{
        use                     linux-server
        host_name         bcksrv
        alias                   Servidor Ubuntu BackupPC
        address              10.10.20.33
        }

define service{
        use                             local-service         
        host_name                 ubuntu
        service_description   Disk
        check_command       check_nrpe!check_sda3
        }

-Activamos el nuevo grupo, colocamos nuestra zona horaria y el email del administrador
vi /usr/local/nagios/etc/nagios.cfg
cfg_file=/usr/local/nagios/etc/objects/linux.cfg
use_timezone=America/Bogota
admin_email=admin@gmail.com

-Corregimos permisos
chown nagios.nagios /usr/local/nagios/etc/objects/*

-Verificamos y reiniciamos Nagios
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
service nagios reload

-Abrimos un browser y ya nos debe aparecer el equipo Ubuntu con NRPE. Ya seria agregar mas cosas a monitorear por medio de NRPE
DriveMeca instalando monitoreo remoto de Nagios con NRPE

Nagios es una potente herramienta de monitoreo de dispositivos, equipos, etc y una forma relativamente sencilla de agregarlos es por medio de NRPE para poder colocar mas chequeos locales. Que tal te pareció este articulo, ya usas Nagios con NRPE, como te va con la solución, escríbeme en los comentarios aquí debajo y pasa la voz compartiendo el tweet.

Sígueme en twitter google+facebook o email y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.

Share/Bookmark