Como instalar Zend Optimizer en Plesk

Tal vez pueda hacer que alguien se ahorre un par de horitas instalando Zend Optimizer 3.2.2 en Plesk 8.0.1 , que ha sido el tiempo que me ha llevado a mi averiguar la forma de instalarlo correctamente, asi es que vamos a ello:

Lo primero es descargar el archivo tar.gz desde el sitio oficial para ello ejecutaremos el siguiente comando desde la shell:

# wget http://downloads.zend.com/optimizer/3.2.2/...3-x86_64.tar.gz

Una vez descargado el archivo lo descomprimimos:

# tar -zxvf ZendOptimizer-3.2.2-linux-glibc23-x86_64.tar.gz

Ya hemos extraido los archivos asi es que podemos borrar el archivo tar.gz:

# rm -rf ZendOptimizer-3.2.2-linux-glibc23-x86_64.tar.gz

Entramos en el directorio donde se encuentran los archivos de instalacion:

# cd ZendOptimizer-3.2.2-linux-glibc23-x86_64

Ejecutamos el archivo de instalacion:

# ./install.sh

Respondemos de forma adecuada a todas las preguntas que se nos hacen en el proceso de instalacion, lo cual supone aceptar todo, una vez finalizado el proceso nos dirigimos al directorio en el que se encuentra el archivo php.ini:

# cd /etc

Abrimos el archivo php.ini con un editor de texto por ejemplo vi:

# vi php.ini

Buscamos las lineas de configuracion de Zend Optimizer en el archivo php.ini, para ello escribimos el siguiente comando:

# /zend

Debemos de encontrar las siguientes lineas al final del archivo:


zend_extension_manager.optimizer=/usr/local/Zend/lib/Optimizer-3.2.2
zend_extension_manager.optimizer_ts=/usr/local/Zend/lib/Optimizer_TS-3.2.2
zend_optimizer.version=3.2.2
zend_extension=/usr/local/Zend/lib/ZendExtensionManager.so
zend_extension_ts=/usr/local/Zend/lib/ZendExtensionManager_TS.so

Una vez que las hemos localizado las copiamos al portapapeles y si es necesario a un archivo de texto para no perderlas, y pasamos al modo de insercion de texto en el editor vi pulsando la tecla i, una vez en el modo texto comentamos las lineas pasando a quedar estas en el archivo php.ini de la siguiente manera:


;zend_extension_manager.optimizer=/usr/local/Zend/lib/Optimizer-3.2.2
;zend_extension_manager.optimizer_ts=/usr/local/Zend/lib/Optimizer_TS-3.2.2
;zend_optimizer.version=3.2.2
;zend_extension=/usr/local/Zend/lib/ZendExtensionManager.so
;zend_extension_ts=/usr/local/Zend/lib/ZendExtensionManager_TS.so

Salimos del modo texto pulsando la tecla escape y guardamos el archivo con el siguiente comando:


# :wq

Entramos en el directorio php.d:


# cd php.d

Usamos el editor de texto vi para crear un nuevo archivo:


# vi zend-optimizer.ini

Pegamos en el las lineas que anteriormente habiamos copiado del archivo php.ini en el archivo zend-optimizer.ini, para ello lo usual es si estas usando Putty pulsar el boton derecho del raton, lo cual hara que se pegue el contenido que tenemos copiado en el portapepeles, lueego guardamos el archivo:

# :wq

Reiniciamos apache:

# service httpd restart

Y comprobamos que tanto Ioncube como Zend Optimizer se hayan inicializado correctamente con php


# php -v

Si todo ha ido bien deberiamos de obtener algo como esto:


PHP 4.3.9 (cgi) (built: Nov 2 2006 16:40:38)
Copyright © 1997-2004 The PHP Group
Zend Engine v1.3.0, Copyright © 1998-2004 Zend Technologies
with the ionCube PHP Loader v3.1.9, Copyright © 2002-2006, by ionCube Ltd., and
with Zend Extension Manager v1.2.0, Copyright © 2003-2006, by Zend Technologies
with Zend Optimizer v3.2.2, Copyright © 1998-2006, by Zend Technologies

Y eso es todo ya tenemos Zend Optimizer instalado en nuestra maquina, espero que esta explicacion le sea de utilidad a mas de uno.

Saludos amigossss

Instalar XCache en CentOS 5

Breves instrucciones para compilar y instalar Xcache en Centos 5. No tiene mayor dificultad.

# wget http://xcache.lighttpd.net/pub/Releases/1.2.2/xcache-1.2.2.tar.gz
# tar -zxf xcache-1.2.2.tar.gz
# cd xcache
# phpize
# ./configure –enable-xcache
# make
# su
# make install

Instala las extesiones compartidas de php : /usr/lib/php/modules

# cat xcache.ini >> /etc/php.ini

Editamos php.ini para instalar Xcache como extension

# joe /etc/php.ini

zend_extension = /usr/lib/php/modules/xcache.so

La configuración del xcache está explicada en comentarios en el propio php.ini, pero hay cosas relevantes como el xcache.count, relativo al número de procesadores de nuestro sistema. Averiguamos el número de procesadores y luego editamos el php.ini

# cat /proc/cpuinfo |grep -c processor
xcache.count = 4

Las demás variables se pueden configurar fácilmente leyendo la documentación. Ahora podemos crear un archivo php con la función phpinfo ( ) y moverlo a nuestro directorio root para comprobar que Xcache funciona correctamente. No olvidemos reiniciar Apache!

# /etc/init.d/httpd restart

Instalar el Admin

Para instalar el admin primero creamos un fichero php como el siguiente para obtener el password encriptado en md5

echo md5("password");

Copiamos el resultado en php.ini, en la variable xcache.admin.pass

xcache.admin.pass = "password_en_md5"

Ahora copiamos el directorio web de Xcache a nuestro document root de apache


# cp -R admin/* /var/www/midominio.com/admin/.

Reiniciamos Apache. Accedemos al admin, introduciendo user y password.

Sobre el Error Segmentation Fault

Algo que me sucedió en la instalación de Xcache en Centos 5. Al comprobar los logs de Apache comprobé que había numerosos errores de Segmentation Fault.

# php -v
Segmentation fault

# cat /var/log/httpd/error_log
[Thu Oct 02 13:43:39 2008] [notice] child pid 15978 exit signal Segmentation fault (11)
[Thu Oct 02 13:43:42 2008] [notice] child pid 15979 exit signal Segmentation fault (11)
[Thu Oct 02 13:43:50 2008] [notice] child pid 15980 exit signal Segmentation fault (11)
[Thu Oct 02 13:44:08 2008] [notice] child pid 15981 exit signal Segmentation fault (11)
[Thu Oct 02 13:44:12 2008] [notice] child pid 15982 exit signal Segmentation fault (11)
[Thu Oct 02 13:44:33 2008] [notice] child pid 15983 exit signal Segmentation fault (11)

Para evitarlo hacemos lo siguiente


# rm /dev/zero
# mknod /dev/zero char 1 5
# /etc/init.d/httpd restart

Otro problema relativo. Aunque creemos el fichero /dev/zero, por una limitación (no se si de php.ini o el propio kernel) puede que el valor de cache que asignamos a xcache.size es superior a lo que puede guardar y eso provoca el siguiente error:

xcache /dev/zero: No space left on device

Para arreglar, hemos de reducir el valor asignado a xcache.size, por ejemplo empezando por 8M y reiniciando apache. No deberíamos ver más ese error ni Segmentation Faults en el apache. Y si los hay, deberían ser por otro motivo que no fuera Xcache.

Instalar plugins en WordPress automáticamente – TIP

Para instalar plugins en WordPress automáticamente y sin necesidad de tener que introducir datos de nuestro servidor ftp, podemos hacerlo de la siguiente manera.

1 .- Agregamos el siguiente código php al final de nuestro archivo wp-config.php

if(is_admin()) {
   add_filter('filesystem_method', create_function('$a', 'return "direct";' ));
   define( 'FS_CHMOD_DIR', 0751 );
}

2 .-  Por último damos permisos de escritura a los siguientes directorios:

/wp-content/plugins
/wp-content/themes
/wp-content/upgrade

Ahora cuando instalemos un plugin o tema en nuestro WordPress no necesitaremos agregar ningún dato y se instalarán automáticamente.