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.
/usr/local/psa/admin/sbin/websrvmng – -reconfigure-vhost –vhost-name=midominio.com
/usr/local/psa/admin/sbin/httpdmng –reconfigure-domain midominio.com