APE-Un chat utilizando COMET. El servidor.

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

Install APE COMET en Debian/Ubuntu

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

uname, instalando en Centos/redhat un servidor APE CometVemos 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

Pruebas APE-ServerSi 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

Modificacion DNS para APE

Creando un registro CNAME con *.ape.gestionproyectos.com

Creacion registro CNAME para APE

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

Configurar la demo de APE

y modificamos

  1. Dirección http del subdominio creado con la ruta hasta llegar a la carpeta Demos
  2. nombre completo del subdominio que hemos creado
  3. 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.

Abrir puertos del cortafuego para APE

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:

Pantalla prueba APE-Server

y al pulsar el botón, nos lanzara un test para comprobar como funciona nuestro servidor.

El resultado debería ser algo como esto:

APE-Server. Comprobacion finalizada OK

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

 

 

 

Acerca de Miguel Garcia

Programador, Desarrollador web, Formador en distintas areas de informatica y director de equipos multidisciplinares.
Esta entrada fue publicada en Desarrollo Web, Linux, Servidores Comet y etiquetada . Guarda el enlace permanente.

Deja un comentario