Hace ya varios años, estuve probando la tecnología Comet, y realmente me gusto, aunque en aquel momento su desarrollo todavía estaba en pañales y no demasiado accesible para el aficionado.
Cuatro años después, he pensado en realizar un desarrollo con un servidor Comet. El proyecto es realizar un servidor Chat de esos que vemos en muchos sitios web, pero en nuestro caso, tendremos el servidor tambien bajo control….
Para realizar el proyecto, vamos a necesitar instalar en nuestro servidor un programa que se encargara de todo el trafico del chat. Queda claro que no tiene nada que ver con el servidor web que necesitaremos para poder mover las paginas, y que para nosotros no importa que sea Apache, Nginx, o lo que os guste.
Dado que en Internet disponemos de una web (http://ape-project.org/), podemos descargarnos el software de allí. En la misma encontrareis versiones para Debian, Ubuntu, Macs, código compilado para otras versiones Linux, y como en Open-Source, tambien tendremos el códigofuente por si queremos compilarlo nosotros…cuando seamos «mayores»
Instalando en Debian/Ubuntu
A continuación vemos los pasos para instalarlo en una maquina Debian, y como todos sabeos, sera casi idéntico a si lo instalamos en un Ubuntu.
Primero averiguamos si nuestro servidor esta trabajando con un S.O. de 32 o de 64 bit, para ello utilizamos la instrucción
# uname -a
En la imagen observamos que se trata de una instalacion de 64 bits (x86_64) de forma que escogeremos esa versión.
# wget http://ape-project.org/download/stable/APE_Server-1.1.2-amd64.deb
Aunque tarda muy poco, si queréis, mientras tanto en otra consola podéis iros asegurando que vuestro sistema está actualizado lanzando un:
# apt-get update
una vez lo hayamos descargado, podemos instalarlo con
# dpkg -i APE_Server-1.1.2-amd64.deb
El nombre del fichero dependerá de que estemos instalando la versión de 32 o de 64 bits, y la versión de APE que exista en ese momento
Nota: En Debian wheezy hay un problema con libc6 porque APE espera una versión mas nueva. Tenéis una explicación de como resolverlo aqui y aqui
Instalando en RedHat, Centos,…
Dado que los señores de APE no generan paquetes «.rpm», si nuestro servidor utiliza un sistema operativo que utilice estos paquetes, como Centos, nos veremos en la necesidad de descargar los binario. Para ello, y como en el caso anterior, lo primero será averiguar que versión de SO estamos utilizando, para ello:
# uname -a
Vemos que estamos utilizando una version de 64 bits por lo que descargaremos el módulo correspondiente
# wget http://ape-project.org/download/stable/APE_Server-1.1.2-amd64.bin.zip
una vez descargado, lo descomprimimos con
# unzip APE_Server-1.1.2-amd64.bin
Aunque no sea demasiado correcto, movemos todo el directorio a etc/
# mv APE_Server-1.1.2/ /etc/ape
Le damos permisos de ejecución a nuestro ejecutable
# chmod a+x /etc/ape/bin/aped
para arrancarlo, podemos hacer:
# /etc/ape/bin/aped --cfg /etc/ape/bin/ape.conf
aunque deberemos preparar el terreno para que arranque y pare automáticamente con el equipo, para ello, podemos descargar de gitub este script y crear el fichero
/etc/init.d/aped
con el contenido descargado, dando permisos de ejecución
# chmod a+x /etc/init.d/aped
Lo añadimos a la lista de arranque con
# chkconfig --add aped
y podremos arrancar y parar aped con
# service aped start # service aped stop
Aunque no lo deberemos hacer, hasta terminar la configuración
Configurando APE-Server
La configuración del servidor la haremos modificando el fichero ape.conf que lo hemos dejado en /etc/ape/bin/; si queréis guardarlo en otro sitio, o si no está en la misma ruta de «aped«, deberéis modificar el script de arranque porque deberéis añadir el parametro «–cfg» indicando la dirección de vuestro fichero de configuración. Para este articulo, vamos a suponer que esta en /etc/ape/bin, que es donde lo hemos dejado nosotros.
De momento, nos limitaremos a modificar la linea 10 (mas o menos) que pone:
daemon = no
y como queremos que funcione continuamente (como demonio) lo cambiaremos a
daemon = yes
Salvamos el fichero, y pasamos al siguiente punto. Hemos dicho que en nuestra instalación, ya hay un servidor web funcionando (por ejemplo Apache) por lo que el puerto 80 será su responsabilidad, y nosotros vamos a instalar nuestro servidor para que pueda colaborar con él. Para ello crearemos un subdominio para poder probar cómodamente nuestro servidor.
Si teneis instalado «Virtualmin», solo es crear el subdominio en esta pantalla. En nuestro caso, hemos creado el subominio ape.gestionproyectos.com
Si lo hacemos a mano, modificaremos nuestro fichero /etc/httpd/conf/httpd.conf para añadir un nuevo host virtual
Servername yourdomain.com
ServerAlias ape.yourdomain.com
ServerAlias *.ape.yourdomain.com
DocumentRoot "/directory/of/your/choice/"
y reiniciamos nuestro servidor.
Modificamos nuestros DNS para permitir la gestión multihilo de APE
Creando un registro CNAME con *.ape.gestionproyectos.com
Si lo teneis que hacer a mano, recordad reiniciar vuestro servidor DNS para que tome los cambios. Tenéis mas información acerca de como configurar los DNS aqui.
Podemos descargar de gitub el codigo de pruebas que nos facilita la gente de APE-Project y lo descompactamos en el directorio donde dejamos apuntando el subdominio. La gente que creo el subdominio con Virtualmin, lo deberá dejar en
/home/cuenta/domains/ape.cuenta.com/public_html
para hacerlo:
//Descargarlo # wget https://github.com/APE-Project/APE_JSF/archive/master.zip // descomprimirlo # unzip master //moverlo a su sitio # mv APE_JSF-master/ /home/gestionproyectos/domains/ape.gestionproyectos.com/public_html/APE_JSF
Ahora debemos configurar la aplicacioncliente, para ello abrimos el fichero APE_JSF/Demos/config.js
y modificamos
- Dirección http del subdominio creado con la ruta hasta llegar a la carpeta Demos
- nombre completo del subdominio que hemos creado
- Dirección de nuestro server APE. Según las instrucciones, sera la dirección del subdominio, mas la indicación del puerto que hemos preparado para sus comunicaciones.
Y nos acordaremos de abrir dicho puerto en nuestro Firewall. Si estais utilizando CSF & LFD, podeis hacerlo en la pantalla que os indico.
Deberemos realizar un Restar de nuestro Firewall para que tome las modificaciones
Una vez terminado nuestro trabajo ( o la primera parte….), podemos arrancar nuestro servidor «APE» con
# service aped start
y abrir un navegador para ir a la direccion de nuestro subdominio
http://ape.subdominio.com/APE_JSF/Tools/Check/
y se nos presentará una pantalla como:
y al pulsar el botón, nos lanzara un test para comprobar como funciona nuestro servidor.
El resultado debería ser algo como esto:
en donde se ve como ha realizado la conexión con el servidor y a comprobado que los principales parámetros son correctos. A partir de este momento, ya podemos escribir nuestra aplicación Comet, cosa que haremos en el próximo articulo
Relacionado
Descubre más desde Recursos para formacion
Suscríbete y recibe las últimas entradas en tu correo electrónico.