Planeta Canaima

La semana pasada hubo un movimiento interesante en las lista de Canaima con respecto al planeta Canaima. Se procesaron varias solicitudes y, al día de hoy se cuenta con 32 activistas agregados al planeta Canaima.

En poco tiempo, se harán algunas implementaciones técnicas para mejorar algunos elementos y optimizar su funcionamiento.

Si desean ser agregados escriban a la lista de discusión de canaima y si no están inscritos en dicha lista, hagan la solicitud a mi correo personal.

Recuerden que para procesar la solicitud deben poseer una categoría de nombre Canaima.

Incrementando tamaño de attach en webmail

En la oficina tenemos varias tecnologías detrás del servicio de correo electrónico, una de ellas es la correspondiente al webmail. Acá usamos al venerable squirrelmail detrás de un proxy web; en cierto momento, hubo necesidad de aumentar el límite del tamaño del attach y para ello, se modificaron los siguientes parametros:

Para php: dos variables son claves, post_max_size y upload_max_filesize; adicionalmente, debe verificarse memory_limit y ese valor debe ser más superior al de las variables anteriores; recordar que estas variables pertenecen al archivo php.ini

Si se usa un proxy web: si nginx es el encargado de esta labor, recordar aumentar el límite en la variable client_max_body_size

Finalmente, si están detrás de un squid, la variable request_body_max_size debe ajustarse al tamaño requerido.

Ha muerto Dennis Ritchie

Uno de los hombres de la vieja escuela, su muerte ha pasado por debajo de la mesa en la mayoría de medios que hace poco deliraron con la muerte de Steve. Esto no es una apología a la comparación, una muerte es una muerte sea de quien sea.

Dennis MacAlistair Ritchie, padre de Unix y C bases de la mayoría de desarrollos tecnológicos que existen hoy día, fue uno de los pioneros de la computación tal como la conocemos hoy día.

Paz a sus restos.

Proftp… tips para iniciarlo

Si después de instalar proftpd obtienes el siguiente error:

root@chia:/etc# /etc/init.d/proftpd start
ProFTPd warning: cannot start neither in standalone nor in inetd/xinetd mode. Check your configuration. 
root@chia:/etc#

La solución se encuentra cambiando el valor “no” a “yes” de la variable RUN que puedes ubicar en el archivo /etc/default/proftpd

¿Lloramos o reimos? Otra de cantv…

Los RFC están allí para ser cumplidos. Si no lo hacemos y alguien hace bien su trabajo pues será dictatorial y nada, no podremos intercambiar servicios con ellos.

En este sentido, desde hace unos días tenemos un problema en la empresa producto de las dinámicas propias de los ISP. Alquilamos un servidor con iweb y nos dieron varias ip. Luego de configurar los dns de manera adecuada, les solicitamos que nos delegaran los inversos respectivos lo cual hicieron.

En el transcurso de dicho procedimiento, no podíamos entregar correos al dominio cantv.net ya que nos ifnormaban que había un problema con nuestros inversos, ok.. entendido.

Días después fueron delegados los inversos respectivos y listo, todo bien, ya dominios como aol.com, que antes nos rebotaban los correos, permiten al entrega, pero… cantv.net no. Revisando lso logs encontramos que:

Aug 17 11:20:55 correo postfix/smtp[8545]: 010342ED60: to=<XXXXX@cantv.net>, relay=relay.cantv.net[200.44.32.36]:25, delay=3.7, delays=0.03/0.01/3.4/0.25, dsn=5.7.1, status=bounced (host relay.cantv.net[200.44.32.36] said: 550 5.7.1 <XXXXX@cantv.net>… Mail from 184.107.58.245 refused: Vea http://abuso.cantv.net/bl/dul.html (in reply to RCPT TO command))

Hmm.. visitamos el sitio para ver lo que está haciéndose mal y nos informan que nuestra ip parece ser dinámica; generamos un informe indicando que no utilizando la forma que elos ponen a disposición en esa página y….

Aug 17 11:36:07 correo postfix/smtpd[9473]: connect from unknown[192.168.1.1]
Aug 17 11:36:08 correo postfix/smtpd[9473]: NOQUEUE: reject: RCPT from unknown[192.168.1.1]: 504 5.5.2 <apache.cantv.com.ve@gcsi-tracker>: Sender address rejected: need fully-qualified address; from=<apache.cantv.com.ve@gcsi-tracker> to=<hector.colina@XXXXX> proto=ESMTP helo=<rs34s11.datacenter.cha.cantv.net>

WTF!!!!! me pides que configure un inverso, que mi ip no sea dinámica pero… WTF!!!! ¿no te tomas la molestia, trabajo de configurar una dirección válida para un sistema de reportes automatizado?

Así que mi servidor de correos te dice.. Nené… te reboto ya que tu dominio no es válido. Tú me pides pero… tú si puedes hacer las cosas mal… la impunidad del poder.

Tendré que usar dirección de gmail a ver si me llega el fulano correo de ese sistema de reportes…

¿Lloramos o reímos?

P.D. qué fácil se ganan los reales algunos en este país…

Recuperando pasword de root en mysql

Esta fue una pregunta que me hicieron hace poco: no recuerdo el password de root de mysql, ¿cómo puedo acceder a la consola de administración sin ese password?

En esencia, no se puede, _sin_un_password_ ahora, la pregunta es, ¿cómo genero, entonces, otro password?

Para poder hacerlo, se sigue el siguiente procedimiento.

1) Paramos el sevridor mysql con:

/etc/init.d/mysql stop

2) Seguidamente, necesitamos iniciar mysql en modo “seguro” y con unos flags especiales:

mysqld_safe --skip-grant-tables &

3) A partir de este punto tenemos un mysql realmente inseguro ya que permitirá que nos conectemos como root sin solicitarnos password, para ello:

mysql -u root

4) No obstante, nuestro objetivo es colocar un nuevo password al usuario root, así que, nos conectamos a la BD mysql, que es donde se guardan los usuarios:

use mysql;

5) Cambiamos el password del usuario root con:

update user set password=PASSWORD 
(“mi-nuevo-password-que-no-olvidaré”) 
where user=’root’;

6) Actualizamos los cambios:

flush privileges;

7) Llegados a este punto, ya tenemos un nuevo password para el usuario root, pero debemos decirle a mysql que deje de ejecutarse en modo especial y se ejecute en modo normal, así que:

/etc/init.d/mysql stop ; /etc/init.d/mysql start

9) Listo, de acá en adelante podrás conectarte con el usuario root utilizando “el-nuevo-password-que-no-olividarás”

Que disfruten la ayuda.

de

Password seguros con libpam-cracklib

Cuando administras máquinas virtuales o máquinas realaes y debes darle control a los usuarios sobre los equipos tienes dos opiciones, o usas sudo o le das el control completo del equipo al usuario “final”.

Ante esta última situación, hay que tomar precauciones obvias uan de ellas es usar libpam-cracklib

libpam-cracklib es una utilería antigua en el mundo de linux, está activa desde el año 1994 y ha sido mantenida y desarrollada por una gran cantidad de desarrolladores respetables como Olaf Kirch, Wietse Venema, Theodore Ts’o y otros.

Su instalación y uso en Debian es trivial, pero entendiendo su funcionamiento podrás tener equipos en los que la política de seguridad en cuanto al manejo de contraseñas es robusto.

A continuación detallamos su instalación y uso:

aptitude install libpam-cracklib

Con eso ya el sistema configura unos parámetros básicos que pueden ser revisados en /etc/pamd./common/password

password        requisite       pam_cracklib.so retry=3 minlen=8  difok=3
password        [success=1 default=ignore]      pam_unix.so obscure use_authtok try_first_pass sha512

Siempre acostubro a colocar las siguientes líneas para hacer más granular los password:

lcredit=0 ucredit=1 dcredit=1 ocredit=2

Para incrementar la seguridad obligando a usar combinaciones alfanumericas y mayúsculas

Que disfruten la ayuda

Fengoffice y Gantt

Fengoffice[1] es una herramienta excelente para la planificación de proyectos. Es realtivamente nueva y su uso y administración son bastante senciilos y amigables.

No obstante, una de los elementos que ma? se extrañan en ella es un generador de diagramas de gantt en base a los datos de los proyectos.

En este post, escribiremos la vía para integrar un generador de diagramas de gantt en fengoffice; las instrucciones asumen:

a) Que se posee una instalación totalmente funcional

b) Que la instalación de fengoffice está en el directorio /var/www/feng/

A continuación detallamos el procedimiento

a) Descargar http://www.isclassic.net/wp-content/uploads/2010/07/LabController.class.php_.zip hacia var/www/feng/application/controllers y descomprimirla allí

b) Crear carpeta lab en /var/www/feng/application/views

c) Modificar el  archivo /var/www/feng/public/assets/javascript/og/layout.js
y agregarle

// AEL – Begin mod to add Lab Panel to Feng Office

log.panels.lab  =  new og.ContentPan
  title: lang('Gantt'),
  id: 'labs-Panel',
  iconCls: 'ico-labs',
  refreshOnWorkspaceChange: true,
  autoscroll: false,
  defaultContent:  {
      type: "HTML",
      Data: '<iframe style="width:100%; height:100%; border:0" src="application/views/lab/index.php"> </iframe>'
   }
 }),

d) Agregar al archivo del lenguaje seleccionado para el fengoffice:

// AEL - Begin mod to add Lab Panel to Feng Office 
'Gantt' :  'Diagrama de Gantt' ,   
// AEL - End mod to add to Feng Office Lab Panel

e) Agregar al archivo  public/assets/themes/default/stylesheets/general/layout.css el siguiente texto:

.Ico-labs  { 
background-image :  URL ( ../../images/16x16/lab.png ) ! Important ; 
} 

f) En la carpeta application/views crear un archivo de nombre chartglobal.php y agregarle lo siguiente:

<?php 
$hostname_Feng  =  "localhost";           // fengoffice database server 
$database_Feng  =  "fengdeprueba";      // database name 
$username_Feng  =  "MariaChucena";      // database username 
$password_Feng  =  "CuidasuChoza";  // database password 
?>

g) Ingresar el contenido de http://www.isclassic.net/wp-content/uploads/2010/07/feng_gantt_13.1_update.sql_.zip a la BD de fengoffice

Con esto será suficiente, ya tendrá un fengoffice “tunning” con generador de diagramas de gantt

[1]http://www.fengoffice.com/web/

Working with xen images

Sometimes we need recover data stored into a xen image because the image is damaged.

How can do it?

1) Find the loop used by the xen  image (for example /dev/loop15)

2) Find the disk geometry using fdisk -lu

fdisk -lu /dev/loop15
Disk /dev/loop15: 3221 MB, 3221225472 bytes
255 heads, 63 sectors/track, 391 cylinders, total 6291456 sectors
Units = sectors of 1 * 512 = 512 bytes
Disk identifier: 0x000222d3
Device Boot      Start         End      Blocks   Id  System
/dev/loop15p1              63      257039      128488+  83  Linux
/dev/loop15p2          257040      755054      249007+  82  Linux swap / Solaris
/dev/loop15p3          755055     6281414     2763180   83  Linux

3) Now, we need identify the root file system, for example /dev/loop153

4) Now, we need find the root FS start, 755055, for example

5) And, we need to make the following operation 512 x 755055 = 386588160

6) And, now, tha black vodoo…

mount -o loop,offset=386588160 /disco/xen/maquinas/maquina16  /tmp/foo

7) Ready, patition mount in /tmp/foo directory

Rescue your data and enjoy it.

Error 413, apache2 y y nginx

Hace poco me encontré con el siguiente error:

413 request entity too large

Este error se presentaba cuando un usuario deseaba copiar un archivo mayor a N Mb hacia una carpeta compartida mediante dav.

La primera respuesta que intenté fue buscar los archivos de configuración de apache2 para ver si existía alguna directiva que limitase el upload del tamaño de los archivos… nada.

Luego recordé que dicho servicio estaba operando en una máquina virtual y que a la misma se accedía mediante un proxy http implementado con nginx.

Una pequeña búsqueda me devolvió que existe la siguiente directiva en nginx:

client_max_body_size 4M;
client_body_buffer_size 128k;

La cual implemeté en el proxy web y listo, pude permitir subir archivos de tamaño máximo previamente definido.

Que disfruten la ayuda