Instalar driver de MongoDB para Php en Ubuntu

Instalar el driver de mongo para php me resulto un poco caótico, pero al final estos pasos son lo que funcionaron en un Ubuntu 14.04

Instalar dependencias:
$ sudo apt-get install php5-dev php-pear

Instalar driver con PECL (PHP Extension Community Library):
$ sudo pecl install mongo

Habilitar extensión:
# echo "extension=mongo.so" > /etc/php5/mods-available/mongo.ini
# php5enmod mongo

Verificar que extensión este disponible
$ php -i | grep mongo

Este debe ser el resultado, es la misma información que despliega con phpinfo():
/etc/php5/cli/conf.d/20-mongo.ini,
mongo
mongo.allow_empty_keys => 0 => 0
mongo.chunk_size => 261120 => 261120
mongo.cmd => $ => $
mongo.default_host => localhost => localhost
mongo.default_port => 27017 => 27017
mongo.is_master_interval => 15 => 15
mongo.long_as_object => 0 => 0
mongo.native_long => 1 => 1
mongo.ping_interval => 5 => 5

Reinciar apache:
$ sudo service apache2 restart

Listo!

Instalación de drivers de Netezza en Ubuntu para usar con PHP

Netezza es un appliance de IBM diseñado para el análisis de una gran cantidad de datos en poco tiempo. Los drivers se pueden descargar de la página de IBM, pero en este caso ya los tenía en el servidor. Utiliza un fork de PostgreSql bajo un arquitectura Red Hat. Para conectarme desde Ubuntu seguí este procedimiento:

Instalar unixodbc
# apt-get install unixodbc
unixodbc crea un archivo odbcinst.ini en /etc/ que se sobreescribe con archivo de driver (mas adelante).

Preparar subdirectorio para descargar software
$ mkdir nz-client
Copiar driver de Netezza (en esta ruta también estan los de windows)
$ scp nz@:/home/nz/nps_client_software/nz-linuxclient-v7.0-P4.tar.gz .
Descomprimir software
$ tar -xzvf nz-linuxclient-v7.0-P4.tar.gz
Instalar driver en /usr/local/nz
# ./linux64/unpack

Copiar archivos de configuracion
$ cp /usr/local/nz/lib64/odbc.ini.sample ~/odbc.ini
$ sudo cp /usr/local/nz/lib64/odbcinst.ini.sample /etc/odbcinst.ini

Configurar variables de entorno
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/nz/lib64
$ export ODBCINI=/home/desarrollo/odbc.ini
$ export NZ_ODBC_INI_PATH=/home/desarrollo
$ export PATH=$PATH:/usr/local/nz/bin64

Prueba con nzodbcsql (programa para probar el driver ODBC de Netezza).
$ nzodbcsql -h -d -u -p

Editar archivos de configuración (Servername, Database, Username, Password)
$ vim ~/odbc.ini
Editar linea si arquitectura es x64
$ vim ~/odbcinst.ini
Driver = /usr/local/nz/lib64/libnzodbc.so

Instalar modulo de odbc para php
# apt-get install php5-odbc

Reiniciar apache para cargar modulo
# service apache2 restart

Prueba con consola de php
$ php -a
php> $conn = odbc_connect("DRIVER={NetezzaSQL};Server=host;Database=db","usuario","password");
php > $qry = 'select count(*) c from tabla';
php > $result = odbc_exec($conn,$qry);
php > odbc_fetch_row($result);
php > echo odbc_result($result,'c');
40php >

¿Como saber que distribución Linux estoy usando, y si el sistema es de 32 o 64 bits?

Y que me da curiosidad por saber que distribución linux estoy usando:

$ lsb_release -a

LSB Version: :core-3.0-ia32:core-3.0-noarch:graphics-3.0-ia32:graphics-3.0-noarch
Distributor ID: CentOS
Description: CentOS release 4.4 (Final)
Release: 4.4
Codename: Final

Para ver el detalle de la máquina:

$uname -a

Linux mimaquina 2.6.18-348.4.1.el5 #1 SMP DDD MMM timestamp TZ YYYY i686 i686 i386 GNU/Linux

Si el resultado es x86_64, tiene un sistema de 64 bits, si es i386…i686 es de 32 bits.

ArchLinux rules!

Screenshot ArchLinux

El poder de apt-get no era para mi laptop (Dell Inspiron 5100), con Ubuntu 9.4 estaba sumamente lenta, pude usar Debian pero me dio flojera, Slackware me tento, pero tambien me dio flojera, y al final me decidi por Archlinux, y creo que fue una buena decisón.

Ahora tengo el poder de Pacman, ya extrañaba el “error: you cannot perform this operation unless you are root.“. Es muy parecido a Slackware, algunas configuraciones las tuve que hacer a patin, la instalación fue sencilla, y pacman y la resolucion de dependencias es la neta… no le pide nada a apt-get.

Razones para no usar Linux

En la lista de correos del ELUG me llego esto:

Las razones para no usar linux en casa:

1° Cuando compras una computadora viene con Windows y solo Windows, los
tontolinos como yo no sabemos ni siquiera instalar Windows, mucho menos
Linux.

2° Mi computadora con Windows también es inmune a los virus, porque Telmex
me ha vendido la solución, antivirus, antifairwal, anti intrusos, anti
terroristas y demás y solo pago como $100 pesos más al mes en mi recibo
telefónico. Si ellos dicen que estoy protegido, estoy protegido. ¿Por qué
habrían de mentirme?

3° Con linux no podia leer mis MP3, me dijeron que cambiara los
supositorios, pero nunca los encontré por más que voltee la computadora al
derecho y al reves.

4° Con Windows prendo la computadora y entra directamente y no tengo que
andar aprendiéndome nombre de usuario y contraseñas para poder usar mi
computadora, como sucede con Linux, además me pide contraseña de “root” y no
conozco a ninguna Ruth.

5° Linux descompone las computadoras, cuando prendo la computadora con Linux
empiezan a aparecer una pantalla negra con muchos códigos raros, al creer
que eran virus apagué la computadora del regulador y la volví a encender,
volvío a aparecer lo mismo, después de cerca de 20 intentos de prender y
apagar no volvió a prender y el técnico me dijo que se había dañado el disco
duro. Evidentemente la culpa es de Linux.

Dividiendo archivos PDF

Tengo un archivo PDF de 12Mb, pero en el iTouch no me permite vizualizarlo, asi que necesitaba dividirlo en archivos mas pequeños. Para hacerlo utilice el programa Pdftk. Para instalarlo:

$ sudo apt-get install pdftk

y para usarlo:

$ pdftk ArchivoOrigen.pdf cat 1-100 output ArchivoDestino1.pdf

1-100 se refiere al numero de pagina.

X Aniversario del ELUG

El Grupo de Usuario de Linux de Ensenada estan celebrando su X Aniversario, no estaria mal ir a darnos la vuelta por el puerto, minimo el viernes.

Este es el programa de los talleres que tendran:

Jueves 26:
11 AM a 1 PM
Diseño y Animación 3D con Blender
Editor de Documentos Técnicos
4 PM a 6 PM
OpenOffice Writer
Computación Científica
Desarrollo de Interfaces con Qt

Viernes 27:
11 AM a 1 PM
Diseño y Animación 3D con Blender
Linux y Entrada/Salida de datos por Puerto Paralelo y PCI
4 PM a 6 PM
OpenOffice Calc e Impress
Diseño Gráfico con GIMP e Inkscape
Programación de Videojuegos con SDL