Archive for November, 2007

La petite mort

Written on November 15th, 2007
.

No dan escalofríos al ver el video?

Configuración de Lighttpd sobre Linux con PHP5, Ruby on Rails y SSL

Written on November 12th, 2007
.

imagen 1 Configuración de Lighttpd sobre Linux con PHP5, Ruby on Rails y SSLRecientemente he migrado mi server casero de Apache a Lighttpd, con la eterna promesa de la reducción consumo de recursos, sobre todo para deploys de múltiples aplicaciones en Rails. No se si es una panacea, pero aquí voy a relatar los puntos más algidos sobre la configuración de un server de estas características, así como mis valoraciones iniciales e intermedias.

Primer comentar que mi principal objetivo era conseguir una configuración lo más simplificada y menos estresante de cara a minimizar el tiempo de configuracion. Lighttpd es inmediato en GNU/Linux, y con pocos pasos tenemos un server para desarrollo muy bueno. Vamos allá

Instalación

Partimos de una Debian estable en la que ya había corriendo, como digo, un apache 2.0 del que últimamente no estaba muy contento ya que, mi server está muy limitado en recursos de memoria. Recientemente he encontrado un módulo de 64 Mb más, por lo que el server se quedaría con 200 mb de memoria física, que para un server casero no está nada mal.

Pues como siempre se instala un server y despues de limpiar la configuración anterior de apache en command line:

sudo aptitude install lighttpd openssl mysql php5-cgi

Instalo php5-cgi para utilizar el módulo fastcgi del lighty. Listo ya esta nuestro server instalado.

Configuración

Aquí configuraremos el soporte de PHP y Ruby para despues configurar nuestros virtual hosting, de forma muy simple, y el soporte para SSL.

El php5 ya lo tenemos instalado de antes, por lo que no voy a explicar como se hace, pero la decisión de instalar PHP5 es simple, ahora no hay soporte para PHP4 y además la versión PHP5 tiene muchisimas mejoras respecto a su antecesor. Si alguno de vosotros prefiere PHP4 la instalación es muy parecida a esta y resulta trivial.
Editamos el archivo /etc/lighttpd/lighttpd.conf y añadimos el soporte para fastcgi

server.modules              = (
            "mod_access",
            "mod_alias",
            "mod_accesslog",
            "mod_fastcgi",
[....]

Ahora configuraremos el módulo fastcgi en el archivo /etc/lighttpd/conf-available/10-fastcgi.conf

fastcgi.server    = ( ".php" =>
 ((
 	"bin-path" => "/usr/bin/php5-cgi", # ruta al wrapper php5-cgi, php4-cgi
 	"socket" => "/tmp/php.socket",     # ruta al socket de php
 	"max-procs" => 2,				   # numero máximo de procesos
 	"idle-timeout" => 20,
 	"bin-environment" => (
 		"PHP_FCGI_CHILDREN" => "4",
 		"PHP_FCGI_MAX_REQUESTS" => "10000"
 	),
 	"bin-copy-environment" => (
 		"PATH", "SHELL", "USER"
 	),
 	"broken-scriptfilename" => "enable"
 ))
# y ahora la configuración para aplicaciones rails
".fcgi" =>
        ( "dominio.com" =>
        (
               "socket" => "/tmp/rails-new.socket",
               "bin-path" => "/var/www/rails_app/public/dispatch.fcgi", #ruta al dispatcher rails
               "bin-environment" => ( "RAILS_ENV" => "production" )
               )
        )
)

Reiniciamos el server

# /etc/init.d/lighttpd restart

Y ya tenemos un lighty con php5

Ahora podemos configurar distintos hosting de forma muy muy simple, y además muy intuitiva, así como de distintos subdominios. Editamos el archivo /etc/lighttpd/lighttpd.conf y añadimos según convenga:

$HTTP["host"] == "subdominio.dominio.com" {
	server.document-root = "/var/www/subdominio.dominio.com/" }
$HTTP["host"] == "sub.dominio.com" {
	server.document-root = "/var/www/dominio.com/subdominio" }
$HTTP["host"] == "dominio2.es" {
	server.document-root = "/var/www/dominio2.es/" }

Como veis la configuración es inmediata.

SSL

Activaremos aquí el soporte para cifrado de la conexión para que ciertas zonas de nuestro server tengan más seguridad, aquí teneis un manual más extenso de generación de certificados para lighttpd

$SERVER["socket"] == "dominio.com:443" {
	ssl.engine = "enable"
	ssl.pemfile = "/etc/lighttpd/dominio.com/dominio.com.pem" #certificado del servidor
	ssl.ca-file = "/etc/lighttpd/dominio.com/CA_issuing.crt" #certificado intermedio
	server.name = "dominio.com"
	server.document-root = "/home/lighttpd/dominio.com/https" # path del servidor
	server.errorlog = "/var/log/lighttpd/dominio.com/serror.log"
	accesslog.filename = "/var/log/lighttpd/dominio.com/saccess.log"
}

Reiniciamos el server

# /etc/init.d/lighttpd restart

Y si nada ha fallado tenemos nuestro lighttpd totalmente funcional.

Recursos y Valoración

Mi valoración inicial es que el lighttpd, de primeras es mucho más fácil de administrar (bajo mi punto de vista), lógicamente bajo el recorte de funcionalidades respecto a apache, la configuración si se lee resulta muy intuitiva y con solo leerla aprendes la forma de configuración.
En cuanto al consumo de recursos, en mi server sin iniciar ningún servidor de aplicaciones, en este caso mongrel, el consumo de memoria se redujo un 30%, es decir

Mas información

Podeis encontrar más información en la página www.lighttpd.net

Review de Mac OS Leopard

Written on November 3rd, 2007
.

Ha llegado ya el nuevo sistema operativo de Mac, Mac OS X Leopard. Vengo usando Mac OS X, aúnque no mucho, desde que me he comprado el MacBook. Reconozco que no estoy muy ducho en todo este sistema operativo, pero donde haya un bash, no hay problema.

Pasemos entonces a valorar el nuevo “Leopard” que tanto esperaban los maqueros.

¿Primeras impresiones?

nuevo finder en leopard Review de Mac OS LeopardPrincipalmente podemos destacar el cambio de diseño de la interfaz, que dan una experiencia al usuario mucho más confortable, cosa que envidio mucho para GNU/Linux, mucho más usable, y lo más importante mucho más homogénea. Es decir, todas las aplicaciones comparte el mismo diseño e interfaz, ahora mucho más estilizado.

El rediseño del Dock, junto con las funcionalidades de creación de stacks, que como dice la palabra son archivos los cuales son visionados como pilas, muy productivo para el dia a día.

Rendimiento

64 bits en leopard Review de Mac OS LeopardEste es un tema que como informático he revisado mucho, todavía no he tenido tiempo de hacer un benchmark con alguno de los programas que he hecho por ahí, ni tampoco he hecho pruebas de estrés del sistema, pero puedo confirmar y confirmo que el rendimiento el sistema es muy superior, y de largo a su predecesor “Tiger”, las aplicaciones inician más rápido y en general el sistema va mucho más fluído, incluso mi amado/odiado Firefox.

Según he leido este aumento de rendimiento se debe a que “Leopard” ahora sí trabaja sobre un núcleo nativo de 64 bits, por lo que no tiene que trabajar sobre añadidos o extensiones para aprovechar los últimos Core 2 Duo. En mi caso tengo un Macbook de segunda hornada, Core 2 Duo 2.0 Gb, y podría afirmar que el rendimiento ha subido un 40%, a ojo.

Posiblemente en post siguientes publique alguna prueba de estrés, para ver como se comporta el sistema.

Interacción con el sistema

Como he dicho antes el nuevo rediseño que la marca de la manzana ha hecho a su sistema es notorio, y se nota nada más insertar el usuario y contraseña al acceder al sistema. Da al usuario una confortabilidad que otros sistemas no tienen, muy a mi pesar por mi querido GNU/Linux. Todo está bajo, mi juicio, más integrado y simplificado, sin perder un ápice de funcionalidad.

Desarrollo en Mac OS X Leopard

unix system en leopard Review de Mac OS LeopardEs un punto que me importa mucho a mi. Aúnque vengo desarrollando en Ruby on Rails durante algún tiempo, lo he hecho siempre bajo Debian, pero ha agradado saber que ahora Leopard viene con Ruby 1.8.6 y Rails 1.2.3 es decir Ruby on Rails de serie. Aúnque no todo va a ser flores, ya que de momento Java 6 no es compatible con Leopard, espero que se pongan las pilas los chavales de Sun Microsistems.

Han hecho un lavado de cara a XCode, la utilidad de desarrollo de Apple, con soporte para algunos lenguajes, C, C++, Object-C, Java, Ruby, Python, bash, entre otros. Han añadido documentación predictiva, además de haberla ampliado.

Conclusiones

Seguro que se me queda algo en el tintero, pero concluyo diciendo que Mac OS X Leopard es un sistema estable, agradable, usable, eficiente y que teniendo sistemas como GNU/Linux o Mac OS X la gente que todavía piensa en antivirus, virus, troyanos y demás es porque  quiere.