Ubuntu, Lighttpd y PHP + MySQL

Por razones de no alentar mi Laptop, decidí comenzar a usar Lighttpd en lugar de Apache. Para eso me dí a la búsqueda de el cómo instalarlo y configurarlo para hacerlo funcionar con PHP.

Por fortuna dí con un sitio que me ayudó a lograrlo:

http://nachopro.com.ar/instalar-y-configurar-lighttpd-php-mysql-en-ubuntu/

Reproduzco el documento a continuación:

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/www/”

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. No olvides crear la carpeta “www” en tu directorio, de lo contrario no funcionará Lighttpd.

Por alguna razón, en la más reciente instalación de Ubuntu 10.10, no funcionó la configuración documentada en este post. Se mostraba un error 403 al intentar abrir archivos PHP. Indagando encontré que es necesario agregar las siguientes líneas al archivo de configuración:

fastcgi.server = ( “.php” => ((
“bin-path” => “/usr/bin/php5-cgi”,
“socket” => “/tmp/php.socket”
)))

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.

Con información de:

http://nachopro.com.ar/instalar-y-configurar-lighttpd-php-mysql-en-ubuntu/

About these ads

5 comments so far

  1. vertutoriales on
  2. tomtreegoogl on

    right vacant global yes red ibm this sea australia yahoo

  3. Artemio Estrella on

    Hola Josu,

    Yo lo que solía hacer –cuando llegué a tener mi propio servidor– era crear un usuario a nivel home y dentro de home creaba la carpeta www, ejemplo:

    /home/webserver/www

    donde webserver es el usuario.

    Configuraba el Servidor Web para apuntar a /home/webserver/www

    Y de esa forma tenía separado los servicios web por cada usuario. Al menos en Apache podía crear dominios virtuales y a cada usuario lo usaba como un dominio virtual. No sé cómo hacerlos con Lighttpd, pero debe ser muy similar.

  4. Josu on

    Hola, muchas gracias por el tutorial, me estoy montando una pequeña pagina web en mi servidor.

    Tengo una duda, con que usuario debo de guardar los archivos para la web?¿

    Recuerdo que cuando instalaba apache creaba un usuario “web” y era el que tenia permisos para “var/www”, es necesario crearlo???

    Muchas gracias y saludos.

  5. usamailyesni on

    the tree, living and went and went it’s name were having I assumed and dream. huge tree probably


Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 40 seguidores

%d personas les gusta esto: