martes, 20 de octubre de 2009

Configurar SNTP en un DELL PowerConnect 6248


Me he pegado un par de días luchando con unos switches de DELL de la serie PowerConnect para que estén todos sincronizados contra el equipo central de la red que es el controlador del dominio.

En principio la tarea es bastante sencilla. De hecho no fue muy complicada cuando configuré los 2 switches DELL PowerConnect 6024.
  1. Accedes vía interfaz de gestión web al switch
  2. Accedes al menú Home -> System -> General -> Time Synchronization. Seleccionas "SNTP" en el desplegable "Time Source", marcas GMT+1 en el Time ZOne Offset, activas la casilla de "daylight saving", marcas "European" y aplicas cambios
  3. Accedes al menú Home -> System -> SNTP -> Servers y pulsas el botón "Add" para añadir un nuevo servidor ntp (tienes que poner la IP, no un nombre DNS), amrcas Poll interval y en el desplegable pones enabled. Pulsa apply changes
  4. Accedes al menú Home -> System -> SNTP ->Global Settings y pones en poll interval 1024 (por ejemplo) dejas en "Disabled" las opciones "Receive Broadcast Servers Updates" y "Receive Anycast Servers Updates" y dejas marcadas las opciones "Receive Unicast Servers Updates" y "Send Unicast Requests". Pulsas apply changes y listo
Me dio un poco de mal encontrar que lo de las zonas horarias estaba en otro sirio que la configuración SNTP, pero bueno, no fue demasiado.

El caso es que ac ontinuación y con la emoción de verlo todo en marcha, intento aplicar lo mismo en 3 switches dell powerconnect 6248 y no hay manera.

En primer lugar me ecnuentro que en vez de haber dos menús como en el otro modelo, aquí hay tres:
  • Home -> System -> general -> Time Zone
  • Home -> System -> general -> Summer Time
  • Home -> System -> SNTP 
Las diferencias principales en estos puntos son:
Home -> System -> general -> Time Zone. Hay que poner los siguientes valores
  • Hours offfset: 1
  • Minutes offset: 1
  • Zone: es
Home -> System -> general -> Summer Time Hay que poner los siguientes valores

  • Summertime: enable
  • Recurring: marcado
  • Location: "EU"
  • Offset: 60
  • Zone: es
 En Home -> System -> SNTP -> GLobal Settings  marcar:
  • SNTP client:: enable
  • POLL interval: 1024
  • receive broadcast: disable
  • receive unicast: enable
Y ahora viene lo bueno: si añades en la sección de NTP server un servidor, este no se activa y no hay ningún botón para hacerlo (obviamente se les ha olvidado meterlo en el interfaz web) así quehay que entrar por telnet en el switch y lanzar los siguientes comandos:
  • ena
  • conf
  • sntp server IPDELSERVIDORNTP poll
Solo de esta manera se añade y habilita el servidor, de otro modo, se queda "colgado".

Toda una odisea en la que me he tenido que pegar con servidores y clientes ntp en linux, firewalls, rutas y otros temas para no dormir... Espero que tú puedas dormir mejor

viernes, 2 de octubre de 2009

Instalar awstats en Ubuntu 8.04 Hardy Heron sobre Amazon (EC2)

Definamos el entorno:
  • Plataforma de cloud computing de Amazon
  • Imagen customizada de Ubuntu 8.04 LTS (Hardy heron) con base una de alestic 
  • Volumen EBS en el que se almacenan las bases de datos, ficheros de configuración principales, páginas web, etc.
  • Apache con PHP y MySQL (y mucho más...)
¿Qué es lo que quería?
Algo tan sencillo como instalar awstats para poder ver las estadísticas de la página web alojada. ¿Sencillo? nada más alejado de la realidad: Los múltiples tutoriales que pude ver tanto en la web oficial como en otras personales no acertaban. Al final tuve que hacer un remix total y poner de mi parte, así que ahí va mi experiencia
. Asumo que accedes como root, si no estás como usuario root haz "sudo su -"
  • Paso 1 - Instalar AWSTATS: apt-get install awstats. Hasta aquí todo sencillo. Si te pide dependencias pues le dices que adelante.
  • Paso 2 - Crear un fichero de configuración de awstats. Para ello creas un archivo nuevo /etc/apache2/conf.d/awstats.conf (en mi caso está en /vol/etc/apache2/conf.d/awstats.conf porque /vol es el volumen persistente EBS de Amazon) Le tienes que poner el siguiente contenido: Alias /awstatsclasses "/usr/share/awstats/lib/"

    Alias /awstats-icon/ "/usr/share/awstats/icon/"

    Alias /awstatscss "/usr/share/doc/awstats/examples/css"

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

    ScriptAlias /awstats/ /usr/lib/cgi-bin/

    Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
     
  • Paso 3 - Comprobar que este archivo se cargará con apache2. Por si acaso, verifica que en el fichero de apache2.conf (/etc/apache2/apache2.conf, pero en mi caso es /vol/etc/apache2/apache2.conf), al final debe aparecer una directiva como esta: "Include /etc/apache2/conf.d/" (en mi caso Include /vol/etc/apache2/conf.d/)
  • Paso 4 - Configurar el host virtual. Ahora viene lo que en muy pocos sitios te dicen, configurar el host virtual en apache. Para ello, en el directorio /etc/apache2/sites-enabled (o el que estés usando en tu instalación) debes editar el fichero que haya dentro, relativo al sitio del que quieres analizar y añadir antes de "" (en mi caso le he puesto más cosas para que esté autentificado el acceso y no permitir la visita pública)

    Alias /awstats "/usr/lib/cgi-bin/"

    <Directory "/usr/lib/cgi-bin/">

    AuthName "Estadísticas Awstats"

    AuthType Basic

    AuthUserFile /vol/www/pass

    require valid-user

    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch

    </Directory>



  • Paso 5 - Ahora falta que pongas el fichero de configuración en su sitio. Ejecuta lo siguiente: cp /usr/share/doc/awstats/examples/awstats.model.conf.gz /etc/awstats/
    cd /etc/awstats
    gunzip awstats.model.conf.gz
    mv awstats.model.conf awstats.wwww.misitioweb.org.conf
  • Paso 6 - Edita el fichero .conf (al que le has metido el nombre de tu web en el nombre del archivo, el awstats.wwww.misitioweb.org.conf): y pon especial atención en los siguientes puntos:
    • LogFile="/usr/share/doc/awstats/examples/logresolvemerge.pl /var/log/apache2/*access.log |"
      Este es interesante porque te coge todos los logs (así no te coge solamente el último si usas logrotate, que viene por defecto)
    • SiteDomain="misitioweb.org"
    • DNSLookup=1
      Para recuperar DNS, no solo IPs
    • DirData="/var/lib/awstats"
    • DirCgi="/usr/lib/cgi-bin"
    • DirIcons="/awstats/icon"
      Este me dio muchísimo mal!!!, luego explico un paso adicional y necesario
  • Paso 6 - Poner los iconos donde los busca:
    • cp  /usr/share/awstats/icon  /usr/lib/cgi-bin/
  • Paso 7 - Hacer un reload del apache con /etc/init.d/apache2 reload
  • Paso 8 - Acceder a http://www.misitioweb.org/awstats/awstats.pl y disfrutar
  • Paso 9 - Meter en el cron la ejecucion / procesado de las estadística (crontab -e)y añades la siguiente línea para que se procesen cada hora: 0 * * * * /usr/bin/perl /usr/lib/cgi-bin/awstats.pl -update -config=www.misitioweb.org
   Espero que os ahorre muchas vueltas por google

Cómo crear una imagen AMI en Amazon S3

Bueno, empezamos con temas con "chicha".

En estos últimos meses he estado trabajando con entornos desplegados sobre la red de Amazon. Muy interesantes.

Una de las tareas habituales es hacer una imagen de nuestra máquina "customizada" para que sea nuestra "base" y poder levantarla más tarde si la tenemos que apagar por la razón que sea.

Esto que pongo ya es el paso final, pero seguro que a alguien le viene muy bien ya que es la tarea que se repite luego una y otra vez
  • Paso 1: Crear la imagen en local:
    •  ec2-bundle-vol -d Directoriodedestino -c CertificadoX509 -k Claveprivada -u CódigodeusuarioAWS -e DirectorioExcluido -p Nombre_de_la_imagen
    • Ejemplo: ec2-bundle-vol -d /mnt -c /ec2-api-tools/X509Cert.pem -k /ec2-api-tools/PrivateKey.pem -u 1324-1234-1234 -e /vol -p ubuntu804_pruebas_v04
  • Paso 2: Subir la imagen a un "bucket"
    •  ec2-upload-bundle -b nombredelbucket -a clavedeaccesoamazon -s claveecretamazon --location EU -m rutadelxmldelaimage
    • Ejemplo: ec2-upload-bundle -b edu_pruebas -a AAAAAAAAAAAAAAAAAAAA -s SSSSSSSSSSSSSSSSSSSSS --location EU -m /mnt/ubuntu804_pruebas_v04.manifest.xml
  • Paso 3: Registrando la ami en amazon (para uso privado)
    • ec2-register nombredelbucket/nombredelxmldelaami --region eu-west-1
    • Ejemplo: /ec2-api-tools/bin/ec2-register --region eu-west-1 edu_pruebas/ubuntu804_pruebas_v04.manifest.xml
Si necesitas que te eche una mano en temas de amazon, intentaré hacerlo.

Post inaugural

Pues nada, que como hace días que estoy generando para mi propio uso tutoriales de temas tecnológicos en general, me he propuesto crear mi propio blog para ayudar a otros y para que me sirva de libro de notas personal. Dos pájaros de un tiro.

Si me lo guardo en documentos luego no los encuentro, así que este es un soporte ideal.

Si queréis colaborar ya sabéis dónde se os puede publicar.

Por cierto, iré poniendo cosas de estas em mi twitter, puedes seguirme!!