Instalar y configurar cliente y servidor de hora NTP en CentOS 5

Hoy en día resulta muy importante tener nuestros equipos con la hora adecuada, tanto para saber a que hora suceden eventos, así como para simplemente enviar y/o recibir correo de forma adecuada.

Si se trata de un entorno laboral/empresarial esta actividad pasa a ser una norma, pues de esta forma estaremos seguros de los registros generados en los sitemas y de esta forma realizaremos seguimiento de forma acertada utilizando los registros del sistema.

Puede hallar una definición formal del protocolo NTP en: wikipedia

Instalamos y configuramos la parte cliente de NTP

Para cambiar la zona horaria en sistemas operativos basados en CentOS 5.4 es necesario validar que se encuentra instalado el paquete que nos permitirá establecer la zona horaria en la que nos encontramos, con el comando:

# yum list tzadata.noarch

Y la salida debería ser:

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* addons: mirrors.tummy.com
* base: mirrors.igsobe.com
* extras: centos.corenetworks.net
* updates: mirror.raystedman.net
Installed Packages
tzdata.noarch        2009k-1.el5           installed
tzdata.noarch        2009u-1.el5           installed

En caso que no esté instalado, proceda a instalarlo con el comando:

# yum install tzdata.noarch

Y luego proceda a configurar la zona horaria con el comando:

tzselect

Responde al asistente escogiendo tu zona horaria por ejemplo: América y luego Caracas.

Ahora bien, para crear un servidor NTP como un cliente de otro servidor NTP para que la hora se actualice automáticamente de forma periódica el procedimiento es el siguiente:

* Instalar el programa ntpdate

# yum install ntp.i386

* Agregas una tarea programada para que actualice la hora cada 4 horas:

# crontab -e

* Dentro de la edición del crontab agregas la siguiente línea:

0 */4 * * * /usr/sbin/ntpdate -u 2.pool.ntp.org

Instalamos y configuramos la parte servidor de NTP

* Se debe instalar el paquete ntpdate como fue indicado anteriormente

* Modificar archivo de configuración /etc/ntp.conf con los siguientes valores:

# Permit time synchronization with our time source, but do not
# permit the source to query or modify the service on this system.
restrict default kod nomodify notrap nopeer noquery
#restrict -6 default kod nomodify notrap nopeer noquery

# Permit all access over the loopback interface.  This could
# be tightened as well, but to do so would effect some of
# the administrative functions.
restrict 127.0.0.1
#restrict -6 ::1

# Hosts on local network are less restricted.
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
server 0.centos.pool.ntp.org
server 1.centos.pool.ntp.org
server 2.centos.pool.ntp.org

#broadcast 192.168.1.255 key 42         # broadcast server
#broadcastclient                        # broadcast client
#broadcast 224.0.1.1 key 42             # multicast server
#multicastclient 224.0.1.1              # multicast client
#manycastserver 239.255.254.254         # manycast server
#manycastclient 239.255.254.254 key 42  # manycast client

# Undisciplined Local Clock. This is a fake driver intended for backup
# and when no outside source of synchronized time is available.
server  127.127.1.0     # local clock
fudge   127.127.1.0 stratum 10

# Drift file.  Put this in a directory which the daemon can write to.
# No symbolic links allowed, either, since the daemon updates the file
# by creating a temporary in the same directory and then rename()'ing
# it to the file.
driftfile /var/lib/ntp/drift

# Key file containing the keys and key identifiers used when operating
# with symmetric key cryptography.
keys /etc/ntp/keys

# Specify the key identifiers which are trusted.
#trustedkey 4 8 42

# Specify the key identifier to use with the ntpdc utility.
#requestkey 8

# Specify the key identifier to use with the ntpq utility.
#controlkey 8

# Permisos que se asignara para cada servidor de tiempo.
# En los ejemplos, no se permite a las fuente consultar, ni
# modificar el servicio en el sistema ni enviar mensaje de
# registro.
restrict 0.centos.pool.ntp.org mask 255.255.255.255 nomodify notrap noquery
restrict 1.centos.pool.ntp.org mask 255.255.255.255 nomodify notrap noquery
restrict 2.centos.pool.ntp.org mask 255.255.255.255 nomodify notrap noquery

# Se Activa la difusion hacia los clientes
broadcastclient

* Iniciar el servicio con:

# service ntpd start

* Agregar el servicio para que se inicie de forma automática con el sistema:

# chkconfig ntpd on

* Finalmente permitir al firewall recibir solicitudes de ntp de nuestros clientes agregando al archivo: /etc/sysconfig/iptables la siguiente línea:

-A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 123 -j ACCEPT

Antes de la línea:

-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited

* Reiniciamos el firewall:

# service iptables restart

Y listoooooooooo ya tenemos nuestro propio cliente y servidor de hora NTP ¡¡¡¡¡
Si teneis alguna duda, comentarla¡¡¡

Instalar Memcached en CentOS 5.3

Memcached is a generic purpose distributed high performance memory object caching system to use in speeding up dynamic database driven websites by caching data and objects in memory to reduce the amount the database needs to be read.

Memcached was originally developed by Danga Interactive for LiveJournal but is now used by many popular and large community driven websites like Slashdot, Wikipedia, SourceForge, GameFAQs, Facebook, Digg, Fotolog, Kayak and like. It is being distributed under a permissive free software licence. Know more about who all are using memcached

Things to consider before Installing memcached.

  1. First, decide how much memory you want to give memcached to use for caching.
  2. Then decide if you want to run memcached on the default port (11211) or not.
  3. Next decide if you want memcached to listen to a specific IP address if you have multiple IP addresses on your server
  4. Finally decide, what user you want to run memcached as; typically, you want to run it using Apache user so that Apache processes can access memcache data

Installation Process

1. If you don’t have rpmforge installed, follow this step.

wget http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
rpm –install rpmforge-release-0.3.6-1.el5.rf.i386.rpm
yum install –enablerepo=rpmforge memcached

2. Start memcached.

memcached -d -m 512 -l 127.0.0.1 -p 11211 -u nobody

The “-m SIZE” is the flag for setting the memory requirements in MBs. Once this cache is filled memcache will just start to overwrite with newer content. Please experiment with this setting to find what works best for you.

3. Install PHP extension.

wget http://pecl.php.net/get/memcache-2.2.5.tgz

4. Extract tar file.

tar -xvf memcache-2.2.5.tgz

5. Open the directory.

cd memcache-2.2.5

6. Install the memchaced PHP extension.

phpize && ./configure –enable-memcache && make

7.  Copy the extension.

cp modules/memcache.so {PHP extension directory}

8. Edit your php.ini and add the following line.

extension=memcache.so

9. Last is restart your webserver.

10. If you check your server using a phpinfo page you should now see a MemCache section on the page. You can now fully use the MemCache functionality in your PHP.

memcached pre-requissites

yum -y install libevent libevent-devel

How to make memcached run automatically when you restart your server?. Add this line to rc.local

#!/bin/sh
echo “# Start memcached” >> /etc/rc.local
echo “/usr/local/bin/memcached -d -m 1024 -u httpd -l 127.0.0.1″ >> /etc/rc.local

How to have a multiple memcached server.

Create LocalSettings.php file and this line.

$wgMainCacheType = CACHE_MEMCACHED;
$wgParserCacheType = CACHE_MEMCACHED; # optional
$wgMessageCacheType = CACHE_MEMCACHED; # optional
$wgMemCachedServers = array( “127.0.0.1:11211″ );

$wgSessionsInMemcached = true; # optional

To use multiple servers (physically separate boxes or multiple caches on one machine on a large-memory x86 box), just add more items to the array. To increase the weight of a server (say, because it has twice the memory of the others and you want to spread usage evenly), make its entry a subarray:

$wgMemCachedServers = array(“127.0.0.1:11211″, # one gig on this box
array(“127.0.0.1:11211″, 2 ) # two gigs on the other box
);

Security Note:

Memcached has no security or authentication. Please ensure that your server is appropriately firewalled,
and that the port(s) used for memcached servers are not publicly accessible. Otherwise, anyone on the internet can put data into and read data from your cache.

ENJOY FRIENDS AND MAKE EASY¡¡¡¡¡¡¡¡¡¡¡

Ajuste de los relojes de sistema y BIOS en Linux

Para ajustar la hora del BIOS utilizamos el comando hwclock de la siguiente manera:

  # hwclock --set --date hh:mm

Para verificar que efectivamente hemos realizado el cambio, podemos ver el reloj del Hardware con la opción –show, de la forma siguiente:

  # hwclock --show
  Sun 21 Feb 2010 11:44:23 PM CET  -0.468872 seconds

Ahora ajustamos el reloj del sistema con el comando:

  # hwclock --hctosys

Lo anterior copia la fecha y hora del reloj del BIOS al reloj del sistema, es decir, sincroniza ambos relojes. Finalmente, para comprobar que nuestros comandos surtieron efecto, pedimos la fecha y hora del sistema con date.

  $ date
  Sun Feb 21 23:44:40 CET 2010

Activar SpamAssassin para todos los emails en Plesk

Os digo los pasos para activar el filtro Spamassassin para todos los emails creados en un servidor con panel de control Plesk.

  1. Entramos como root via ssh
  2. Entramos como root al servidor mysql con:  mysql -u(usuarioroot) -p(password)
  3. Elegimos la base de datos psa que es la que usa el panel de control Plesk : use psa;
  4. A continuación tipeamos esta query/update para activar spamassassin en todos los emails creados en Plesk: UPDATE mail SET spamfilter = 'true' WHERE postbox = 'true';
  5. Finalmente nos salimos del entorno del servidor mysql tipeando exit
  6. Y ya para terminar de activar el filtro spamassasin en todos los emails en plesk reescribimos los archivos de configuración del email con :
    /usr/local/psa/admin/bin/mchk --with-spam

    NOTA: si el archivo mchk nos dice que no se encuentra en esa ruta hacemos un locate mchk y vemos donde se encuentra

Descargar todo el contenido de un FTP a local mediante lftp

Mediante lftp y el comando “mirror” podemos copiar todo el contenido de un FTP.

Lo podemos instalar mediante yum:

# yum install lftp -y

A continuación os explico su uso es muy simple, ejecutamos lftp con el nombre del servidor a conectar. A continuación mediante el comando “user” indicamos usuario y contraseña. Finalmente mediante “mirror” y el destino de los ficheros podemos copiar todo el contenido del FTP al sistema local:

# lftp ftp.blogofsysadmins.com
lftp ftp.blogofsysadmins.com:~> user testuser
Password:
lftp testuser@ftp.blogofsysadmins.com:~> mirror .
Total: 2020 directories, 28035 files, 0 symlinks
New: 23805 files, 0 symlinks
63503236708 bytes transferred in 1059 seconds (585.5K/s)
lftp testuser@ftp.blogofsysadmins.com:/> exit