Configurar un entorno de desarrollo en php con gnu linux + cherokee + php + mysql + eclipse

Las herramientas que necesitamos para desarrollar en php son: Un servidor web que soporte php, un servidor de base de datos y un editor de texto/ide. Os voy a explicar como configurar todo este mejunje para tener un entorno funcional de desarrollo con el que sacar la máxima productividad.

Lo primero es instalar todas estas aplicaciones, como las que nosotros hemos elegido son cherokee php5 mysql5 y eclipse en debian las instalamos así:

apt-get install cherokee php5 php5-mysql php5-cgi php5-common mysql-server-5.0 mysql-client-5.0 eclipse

Luego hay que echar a andar el servidor web cherokee junto con php5, en cherokee php funciona como un cgi así que editamos el /etc/cherokee/sites-enabled/default y dejamos el apartado correspondiente a php que se encuentra al final del archivo tal que así:

Extension php, php3, php4, php5 {
Handler phpcgi
}
Ahora tenemos que comprobar que el ejecutable php-cgi hace referencia a la versión 5 de php y no a una anterior:

cheli@casa1:~$ which php-cgi
/usr/bin/php-cgi

cheli@casa1:~$ ls -l /usr/bin/php-cgi
lrwxrwxrwx 1 root root 25 2006-11-19 17:09 /usr/bin/php-cgi -> /etc/alternatives/php-cgi

cheli@casa1:~$ ls -l /etc/alternatives/php-cgi
lrwxrwxrwx 1 root root 17 2006-12-20 16:08 /etc/alternatives/php-cgi -> /usr/bin/php5-cgi

Si no es así tenemos dos posibles soluciones, modificarlo mediante la orden «update-alternatives» o indicar directamente en el archivo de configuración que el ejecutable es php5-cgi y no php-cgi que en verdad es un enlace simbolico al que tenemos por defecto.

Ahora comprobamos que funciona creando la típica página de prueba en el directorio por defecto del servidor, /var/www y la llamamos por ejemplo prueba.php con el siguiente contenido:

<?php phpinfo() ?>

Reiniciamos el servidor web para actualizar los cambios con:

/etc/init.d/cherokee restart

Ya podemos cargar en el navegador la siguietne url «http://localhost» con la cual debe salirnos el mensaje de bienvenida de cherokee, si todo ha ido bien y cargamos «http://localhost/prueba.php» entonces debe salirnos el resultado de ejecutar la función phpinfo en el servidor.

De mysql no voy a hablar, ya tocaré el tema si me lo pedis en otro artículo y diré como configurar mysql y administrarlo desde su cliente en modo texto o más fácilmente desde phpmyadmin. Sólo comentar que si teneis configurada una base de datos ahora ya la podreis manipular desde php.

Cuando arrancamos eclipse por primera vez por defecto genera el directorio workspaces dentro del directorio de trabajo($HOME) de nuestro usuario. Al crear los archivos de nuestros proyectos php aquí no vamos a poder configurar nuestro servidor cherokee con un DocumentRoot que acceda a ellos ya que el servidor cherokee se ejecuta con un usuario y grupo que no tiene permiso para acceder al espacio de trabajo de nuestro usuario. Podriamos dar permiso a ese directorio para que si tuviera acceso pero guarrear el directorio de trabajo de mi usuario a mi personalmente no me guta. Lo que vamos a hacer es ejecutar el servidor cherokee con usuario=grupo=nuestro_usuario. Esto nos genera un problema de seguridad bastante importante ya que tener un servicio corriendo con un usuario que tenga acceso a nuestros datos no es que mole mucho, por tanto vamos a tener que protegernos. Una manera sería meter una regla al cortafuegos mediante iptables para que el servidor no sea accesible desde fuera y otra sería configurar cherokee mediante «acls/directiva Listen» para que solo escuche por el localhost, aunque esto no nos va a evitar que si el servidor tiene un problema de seguridad nos puedan hacer ataques en local.

Volvemos a editar el /etc/cherokee/sites-enabled/default y ponemos el DocumentRoot así:

DocumentRoot /home/nuestro_usuario/workspace/

Y en el /etc/cherokee/cherokee.conf cambiamos estas directivas así:

Listen 127.0.0.1

User nuestro_usuario
Group nuestro_usuario

Volvemos a reiniciar el servidor web para actualizar los cambios y listo.
Por último solo nos queda configurar un par de añadidos de eclipse para que nos soporte php y alguna cosita más:

Eclipse ya trae soporte para el sistema de control de versiones cvs, si utilizamos subversion también tendremos que bajarnos un añadido.

Básicamente todos los añadiso se instalan igual, hay que ir al directorio de instalación de eclipse /usr/lib/eclipse/ y descomprimir el archivo de forma que se desplieguen todos los archivos por los directorios (plugins y demás) necesarios. El resultado final es este:

phpeclipse

Y eso es todo, espero que os sea útil.

Cheli

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.