miércoles, abril 09, 2008

Hacer que Apache escuche en otro puerto, además del puerto 80

Puede ser útil hacer que nuestra web sea accesible por otro puerto que no sea el 80 estándar (y así evitar problemas con proxies/cachés y demás, en peticiones en las que nos interesa obtener siempre una respuesta del servidor final).

Vamos a suponer que queremos poner como puerto adicional el 666

Método 1) Configuración de Apache

Buscamos "Listen" en /etc/httpd/conf/httpd.conf
y hacemos que quede así:

Listen 80
Listen 666

Y luego en la configuración del VirtualHost en particular:

<VirtualHost 207.x.x.x:80>

Lo cambiaremos, añadiendo la misma IP pero con el otro puerto:
<VirtualHost 207.x.x.x:80 207.x.x.x:666>

Método 2) Firewalling

Como alternativa, podemos forzar el tema desde iptables en unix:

$IPT -t nat -A PREROUTING -p tcp --dport 666 -i eth0 -j REDIRECT --to-port 80
(donde $IPT el comando iptables correspondiente)

Xcache y Suhosin para PHP

Ya tengo todos los servidores que controlo usando Xcache y Suhosin para PHP.

Xcache es una caché como Turck MMCache, pero más eficiente (y esta última ya había quedado obsoleta por abandono del programador). Sólo echo de menos la escritura de variables de sesión en memoria, pero lo cierto es que va como un tiro. El autor participa también en el proyecto lighttpd (un webserver ligero-eficiente).
http://xcache.lighttpd.net/

En cuanto a Suhosin, añade alguna capa más de seguridad al núcleo de PHP, aunque es mucho más recomendado en servidores compartidos, que no es mi caso, donde no te puedes fiar del código que ponga la gente por ahí. El autor es un descontento con las políticas de seguridad de los PHP developers.
http://www.hardened-php.net/

De modo que ahora este es el "output" de mis instalaciones de PHP ;)

PHP ****** Copyright (c) 1997-2008 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies
with XCache v1.2.2, Copyright (c) 2005-2007, by mOo
with Zend Extension Manager v1.2.0, Copyright (c) 2003-2007, by Zend Technologies
with Suhosin v0.9.20, Copyright (c) 2002-2006, by Hardened-PHP Project
with Zend Optimizer v3.2.8, Copyright (c) 1998-2007, by Zend Technologies