Translate

viernes, 2 de enero de 2009

INSTALAR LIBRERIA GD

Introducción

:: ¿Que es la Liberia GD?
Permite crear imágenes dinamicamente y manejar automáticamente el dimensionamiento, esto es utilizado en aplicaciones donde debemos mostrar datos en forma gráfica, como podrían ser las estadísticas de un sitio web.

:: Aplicaciones que utilizan estas Librerías
Las aplicaciones que suelen usar esta librería son los CM (Joomla, Drupal, Wordpress, etc) y ademas las plataformas para e-learning (Moodle, Dokeos, etc). También se utilizan para en aplicaciones propietarias, el sistema de seguridad para detectar si el que se registra es una persona física o lo están haciendo por intermedio de robot.

:: Considerandos
Esta explicacion esta basada sobre la instalacion realizado sobre un servidor Redhat 3AS Kernel 2.4 y donde el apache y php estan instalado desde archivos source (.tar), lo obliga a instalar todas las librerias de la misma forma. Pero si instalamos el apache y php con los sistemas yum o archvios rpm (RedHat), apt-get (Debian/Ubuntu), debemos emplear el mismo sistema para la instalacion de las librerias en cuestion.

Instalación

:: Panorama General
Para instalar las librería GD, necesitamos de antemano instalar y configurar las siguiente librerías:

zlib.tar.gz
jpeg-6b.src.tar.gz
libpng-1.2.5.tar.gz
freetype-2.1.3.tar.gz

Una vez listas las librerías mencionadas procedemos a instalar la librería GD en su versión:

gd-2.0.28.tar.gz

Desarrollo de la Instalación

Los paso a seguir son:

1°.- Instalación de librerías para compresión ZLIB

Es una biblioteca de compresion de datos, la cual originariamente fue echa para la libreria de imágenes libpng.
Si el sistema operativo no la tiene instalada debemos hacerlo descargando el archivo source zlib.tar.gz y hacer lo siguiente:

a.- Crear el directorio donde se instalara
b.- Descomprimir el paquete zlib en otro directorio
c.- Ejecutar entonces lo siguiente:

'./configure' \
'--prefix=/usr/local/zlib' \
'--libdir=/usr/local/zlib' \
'--enable-shared' \

Decimos que configure el archvio Makefile para que instale la libreria en el directorio mencionado en el prefix, que ademas el directorio lib (libdir) este dentro del enunciado por el prefix, y que pueda ser compartida con otras librerias (enable shared)

make
make install

2°.- Instalacion de la Libreria para manejo de las imagenes JPEG

Descomprimir el archvio en el lugar donde finalmente quedara instalado, y no neceditamos crear ningun directorio ya que al cuando termina la descompresion genera un directorio llamado "jpeg-6b". En el caso particular de www1 se encuentra en: /usr/local/jpeg-6b

tar zxvf jpeg-6b.src.tar.gz

Ejecutar lo siguiente

./configure
./ltmain.sh (demora bastante - crea el archivo .so)
make
make install

3°.- Instalación de la Liberia para manejo de las imágenes PNG
Descomprimir el archivo libpng-1.2.5 en un directorio creado para tal fin. Ingresar al directorio script y hacer:

cp makefile.linux ../Makefile

Luego modificar el archivo Makefile en las variables donde indica por default donde se intalara, el mejor directorio es en /usr/local/include, ya que por default PHP busca en ese directorio las librerias. Compilar e Instalar:

make
make install

En esta librería no se ejecuta el configure ya que no lo posee y es la forma descripta en la documentación.

4°.- Instalación de la Liberia para manejo de las fuentes Freetype.

Descomprimir el archivo freetype-2.1.3.tar.gz en un directorio creado para tal fin e ingresar al directorio donde se descomprimió el archivo tar y ejecutar lo siguiente:

./configure --libdir=/usr/local/include --with-zlib
make
make install

5°.- Instalación de la Liberia GD para el manejo de imágenes

Una vez instaladas las librerias detalladas arriba, se procederá a con la librería GD, descomprimir el archivo gd-2.0.28.tar.gz en un directorio donde quisieramos, luego creamos el directorio donde se instalara:

mkdir /usr/local/src/gd-2.0.28 (Directorio para descomprimir)
mkdir /usr/local/gd-2.0.28 (Directorio donde se instalara)

Se instala como todo paquete tar, osea con los siguiente pasos:

'./configure' \
'--prefix=/usr/local/gd-2.0.28' \
'--with-png=/usr/local/png' \
'--with-jpeg=/usr/local/jpreg-6b' \
'--with-freetype=/usr/local/include/freetype2' \
'--with-zlib' \

Nota:
Cuando termina de hacer la configuración (./configure ...) nos indica si encontró todas las librerías, caso contrario debemos recopilar nuevamente chequeando que los path son los correctos.

make
make install

Incluyendo GD en PHP

Para que la librería GD sea reconocida se deberá recompilar nuevamente el PHP, como se indica a continuación:

'./configure' \
'--with-apxs2=/usr/local/apache223/bin/apxs' \
'--prefix=/usr/local/apache223/php' \
'--with-pgsql' \
'--with-config-file-path=/usr/local/apache223/php/lib' \
'--enable-force-redirect' \
'--disable-cgi' \
'--with-zlib' \
'--with-zip' \
'--enable-dbase' \
'--enable-calendar' \
'--with-imap' \
'--with-kerberos' \
'--with-imap-ssl' \
'--enable-mbstring' \
'--with-gd' \
'--with-freetype-dir' \
'--with-png-dir' \
'--with-jpeg-dir' \
'--enable-gd-native-ttf' \
'--enable-gd-jis-conv' \
'--with-curl' \
'--with-gettext' \
'--with-ldap-sasl' \
'--with-gettext' \
'--with-gmp' \
'--with-readline' \

En este caso particular si no habilitaba estos dos modulos en php no funcionaba la libreria en el sitio "--enable-gd-native-ttf, --enable-gd-jis-conv".

make
make install

Terminado la instalación probamos en las aplicaciones que nos estaba demandando la libreria. Esto funcionan para Moodle y Drupal con seguridad, ya que fue realizado para que estos funcionen y lo estan haciendo correctamente.

jueves, 25 de diciembre de 2008

SISTEMA DE MESA DE AYUDA - TIP'S

:: Introducción


En este post intento dejar unos pequeños Tip's para instalar el AdventNet ManageEngine ServiceDesk Plus. Tenga en cuenta que este sistema no es Open Source, ni es de distribución gratuita, ósea, que tiene una licencia que es paga. Pero podemos bajar el trial para ver de qué se trata. Desde ahora lo llamare "Sistema de Mesa de Ayuda". El sistema está hecho en java, corre sobre un Jboss y además viene incluido un servidor Mysql el cual lo utiliza para guardar todos sus datos, en la última versión pude integrarse con Servidor LDAP (Con Active Directory lo hacía en versiones anteriores) y trae su propio sistema de backup que funciona correctamente.

:: Instalación


Instalar el "Sistema de Mesa de Ayuda" en Linux podemos hacerlo desde el entorno grafico, o bien, desde consola:

Opción 1 - Consola:

Si lo ejecutamos desde consola y no queremos o no tenemos instalado el entorno grafico, escribimos lo siguiente:

marado2:/# ./ManageEngine_ServiceDesk_Plus.bin -console 

Ejecutado comenzara la configuración de la instalación en modo texto.

Opción 2 - Grafico:


En este caso debemos igualmente levantar una terminal texto para ejecutar el archivo (ManageEngine_ServiceDesk_Plus.bin) con la diferencia que luego la configuración de la instalación lo hace a través de un entorno grafico más ameno.

marado2:/# ./ManageEngine_ServiceDesk_Plus.bin

:: Iniciar Mesa de ayuda

Para iniciar el sistema de mesa de ayuda debemos entrar al entorno gráfico de Linux y luego abrir una consola donde ejecutaremos el siguiente comando:

marado2:~/AdventNet/ME/ServiceDesk/bin# nohup ./run.sh

Utilizo ''nohup" para que el proceso corra en background y se pueda cerrar la consola, ya que con "&" al final del comando, libera la consola, pero al cerrar se cierran con ellas todos los proceso que se iniciaron con la misma, incluido los proceso que se mandaron a correr en background con "&".

:: Bajar el Servicio
Para bajar el servicio simplemente debemos ejecutar:

marado2:~/AdventNet/ME/ServiceDesk/bin# ./shutdown.sh -S

:: Actualizar el Servicio

Debemos bajar desde el sitio web el parche correspondiente a la ultima versión que tengamos nosotros instalada, ósea que si tenemos la versión 7502 instalada y la última actualización en el sitio web es la 7515, seguramente debemos aplicar el parche que contiene la actualizacion,7503 al 7508, otro parche que va desde la versión 7509 al 7512 y por último el parche que contiene la ultima actualización desde la versión 7513 al 7515 (Todas las versiones nombradas sirven a modo de ejemplo, pueden o no coincidir con la realidad). Una vez bajadas las actualizaciones debemos ir aplicándolas de la siguiente forma y en su orden correlativo:

marado2:bin# ./UpdateManager.sh 
AdventNet_ManageEngine_ServiceDesk_Plus_7_0_0_SP-0_22_1.ppm

:: Restaura backup

El sistema de mesa de ayuda, trae para programar el backup automático y el mismo lo guarda en: }

marado2:~/AdventNet/ME/ServiceDesk/backup#

y tiene la siguiente forma:

backup_servicedesk_7500_database_12_18_2008_15_54.data

Para restaura el backup en algún momento, entramos en /root/AdventNet/ME/ServiceDesk/bin y ejecutamos lo siguiente:

./restoreData.sh -c ../backup/backup_servicedesk_7500_database_12_18_2008_15_54.data

:: Como utilizar el Mysql Interno


Aquí quiero hacer una salvedad, el sistema de mesa de ayuda cuando se instala, coloca un mysql el cual si queremos ingresar en forma localhost se debe hacer lo siguiente:

Path Linux: /root/AdventNet/ME/ServiceDesk/mysql
Path Windows: C:\AdventNet\ME\ServiceDesk\mysql\bin


Conexión a la base Linux:

./mysql --port=33366 --socket=/root/AdventNet/ME/ServiceDesk/bin/../mysql/tmp/mysql.sock --user=root --default-character-set=utf8

Windows: 

Dump: 
./mysqldump -P 33366 -h localhost -u root servicedesk > servicedesk.sql
Restore:

./mysqld -P 33366 -h localhost -u root servicedesk <>

Linux:

Dump:
./mysqldump --port=33366 --socket=/www/ServiceDesk/bin/../mysql/tmp/mysql.sock --user=root --default-character-set=utf8 servicedesk > servicedesk.sql
Restore:
./mysql --port=33366 --socket=/www/ServiceDesk/bin/../mysql/tmp/mysql.sock --user=root --default-character-set=utf8 servicedesk <>

lunes, 13 de octubre de 2008

INSTALAR FRAMEWORK DE PHP Y UN SERVIDRO DEBUGGER CON ECLIPSE

Para instalar el Framework de PHP y el Debugger debemos, antes tener instalado el Servidor Apache 2.x.x con PHP5.X.X. Otra salvedad que debo hacer es que el sistema operativo donde tengo instalado el servidor web esta en Linux , y el Eclipse lo vamos a instalar en una PC con Windows.

:: Requisitos:
Bajar lo archivos necesarios:

Eclipse:
pdt-1.0.3.R20080603_debugger-5.2.14.v20080602-all-in-one-win32.zip
Framework:
ZendFramework-1.6.1.tar.gz (Binarios)
ZendFramework-1.6.1-manual-en.tar.gz (Manual)
Debugger:
org.zend.php.debug_feature-I20080602.zip
ZendDebugger-5.2.14-linux-glibc23-i386.tar.gz
Todos los archivos que menciona se encuentran en este sitio web y son Open Source: http://www.zend.com/en/community/pdt
 
:: Configuración del IDE
El archivo pdt-1.0.3.R20080603_debugger-5.2.14.v20080602-all-in-one-win32.zip es propiamente el archivo que ya viene instalado el Eclipse y el Debugger por lo que solo deben descomprimir y ejecutar eclipse.exe, ya que no necesita ninguna instalación para Windows.
Pero supongamos que tiene instalado el PDT sin debugger debe descomprimir el archivo org.zend.php.debug_feature-I20080602.zip y copiar en los mismos directorios del eclipse instalado, los archivos que se descomprimieron.
 
:: Configuración Servidor Debugger:
Para terminar con el servidor Debugger, descomprimimos el archivo ZendDebugger-5.2.14-linux-glibc23-i386.tar.gz y de aquí seleccionamos el directorio que corresponde a la versión de php que tengamos instalada, luego copiamos el archivo ZendDebugger.so, al directorio donde tenemos los archivos *.so, por ultimo en el archivo php.ini cambiamos a los valores detallados aquí:
 
implicit_flush = On
output_buffering = On

Después agregamos las siguientes líneas :
Esto si desea puede agregarlo al final del archivo php.ini
 
[Zend]
zend_extension_ts=[Path donde se encuentra el archivo ZendDebugger.so copiado ]
zend_debugger.allow_hosts=[IP de las PC que van a desarrollar, incluida 127.0.0.1]
zend_debugger.expose_remotely=always[Esto tal cual esta]

:: Insatalción de Framework:
Instalaremos el Framework de PHP, seleccione el de ZEND, ya que hay varios pero este viene especialmente para eclipse.
Lo que debemos hacer para practicidad es descomprimir el archivo ZendFramework-1.6.1.tar.gz luego seleccionar donde queremos ponerlos, hecho esto, creamos link soft y lo agregamos en el Path donde está la aplicación a desarrollar:
 
/var/www/aplicacion/lib/ ln -s /donde/pusimos/directorio/framework/ZFramework

Nuevamente abrimos el php.ini y modificamos los siguiente:
 
;;;;;;;;;;;; Paths and Directories ;;;;;;;;;;;;;;;;;;;;;;;;;;
; UNIX: "/path1:/path2"
include_path = ".:/donde/pusimos/directorio/framework/"

Con esto se termina toda la configuración, y ahora ya puede empezar a programar con PHP con POO.