Instalar eAccelerator

Una de las formas de mejorar el rendimiento de un servidor con páginas web en PHP es la instalación de un sistema cache como módulo del intérprete de PHP instalado en el servidor. El uso de estos sistemas puede mejorar el rendimiento del servidor entre un 20% y un 50%. Entre los sistemas más populares que podemos encontrar se encuentran Zend Optimizer, IonCube o eAccelerator.
Vamos a centrarnos en éste último y veremos como instalarlo paso a paso sobre un servidor Linux desde los fuentes. Para poder compilar correctamente eAccelerator debes tener instalado phpize, en Fedora puedes obtenerlo usando yum install php-devel, en Debian apt-get install php-dev.
Lo primero es descargar el paguete correspondiente a la última versión de eAccelerator (en este caso la 0.9.5.3). Podemos elegir descargarlo en .tar.bz2 o .zip, usaremos el .tar.bz2 y lo descargamos, descomprimimos y entramos en el directorio:

wget http://bart.eaccelerator.net/source/0.9.5.3/eaccelerator-0.9.5.3.tar.bz2
tar jvxf eaccelerator-0.9.5.3.tar.bz2
cd eaccelerator-0.9.5.3

Una vez dentro del directorio, vamos a empezar a compilar los fuentes. Si sólo tienes un intérprete de PHP instalado (suele ser lo más habitual) puedes ejecutar:

phpize
./configure
make

En caso de tener más de una instalación deberás indicar donde se encuentra la que quieres usar. Sustituye la ruta en la primera línea (/usr/php) por aquella donde tengas instalado PHP:

PHP_PREFIX="/usr/php"
$PHP_PREFIX/bin/phpize
./configure –enable-eaccelerator=shared –with-php-config=$PHP_PREFIX/bin/php-config
make

Realizado esto ya tenemos el módulo preparado para su instalación, ejecutamos:
make install
Una vez terminada la instalación se nos mostrará la ruta donde se ha copiado el módulo del eAccelerator que debemos configurar en el php.ini, si todo ha ido bien debes tener algo como esto:

Installing shared extensions:    /usr/lib/php/modules/20080501/

Ahora debemos indicar en el php.ini nuestro nuevo módulo para que sea cargado con el intérprete. Abrimos el php.ini, si no sabes donde está localizado ejecuta phpinfo(). Editamos el archivo y buscamos una sección llamada "Dynamic Extensions". Buscamos una directiva llamada extension_dir y la definimos con la ruta donde guardamos las extensiones:

extension_dir = "/usr/php/modulos/"

A continuación agregamos las siguientes líneas que incluyen el nombre del módulo y su configuración:

extension="eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"

Guardamos el php.ini y ahora debemos crear el directorio temporal que usará eAccelerator, definido en la configuración que acabamos de agregar al php.ini como eaccelerator.cache, este directorio debe tener permisos de escritura:

mkdir /tmp/eaccelerator/
chmod 777 /tmp/eaccelerator/

Termidamo esto ya tenemos eAccelerator intalado en nuestro servidor. Sólo falta reiniciar apache para que la nueva configuración tenga efecto.

Ataques PDoS, daños en el hardware

A través de Alt1040, me entero de un nuevo tipo de ataques llamados PDoS (Permanent Denial-of-Service) que provocaría daños en el hardware, haciendole creer al sistema atacado que debe actualizar su firmware, provocando que no pueda volver a ser usado, ya que una restauración de software no sería suficiente.
Aunque por el momento es algo teórico, Rich Smith de HP System Security Lab, demostrará, el próximo 22 de mayo durante la celebración del EUSecWest en Londres, como algunos sistemas conectados a la red serían vulnerables a este tipo de ataques, según publica Dark Reading.

Calcular el tiempo de carga de una página en PHP

Es posible que deseemos conocer el tiempo de carga de una página en PHP, entre otras cosas por saber si está tardando demasiado tiempo en mostrarse al usuario, una de las reazones más frecuentes para que el usuario abandone la web y busque el resultado en otro sitio.

Al principio del documento debemos calcular el tiempo en el momento que comienza a cargarse la página, para ello colocamos el siguiente código:

<?php
// Inicio del documento
// Calculamos segundos y microsegundos desde Epoch Unix
$tiempo = microtime();
// Separamos en un array el tiempo en segundos y en microsegundos
$tiempo = explode(» «,$tiempo);
// Sumamos segundos y microsegundos
$tiempo_inicial = $tiempo[0] + $tiempo[1];
?>

Al final de la página, volvemos a calcular el tiempo en ese momento y calculamos la diferencia entre ambos, imprimiendo el resultado por pantalla.

<?php
// Fin del documento
$tiempo = microtime();
$tiempo = explode(» «,$tiempo);
// Calculamos en tiempo al final del documento
$tiempo_final = $tiempo[0] + $tiempo[1];
// Calculamos en tiempo de carga
$tiempo_carga = $tiempo_final – $tiempo_inicial;
// Redondeamos el valor del flotante a tres decimales
$tiempo_carga = round($tiempo_carga,3);
echo «Pagina generada en {$tiempo_carga} segundos»;
?>

Con esto ya tendríamos calculado el tiempo de carga de una página en PHP. Esto puede ser de gran utilidad para generar tiempos de carga y enviar el resultado a un log o hacer que nos envíe un correo si se supera un determinado tiempo de carga.

II Congreso ForumDominios.com

A través del blog de Carlos Blanco, me entero de que se ha abierto el plazo de inscripción para el II Congreso ForumDominios que se celebrará el 12 y 13 de junio en el Citilab de Cornellá (Barcelona).

"Entre las novedades que presenta el Congreso este año se encuentra la inclusión de talleres de carácter práctico. Además, la segunda jornada se desarrollará íntegramente en inglés y contará con la asistencia de algunos de los profesionales de dominios más relevantes del área internacional y también, por supuesto, de los patrocinadores principales del congreso: InterNetX y NameDrive. Si quieres más información sobre los contenidos también puedes visitar el Programa provisional del congreso o suscribirte al Blog ForumDominios.com donde irá apareciendo toda la información relativa al congreso."

El precio del evento es de 100 euros, todos aquellos que se registren antes del 28 de mayo tendrán un descuento de 20 euros

Firefox 3 Release Candidate 1

Ya está disponible para su descarga la "casi" versión definitiva de Firefox 3, la Release Candidate 1. Esta será practicamente la versión definitiva de Firefox 3, programada para Junio de 2008, a falta de que se reporten fallos de última hora. Si todavía no usas Firefox, puede que estas razones te lleven a hacerlo:

  • Opción de guardar las pestañas por las que estás navegando, por lo que cuando vuelvas a iniciar Firefox estas se abrirán automaticamente, retomando lo que estabas haciendo.
  • Recordar contraseña sin que aparezca el cuadro de diálogo, en su lugar en la parte superior aparece un mensaje que te permitirá recordar al contraseña una vez tengas iniciada la sesión.
  • Nuevo gestor de descargas que te permitirá pausar una descarga y reanudarla posteriormente, con una barra para buscar en descargas anteriores.
  • Menor uso de menoria, con lo que es más rápido sobre todo si no dispones de lo último en hardware.
  • Mantienen los estándares web, lo que permite que todos trabajemos en la misma dirección tando en la creación como en la visualización de la web.
  • Barra de direcciones realmente espectacular, ahora no solo busca automaticamente por direcciones web cuando escribes en la barra de direcciones, sino que busca también en el nombre y no sólo en recientes, sino en todo el historial web. El sistema anterior buscaba solo por coincidencias en el inicio de la palabra, ahora da igual si está en el principio o en medio, o al final. Realmente esta es una de las mejoras que más se va  a notar a nivel usuario.

Aún sin estar lista la versión 3, ya se está pensando en la 4, que será lanzada en 2009. Firefox 4 incorporará 2 componentes importantísimos, y que harán de Firefox mucho más que un navegador. Por un lado el desarrollo de Prism, que permitirá tener aplicaciones web como si se tratase de programas de escritorio. Por otro Weave, lo que permitirá a los usuarios de Firefox mantener su navedor sin importar que equipo utilicen o donde se encuentren. Todo lo que tengas en tu Firefox, estará guardado en un servicio en linea, que se sincronizará con la copia de Firefox que uses en cada momento.
Fuente: VivaPHP | ALT1040

Flash Player 10 casi listo

Flash Player 10, con el nombre en código "Astro", está casi lista para su lanzamiento, de momento ya se puede descargar la preversión desde la página de Adobe Labs.
Entre las novedades de la nueva versión destacan los efectos en 3D, los filtros y efectos personalizados y la posibilidad de ajustar la calidade del video en función del ancho de banda. Con esta última característica se podrá servir vídeo sin interrupciones, bajado la calidad para que el streaming sea contínuo y sin cortes en caso necesario.
Fuente: Error500 | Unijimpe | Made in Flex | Joan Garnet | CristaLab