Programador PHP freelance

Configurar PEAR para un dominio en Plesk

Ahora mismo arranco los desarrollos con Zend Framework. MVC, robusto, bien pensado, bien documentado, escalable,… y muchas más cosas que a poco que hayamos oído hablar de él, ya nos suenan. La verdad es que lo estoy disfrutando. Pero antes de Zend estuve con otros frameworks, en especial, utilicé mucho PEAR.

PEAR se organiza por paquetes y la mayor crítica que se le puede hacer es que no es MVC. De hecho yo diría que es un framework a la antigua, con una gran variedad de librerías para realizar casi cualquier cosa. De todas ellas la más destacable para mi, una de las que permiten desarrollar la capa de datos: DB_DataObject. Si tenéis tiempo, os aconsejo que juguéis con ella.

PEAR tiene otra ventaja, para los linuxeros como yo, y es que tiene paquete en la mayoría de distros, por lo que instalar-lo en mi Ubuntu es tan fácil como apt-get install pear.

Y a partir de aquí viene la gracia. Y es que PEAR a su vez tiene un gestor de paquetes que es llamado desde consola por ejemplo así: pear install Auth, con lo que conseguimos instalar el paquete de autorización.

Si utilizamos este sistema para su instalación en un servidor donde alojamos varios proyectos con Plesk, como puede ser la misma máquina de desarrollo o un servidor de producción, tenemos la ventaja de que centralizamos la gestión de los paquetes PEAR y su posterior actualización.

Esto en servidores controlados por nosotros suele ser inmediato y PEAR, una vez instalado, se aplica a todos los dominios que albergue nuestro servidor web. En el caso de Plesk, dada su particular configuración de los planes requiere de ciertos cambios… Y a eso hemos venido.

Cuando necesitamos que un dominio en Plesk pueda acceder al PEAR del sistema necesitamos modificar el include_path del PHP para ese dominio, cosa que se consigue creando/modificando el fichero /var/www/midominio.com/conf/vhost.conf con el siguiente contenido:

<Directory /var/www/vhosts/midominio.com/httpdocs>
php_admin_value include_path “/var/www/vhosts/midominio.com/httpdocs/:/usr/share/pear/”
php_admin_value open_basedir “none”
</Directory>

Si nos fijamos, hemos añadido al include_path el path del PEAR en el sistema. Esta linea, de hecho, es valida para un CentOS mientras que para una Ubuntu suele ser así:

php_admin_value include_path “/var/www/vhosts/midominio.com/httpdocs/:/usr/share/php/”

Comentar que para editar este fichero es necesario tener permisos de root, lo cual seguramente nos obligará a acceder por SSH al sistema.

Una vez realizada esta modificación el siguiente paso es forzar a Plesk para que cargue la nueva configuración, lo que se consigue con el siguiente comando desde el shell:
/usr/local/psa/admin/sbin/websrvmng – -reconfigure-vhost –vhost-name=midominio.com
Esto era cierto para las versiones de Plesk 8 y 9. Para la 10 lo desconozco y para la 11 el comando actualizado es:
/usr/local/psa/admin/sbin/httpdmng –reconfigure-domain midominio.com
Con esto nuestro dominio queda configurado para trabajar con PEAR. Ahora solo queda instalar los paquetes que necesitemos.
pear list nos irá indicando que tenemos ya instalado.
PD. Si también utilizas PEAR tal vez nos interese conocernos 😉
PD 2. Añadir que este tipo de configuraciones sólo funcionan en aquellos casos donde el PHP se ejecuta como módulo del servidor web Apache y no como CGI. El propio Plesk permite la configuración por dominio de este parámetro.