Hoy es el día "G"

Sólo queda esperar, pacientemente, la hora «G». :)

UPDATE: ¿Prueba superada? Creo que si. La entrevista ha sido una chorrada, principalmente ver mi nivel de inglés y cuatro preguntas técnicas muy muy básicas. La semana que viene o la otra tendré otra, ya de más nivel técnico.

2nd UPDATE: Ya tengo fecha para el «segundo round»,  el jueves que viene.

Scripts daemontools para lighttpd y PHP

[spanish]

He preparado unos scripts para controlar con daemontools el lighttpd y los procesos PHP con spawn-fcgi. Aquí está el README, el tar con los scripts, y aquí se puede navegar por los directorios.

PD: si, me gusta daemontools. Me ayuda a que un montón de servicios no caigan aunque un servidor pueda tener un fallo puntual y algún proceso muera, evitando que me despierten a las tantas de la noche. Es un gran invento. :)

[/spanish]

[english]

I’ve prepared a set of daemontools scripts to launch and monitor lighttpd and its PHP processes spawned with spawn-fcgi. Here is the README, a tar file with the scripts, and here you can browse the directories with all the scripts.

PS: yes, I like daemontools. It helps me achieving high availability with many services, keeping them up even when a server misbehaves and some process dies. This avoids a lot of late night calls. It’s a great invention. :)

[/english]

PHP con lighttpd 1.5.0

[spanish]

La forma de configurar PHP en lighttpd 1.5.0 ha cambiado: ya no se usa mod_fastcgi si no mod_proxy_backend_fastcgi, y lighty ya no se encarga de lanzar los procesos PHP si no que tendremos que hacerlo nosotros con ayuda del programa spawn-fcgi.

Para configurar mod_proxycore bastaría con ésto (en lighttpd.conf, o conf-enabled/php.conf p.ej.):

[code lang=»bash»]

server.modules += ( «mod_proxy_core», «mod_proxy_backend_fastcgi» )

$PHYSICAL[«existing-path»] =~ «.php$» {
proxy-core.allow-x-sendfile = «enable»
proxy-core.protocol = «fastcgi»
proxy-core.backends = ( «unix:/tmp/php-fastcgi.sock» )
proxy-core.max-pool-size = 16
}
[/code]

Y para lanzar los procesos PHP, ejecutar a mano o mejor desde un script en init.d:

[code lang=»bash»]

/usr/bin/spawn-fcgi -s /tmp/php-fastcgi.sock -f /usr/bin/php-cgi -u www-data -g www-data -C 5 -P /var/run/spawn-fcgi.pid

[/code]

[/spanish]

[english]

PHP integration and configuration in lighttpd 1.5.0 has changed: mod_fastcgi isn’t used any more, you need mod_proxy_backend_fastcgi instead; and lighty won’t launch the PHP processes, you’ll have to start them using the spawn-fcgi program.

In order to setup mod_proxycore for use with PHP, this is the bare minimum configuration (put it in lighttpd.conf, or conf-enabled/php.conf):

[code lang=»bash»]

server.modules += ( «mod_proxy_core», «mod_proxy_backend_fastcgi» )

$PHYSICAL[«existing-path»] =~ «.php$» {
proxy-core.allow-x-sendfile = «enable»
proxy-core.protocol = «fastcgi»
proxy-core.backends = ( «unix:/tmp/php-fastcgi.sock» )
proxy-core.max-pool-size = 16
}
[/code]
And for the PHP fast-cgi processes, just run or prepare an init.d script that runs the following command:
[code lang=»bash»]

/usr/bin/spawn-fcgi -s /tmp/php-fastcgi.sock -f /usr/bin/php-cgi -u www-data -g www-data -C 5 -P /var/run/spawn-fcgi.pid

[/code]

[/english]

lighttpd 1.5.0-SVN r1992 para Debian Sarge

[spanish]

He preparado paquetes .deb de lighttpd 1.5.0-SVN r1992 para Debian Sarge. Están basados en el último paquete de testing, actualizado a la 1.5.0. Falta sólo el mod_mysql_vhost, no tengo ahora mismo instalado el mySQL 5.0 ni sus librerías. Ésta página ya se sirve desde lighttpd 1.5.0, así que es la mejor prueba de que funciona. ;)

Se puede descargar aquí.

(PD: si, ya se, lo que tendría que hacer es dejarme de historias y actualizar a Etch…)

ACTUALIZACIÓN (20070921): Nueva versión con soporte para linux-aio-sendfile. Hace falta también el port de libaio.

[/spanish]

[english]

I’ve built .deb packages of lighttpd 1.5.0-SVN r1992 for Debian Sarge. They’re based off the latest packages in testing, upgraded to 1.5.0. The only thing missing is mod_mysql_vhost, as I don’t have mySQL 5.0 installed at the moment. This server already runs lighty 1.5.0, so the fact that you’re reading this page is the best proof that it works. ;)

The packages are available for download here.

(PS: I know, I know, what I should do is upgrade to Etch altogether…)

UPDATE (20070921): new release with linux-aio-sendfile support. You’ll need the libaio port too.

[/english]