Para tener más control sobre la forma en que el fichero de monitorización es presentado en el lado cliente, vamos a utilizar PHP (Personal home page tools Hypertext Pre-processor) para crear una página Web (dinámica) que haga dicho trabajo. Para ello instalaremos el correspondiente módulo en apache y escribiremos un pequeño programa en PHP que muestre el contenido del fichero en la forma en que nosotros deseamos. Nótese que en este caso es el servidor el que genera un objeto Web dinámico que contiene el fichero y que, por tanto, la mayor parte del trabajo se realiza en el host remoto. Esto es importante tenerlo en cuenta si el número de clientes va a ser muy alto porque este esquema no escalaría.
# Instalamos el PHP.
remote_host@root# apt-get install php5 # Debian’s # Habilitamos el módulo php en apache. remote_host@root# a2enmod php5 # Recargamos los módulos que han sido seleccionados en apache. remote_host@root# /etc/init.d/apache2 force-reload |
# Instalamos el PHP.
remote_host@root# yum install php # Recargamos los módulos que han sido seleccionados en apache. remote_host@root# /etc/init.d/httpd reload |
# Nos aseguramos de que apache interpreta PHP.
remote_host@root# cat << EOF > /var/www/test_php.php <?php phpinfo(); php?> EOF local_host@usuario$ firefox http://remote_host/test_php.php & # Una vez que todo parece ir correctamente, creamos el script en PHP y # HTML que sirve el fichero. remote_host@root# cat << EOF > /var/www/read_data.php <?php \$myFile = "datos.txt"; // El fichero de datos \$fh = fopen(\$myFile, ’r’); // Abrimos el fichero fseek(\$fh,-10,SEEK_END); // Nos vamos a 10 l’ineas del final // Imprimimos las ’ultimas 10 l’ineas while (!feof(\$fh)) { \$theData = fgets(\$fh); echo \$theData. "<br />"; } fclose(\$fh); // Cerramos el fichero php?> EOF # Nota importante. El PHP es muy sensible a los caracteres # extra~nos que puedan aparecer cuando se realiza la copia # usando el rat’on. Si estos ocurren, util’icese un editor # de ficheros ASCII. # Accedemos al fichero remoto. local_host@usuario$ firefox http://remote_host/read_data.php & # Si algo va mal podemos revisar el fichero # /var/log/apache2 (debian) o # /var/log/httpd (fedora core) # para ver si hay errores de interpretaci’on# # del script en PHP. |
Para ver uso que realmente se hace de la red en esta forma de acceso remoto, utilícese un analizador de tráfico como pueda ser Wireshark. Compruebe que efectivamente el servidor Web sólo envía las 10 últimas líneas de texto del fichero datos.txt.