Lighttpd + php5 + MySQL en Ubuntu Jaunty

Me dispongo a abordar un par de proyectos la mar de jugosos en mi nuevo y flamante Ubuntu. En uno de ellos es probable que pueda conseguir algún dinerete extra; el otro es a título personal, puramente por satisfacer mi ego personal y mantener vivo mi entusiasmo. Así que con toda la motivación y fuerza que tal situación suele imbuir en un programador, por muy malo que sea (y yo no soy de los peores), me dispongo a preparar el requerido servidor.

Para el caso he elegido tirar de Lighttpd como servidor web y MySQL como gestor de bases de datos. Motivos: Lighttpd es mucho más ligero y rápido que otros servidores más conocidos, como Apache, consumiendo menos recursos en el proceso. Así que, sin desmerecer en absoluto la potencia de éste último, me ha hecho tilín y he decidido probarlo. Sé que hay otras alternativas igual o más ligeras, como es el caso de Cherokee, proyectado por un español, que además dispone de su propio panel de configuración web. Pero, y puesto que soy un tipo algo puñetero con según qué cosas, no me convence que Álvaro López, su autor, un tipo que está sentando referente a nivel internacional y que, no me cabe duda, es un tío estupendo y la leche de profesional, no se digne a reservar un espacio a la lengua de Cervantes ni en la web oficial del proyecto ni en su blog personal. Conste que Cherokee me parece estupendo y he tenido oportunidad de usarlo y disfrutar de sus bondades (que no son pocas), pero prefiero quedarme en Lighttpd por ahora.

Y el motivo por el que escojo MySQL, aun habiendo sido adquirido últimamente por Sun, que a su vez fue comprada por Oracle, principal competidor de éste gestor, es porque es el sistema que siempre he usado y no me ha dado demasiados problemas. Además no es tan pesado como PostgreSQL y estoy bastante acostumbrado a trabajar con él.

Bueno, al tajo que se nos va el hilo. Antes de empezar aclarar que todo lo que haremos será en modo comando, desde consola, ayudándonos de aptitude y tecleando cada cosa en su momento. Pero los noveles no os preocupéis que es muy sencillo y hay que tocar lo justo.

A continuación los pasos a dar para instalar y configurar ambos servidores con soporte para php5:

1) Instalar los servidores (web y bases de datos) junto con el intérprete cgi para php5 y el módulo de soporte para MySQL.

$ sudo aptitude install lighttpd php5-cgi mysql-server php5-mysql

A lo largo del proceso el programa de instalación de MySQL os pedirá que defináis la contraseña para el administrador del gestor de bases de datos. Ojo que también se define como «root», el superusuario de Linux, pero es diferente.

2) Incluir la carga del módulo para FastCGI de PHP dentro de Lighttpd.

$ sudo gedit /etc/lighttpd/lighttpd.conf

y agregar tras el último módulo activado una línea que diga «mod_fastcgi», de manera que quede algo así:

server.modules = (
     "mod_access",
     "mod_alias",
     "mod_accesslog",
     "mod_compress",
     "mod_fastcgi",
     # "mod_rewrite",
     # "mod_redirect",
     # "mod_evhost",
     # "mod_usertrack",
     # "mod_rrdtool",
     # "mod_webdav",
     # "mod_expire",
     # "mod_flv_streaming",
     # "mod_evasive"
)

3) Activar el módulo para FastCGI.

$ sudo ln -s /etc/lighttpd/conf-available/10-fastcgi.conf /etc/lighttpd/conf-enabled/

4) Iniciar/Reiniciar el servidor.

$ sudo /etc/init.d/lighttpd restart

Y ya está listo vuestro servidor web Lighttpd con soporte para PHP5 y MySQL.

Sólo un apunte más: las páginas se sirven por defecto desde /var/www, que es propiedad del superusuario del sistema, o sea, root. Así que tendremos problemas de permisos si pretendemos trabajar en modo usuario accediendo a dicho directorio. Para evitar esto, y facilitarnos la vida un poco, podemos crearnos una carpeta personal en nuestro home y configurar el servidor para que sirva desde ahí.

En mi caso me he creado una carpeta en mi home llamada www ($ mkdir www). Para configurarla en el servidor:

$ sudo gedit /etc/lighttpd/lighttpd.conf

y en la directiva server.document-root establecemos la ruta hacia dicha carpeta, de manera que quede tal que así:

server.document-root = "/home/USUARIO/www/"

Ejemplo: si el usuario es Epicentro :D

server.document-root = "/home/epicentro/www/"

6 Respuestas to “Lighttpd + php5 + MySQL en Ubuntu Jaunty”


  1. 1 hugo 14 May 2009 a las 1:47 am

    No trabaja. No funciona.
    No ejecuta los .php
    Gracias

  2. 2 epicentro 14 May 2009 a las 10:49 am

    Perdona hugo, acabo de revisar el post y creo que es posible que tu fallo se deba, a su vez, a un error mío a la hora de publicar el comando, ya que no se vé al completo.

    El comando completo es, con sudo:
    ln -s /etc/lighttpd/conf-available/10-fastcgi.conf /etc/lighttpd/conf-enabled/

    Por favor, comprueba que tienes bien hecho el enlace en /etc/lighttpd/conf-enabled/

    ($ sudo ls -la /etc/lighttpd/conf-enabled/10-fastcgi.conf)

  3. 3 Hugo 14 May 2009 a las 1:32 pm

    Gracias Señor. Primero quiero reconocer su amabilidad y señorio.
    Segundo agradecer su paciencia con una persona bien torpe como yo.
    Ahora me funciona bien.
    Siempre queria usarlo pero nunca habia encontrado un tutorial tan claro y limpio como el suyo, por favor reciba mi felicitacion respetuosa por su virtusismo.
    De nuevo gracias por su generosidad

  4. 4 epicentro 14 May 2009 a las 5:51 pm

    ¡Gracias a tí por comentar tu experiencia Hugo! Aunque a mis 26 años, creo que aún no me he ganado el título de Señor ;)

    Me alegra que te haya servido.

  5. 5 UbuntuWay 22 julio 2009 a las 1:10 pm

    Excelente post, amigo! :D Ya tengo mi servercito con lighttpd corriendo! :D
    Muchísimas Gracias!


  1. 1 Lighttpd + php5 + MySQL en Ubuntu Jaunty - DbRunas Trackback en 13 May 2009 a las 7:56 pm

Replica a epicentro Cancelar la respuesta




Mi del.icio.us

May 2009
L M X J V S D
 123
45678910
11121314151617
18192021222324
25262728293031

Archivador