Ver Mensaje Individual
  #2 (permalink)  
Antiguo 25/01/2010, 15:24
Avatar de Tony_Medina
Tony_Medina
 
Fecha de Ingreso: junio-2008
Ubicación: World Wide Web
Mensajes: 6
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Instalar un lighttpd en Plesk 9

1. Requisitos

* Servidor con cualquier distribución linux (en nuestro ejemplo usamos Centos 5 el cual tiene una instalación básica del panel de control Plesk 8.6)
* gcc, gcc-c++ y librerías de compilación
* En caso de querer utilizar apache y lighttpd en el mismo servidor de forma simultánea, se necesitarán 2 ips

2. Instalar las librerías necesarias

yum install pcre zlib bzip2 pcre-devel zlib-devel bzip2-devel

3. Descargar y compilar Lighttpd

# Descargar
wget http://www.lighttpd.net/download/lighttpd-1.4.19.tar.gz
tar -xvzf lighttpd-1.4.19.tar.gz
cd lighttpd-1.4.19

# Compilar
./configure --prefix=/usr/local/lighttpd
make
make install

# Enlace al binario
ln -s /usr/local/lighttpd/sbin/lighttpd /usr/sbin/lighttpd

# Configuración del servicio
sed -e 's/FOO/lighttpd/g' doc/rc.lighttpd > /etc/init.d/lighttpd
sed -e 's/FOO/lighttpd/g' doc/rc.lighttpd.redhat > /etc/init.d/lighttpd
chmod a+rx /etc/init.d/lighttpd
cp -p doc/sysconfig.lighttpd /etc/sysconfig/lighttpd
install -Dp ./doc/lighttpd.conf /etc/lighttpd/lighttpd.conf
chkconfig lighttpd on

# Crear directorio de logs
mkdir /var/log/lighttpd
chmod -R 777 /var/log/lighttpd

4. Configurar Lighttpd

En /etc/lighttpd/lighttpd.conf tenemos el archivo de configuración de Lighttpd, por defecto, incluye una plantilla con múltiples opciones de configuración.

Adicionalmente, en http://trac.lighttpd.net/trac/wiki/TutorialConfiguration encontraremos todas las opciones de configuración.

Debemos prestar especial atención a las directivas server.port y server.bind para forzar al servidor a que no escuche en todas las Ips disponibles y así evitar conflictos con Apache en caso de que lo tengamos instalado.

Configuración de ejemplo:

server.port = 80
server.bind = "55.55.55.55" # Reemplazar por nuestra ip
server.username = "apache" # Para evitar problemas de permisos
server.groupname = "apache"

server.modules = ( "mod_access","mod_simple_vhost","mod_accesslog " )
server.document-root = "/var/www/vhosts"
server.errorlog = "/var/log/lighttpd/error.log"
accesslog.filename = "/var/log/lighttpd/access.log"

index-file.names = ( "index.html","index.htm", "default.htm" )
url.access-deny = ( "~", ".inc" )

mimetype.assign = (
".pdf" => "application/pdf",
".sig" => "application/pgp-signature",
".spl" => "application/futuresplash",
".class" => "application/octet-stream",
".ps" => "application/postscript",
".torrent" => "application/x-bittorrent",
".dvi" => "application/x-dvi",
".gz" => "application/x-gzip",
".pac" => "application/x-ns-proxy-autoconfig",
".swf" => "application/x-shockwave-flash",
".tar.gz" => "application/x-tgz",
".tgz" => "application/x-tgz",
".tar" => "application/x-tar",
".zip" => "application/zip",
".mp3" => "audio/mpeg",
".m3u" => "audio/x-mpegurl",
".wma" => "audio/x-ms-wma",
".wax" => "audio/x-ms-wax",
".ogg" => "application/ogg",
".wav" => "audio/x-wav",
".gif" => "image/gif",
".jar" => "application/x-java-archive",
".jpg" => "image/jpeg",
".jpeg" => "image/jpeg",
".png" => "image/png",
".xbm" => "image/x-xbitmap",
".xpm" => "image/x-xpixmap",
".xwd" => "image/x-xwindowdump",
".css" => "text/css",
".html" => "text/html",
".htm" => "text/html",
".js" => "text/javascript",
".asc" => "text/plain",
".c" => "text/plain",
".cpp" => "text/plain",
".log" => "text/plain",
".conf" => "text/plain",
".text" => "text/plain",
".txt" => "text/plain",
".dtd" => "text/xml",
".xml" => "text/xml",
".mpeg" => "video/mpeg",
".mpg" => "video/mpeg",
".mov" => "video/quicktime",
".qt" => "video/quicktime",
".avi" => "video/x-msvideo",
".asf" => "video/x-ms-asf",
".asx" => "video/x-ms-asf",
".wmv" => "video/x-ms-wmv",
".bz2" => "application/x-bzip",
".tbz" => "application/x-bzip-compressed-tar",
".tar.bz2" => "application/x-bzip-compressed-tar",
# default mime type
"" => "application/octet-stream",
)

$HTTP["url"] =~ "\.pdf$" {
server.range-requests = "disable"
}

# Configuración de nuestros VHOST VIRTUALES ######################
# También podemos crear un archivo vhost.conf e incluirlo con la directiva: include "vhosts.conf"
$HTTP["host"] == "estaticos.midominio.com" {
server.document-root = "/var/www/vhosts/midominio.com/httpdocs/estaticos/"
}

5. Reconfigurar Apache para que no escuche en todas las ips (Opcional)

En caso de que tengamos instalado Apache, debemos reconfigurarlo para que no escuche en la ip que hayamos usado para Lighttpd, una vez realizado, debemos reiniciar Apache.

El archivo de configuración de Apache se encuentra generalmente en /etc/httpd/conf/httpd.conf y la directiva de configuración es “Listen”.

Adicionalmente, en caso de tener instalado Plesk, recomiendo ejecutar el comando:

/usr/local/psa/admin/bin/websrvmng --remove-ip-address --ip-address=[ip_para_lighttpd]

Para quitar la ip de los archivos de configuración de plesk, de lo contrario, nos dará problemas al reiniciar apache.

Ojo, una vez hayamos hecho esto, cada vez que agregemos ips al servidor, tendremos que ir al archivo de configuración de apache para hacer que éste escuche también en la nueva ip.

6. Arrancar Lighttpd

/etc/init.d/lighttpd start

Con esto tan sólo debemos probar a acceder a algun archivo de nuestro vhost que acabamos de crear para dar por finalizada la instalación y configuración de Lighttpd.