Lighttpd (Español)

From ArchWiki
Revision as of 19:39, 23 May 2008 by Angvp (Talk | contribs)

Jump to: navigation, search

Este documento te describira como configurar Ruby on Rails y PHP en un servidor lighttpd (a traves de fastcgi).

Template:I18n links start Template:I18n entry Template:I18n entry Template:I18n links end

Instalando lighttpd and fcgi

pacman -S lighttpd fcgi

Ahora ya tienes lighttpd con soporte para fcgi. Si esto era todo lo que querias, listo, pero los que quieran tener Ruby on Rails y/o PHP deberian continuar.

Instalando php-cgi

pacman -S php

Ahora revisa la version de php-cgi escribiendo php-cgi --version

PHP 5.2.5 with Suhosin-Patch 0.9.6.2 (cgi-fcgi) (built: Nov 13 2007 20:03:00)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies

Si tienes una salida similar a esa quiere decir que PHP fue instalado correctamente

Note : Por favor manten en cuenta que si recibes errores del tipo No input file found luego de intentar accesar a tus arhivos php entonces asegurate de que /etc/php/php.ini tenga las directivas habilitadas

cgi.fix_pathinfo=1
open_basedir = /home/:/tmp/:/usr/share/pear/:/another/path:/second/path

Ruby on Rails

Considerando que tambien quieras usar Ruby on Rails, asumo que tu tienes ruby instalado, sino hazlo de la siguiente forma:

pacman -S ruby

Ahora necesitamos rubygems y ruby-fcgi. Revisa en AUR!.

Rubygems:

pacman -S rubygems

ruby-fcgi:

Si usas yaourt puedes hacer:

yaourt -S ruby-fcgi

En caso de que no uses yaourt ni ninguna herramienta para AUR:

wget http://aur.archlinux.org/packages/ruby-fcgi/ruby-fcgi/PKGBUILD
makepkg
pacman -U ruby-fcgi-*.pkg.tar.gz

Si todo salio bien deberiamos tener rubygems. Ahora vamos con rails!

gem install rails --include-dependencies
gem install fcgi --include-dependencies

Si esto falla, descarga fcgi y compilalo por ti mismo, de la siguiente forma.

$ wget http://fastcgi.com/dist/fcgi.tar.gz
$ tar zxvf fcgi.tar.gz
$ cd fcgi-2.4.0
$./configure
$ make
# make install

Y repite la instalacion de gem.

Recuerda verificar si tienes mas de un fcgi.so de la siguiente forma:

find /usr -name fcgi.so

Si tienes dos o mas, borra el que no tiene "/site_ruby/" en el path.

Para documentacion de como usar Ruby on Rails por favor consulta http://rubyonrails.org.

Configuracion de /etc/lighttpd/lighttpd.conf

Solo voy a mostrar todo lo que debes cambiar. La configuracion esta bien comentada y la documentacion oficial esta en http://lighttpd.net

server.modules = (
"mod_access",
"mod_fastcgi",
"mod_accesslog" )

server.indexfiles = ( "dispatch.fcgi", "index.php" ) #dispatch.fcgi is rails specified

server.error-handler-404   = "/dispatch.fcgi" #too

fastcgi.server = (
".fcgi" =>
  ( "localhost" =>
    (
      "socket" => "/tmp/rails-fastcgi.socket",
      "bin-path" => "/path/to/rails/application/public/dispatch.fcgi"
    )
  ),
".php" =>
  ( "localhost" =>
    (
      "socket" => "/tmp/php-fastcgi.socket",
      "bin-path" => "/usr/bin/php-cgi"
    )
  )
)

Antes de encender el servicio, para asegurarnos que todo este completamente funcional, asegurate de crear el directorio /var/run/lighttpd y configurar el acceso de forma acorde. La instalacion de Lighttpd no lo crea automaticamente.

Links de Referencia

Lighttpd FAQ