nachopro yendo de la cama a la compu…

11Jan/083

Instalar y configurar lighttpd + PHP + MySQL en Ubuntu

Si bien hay cientos de artículos de cómo instalar y echar a andar la fórmula lighttpd + PHP + MySQL, la gran mayoría peca de estar apuntada a un público intermedio/avanzado, y la poca minoría es difícil de encontrar :P .

Es obvio que tanto un intermedio como un neófito de GNU/Linux puede compilar desde las fuentes aunque seguramente utilice algún gestor de paquetes, pero no que la media de novatos logre hacer andar (configurar correctamente) los programas que instale. Por eso voy a ir paso a paso por el camino de instalar y configurar la fórmula antes mencionada.

Primero vamos a instalar los servicios (web y de base de datos, respectivamente):

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

Terminada la instalación de MySQL, se nos solicitará que ingresemos una clave para el usuario root mediante una caja de diálogo de ncurses ;)

Ahora vamos por el intérprete de PHP:

$ sudo aptitude install php5-cgi

En este momento, si nada grave ocurrió, tenemos andando a lighttpd y MySQL en nuestra PC. Pero hay que meter mano en unos archivos para que PHP funcione con ellos ;)

Abrimos el archivo de configuración de PHP ...

$ sudo gedit /etc/php5/cgi/php.ini

... y descomentamos la línea que dice "cgi.fix_pathinfo=0" y cambiamos ese 0 por un 1. quedando

cgi.fix_pathinfo=1

y guardamos.

Ahora tenemos que activar en lighttpd su módulo de FastCGI y configurar el intérprete de PHP, para lo cual...

$ sudo gedit /etc/lighttpd/lighttpd.conf

y buscamos la línea que diga "server.modules", ahí agregamos "mod_fastcgi", quedando algo como:

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

Antes de cerrar el archivo, vamos a la opción "server.document-root" y cambiamos el /var/www/ por

server.document-root       = "/home/TU_NOMBRE_DE_USUARIO/webs/"

así podemos trabajar tranquilamente en nuestro propio home sin lidiar con permisos de root a la hora de crear o modificar los archivos que vamos a hospedar ;) Y ahora sí, guarden los cambios y listo.

Ahora nos queda la siguiente linea de comandos

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

con la que copiaremos la configuración por defecto que trae lighttpd para operar con PHP. Si somos experimentados en el tema, podemos "enchular" (jaja) esas opciones... pero por ahora no es necesario ;)

Seguro te lo estabas preguntando... y es ahora! vamos a reiniciar lighttpd para que tome los cambios:

$ sudo /etc/init.d/lighttpd restart

Sí señores, ya está "todo" andando :P Para probarlo créen un "prueba.php" cuyo contenido sea como el siguiente y a navegar se ha dicho!

<?
phpinfo();
?>

Aclaración: dije que "ya está "todo" andando" porque legalmente está todo regio, pero seguramente nos hará falta el soporte de las GD y MySQL para PHP, como quizás otras librerías. Por eso debemos hace un...

$ sudo aptitude install php5-gd php5-mysql

... y volver a reiniciar lighttpd

$ sudo /etc/init.d/lighttpd restart

para que los cambios sean efectuados.

Para consultar el resto de librerías disponibles, y que quizás debamos instalar según nuestras necesidades, basta con

$ sudo aptitude search php5

Descargo: Al momento de escribir este artículo en los repositorios del Ubuntu Gutsy Gibbon se encuentran los siguientes paquetes: lighttpd 1.4.18-1ubuntu1; php5-cgi 5.2.3-1ubuntu6.2; mysql-server 5.0.45-1ubuntu3.1.

Ahora sí, hasta la próxima!

Filed under: GNU/Linux Leave a comment
Comments (3) Trackbacks (0)
  1. Buen manual, me han dicho que lighttpd es bastante ligero y que se empieza a usar en bastantes sitios.
    Si no lo tengo mal entendido es el que se usa en Youtube para los videos, supongo que será con el “mod_flv_streaming” activado. Que tal tu experiencia con él, es generoso ahorrando recursos?

    Saludos

  2. Muchas gracias por el documento. Desde hace tiempo he estado buscando una manera sencilla de configurar todo esto.

    Había trabajado con Apache-PHP-MySQL y Oracle; pero ahora tengo una laptop con pocas capacidades y no quería gastar tantos recursos usando Apache, por eso opté por lighttpd.

    Me voy a tomar la libertad de publicar tu documento (con la respectiva mención) en un blog que tengo para propósitos de almacenar lo que hago respecto de mis proyectos de desarrollo de software.

    Saludos y de nuevo gracias.

  3. ¡Gracias por la entrada! Con ella podría haberme aventurado en el mundo del lighttpd cuando me hospedaba yo mismo la página… Ahora me temo que sólo podré hacer pruebas con él ;-)


Leave a comment


*
Before you submit form:
Human test by Not Captcha

No trackbacks yet.

Pages

Categories

Blogroll

Archive

Meta