Busindre » Blog Archive » "Ajax Im" Creando nuestra propia red de mensajería instantanea vía Web.

"Ajax Im" Creando nuestra propia red de mensajería instantanea vía Web.

July 12th, 2008 by Busindre

Ajax IM es un programa de mensajería instantánea (IM) programado bajo php, mysql y Ajax (xml + javascript) para ser usado bajo tecnología web, es una especie de web messenger libre que nada tiene que ver con MSN, yahoo, gtalk, jabber y demás redes de mensajería. Ajax IM lo podemos adecuar a nuestro gusto y necesidades para crear de forma muy simple y fácil nuestra propia red de mensajería instantánea web, que es a lo que está orientado. Lógicamente el uso de tecnología Ajax es lo que aporta la posibilidad de mensajería en tiempo real, muy útil para integrarlo en proyectos web del tipo redes sociales, uso en intranet de oficinas, usarlo entre los distintos ordenadores de una LAN casera o comunidad wiffi,.. Todo lo que se nos ocurra. El IM tiene sonidos, emoticonos, capacidad para bloquear contactos, distintos estados de usuario, salas de chat, capacidad de sacar al escritorio las ventanas de chat de la web, contestaciones automáticas... Solo necesitamos de un ordenador con Apache, Mysql y soporte para PHP donde se loguearán y chatearan los distintos usuarios.

Web del proyecto: http://www.ajaxim.com/

Paquete AjaxIM (YUI): http://www.ajaxim.com/download/3.4_yui
Paquete AjaxIM: http://www.ajaxim.com/download/3.4 (Con documentación)

NOTA: La compresión YUI se utiliza para comprimir ficheros de hojas de estilo y programas javascript , eliminando los espacios en blanco que encuentre, disminuyendo la longitud de los nombres de variable, borrando comentarios que encuentre en el archivo, etc... Esto produce scripts mucho más compactos, que ocupan menos espacio en disco y por consiguiente generan una pequeña mejora en velocidad.

Traducción al Castellano: http://www.ajaxim.com/language/spanish/05022008

Instalación de Ajax IM


$ mkdir Ajaxim
$ mv ajax_im_3.4_yui.zip Ajaxim/
$ cd Ajaxim/
$ unzip ajax_im_3.4_yui.zip

1. Configurar la información de la base de datos en el fichero config-sample.php

// MySQL Database Configuration
$sql_user   = 'stallman';
$sql_pass   = 'billgates.';
$sql_host   = 'localhost';
$sql_db     = 'AngelaWinter';

// This is the prefix for the ajax im MySQL tables -- this can usually be left alone.
// (If upgrading from a version <3.1, set the prefix to '')
define('SQL_PREFIX', 'AngelaWinter_');

De usar Plesk, al crear la nueva base de datos debemos añadir esos valores configurados en el fichero config-sample.php:

Inicio > Servicios > Bases de datos
Crear base de datos (Servidor / Nombre bdd)
Añadir usuario de BB.DD (Usuario / password)

Crear base de datos Manualmente:


# mysqladmin -u stallman create AngelaWinter -p
# mysql -p
mysql> grant all privileges on AngelaWinter * to stallman@localhost identified by 'billgates';

2. Renombramos el fichero config-sample.php como config.php

$ mv config-sample.php config.php

3. Instalamos el paquete de idioma (Español)

$ cd languages/
$ wget http://www.ajaxim.com/language/spanish/05022008
$ unzip 05022008
$ rm 05022008

4. Configurar las opciones del fichero config.js (En la carpeta 'js' )

En este fichero podemos configurar un montón de cosas interesantes:

var siteName = 'ajax im'; (Titulo de la página)
var allowNewUsers = true; (Permitir / Denegar creación de usuarios abierta)
var languageOptions = [
['spanish', Spanish']
]; (Idiomas de la interfaz)
var theme = 'dark'; (Tema de la interfaz)

Estas son las opciones más básicas, las siguientes opciones especifican cosas como son el tamaño de las ventanas de chat, notificaciones, configuración de los tiempos de espera, uso de emoticonos,... No las trataremos en el post.

Para asegurar un poco más la aplicación proponemos modificar el valor de estas opciones en el fichero de configuración:

var pingTo = 'busi_ajax_im.php';
var adminPingTo = 'busi_admin.php';

En consola:

$ mv admin.php busi_admin.php
$ mv ajax_im.php busi_ajax_im.php

NOTA: También es aconsejable modificar el prefijo por defecto (SQL_PREFIX') de la base de datos como medida de seguridad frente a posibles ataques de inyección sql.

5. Subimos la carpeta con la configuración y modificaciones al servidor donde tenemos nuestro hosting.

6. Damos permisos a los emoticonos:

Una vez subido el directorio de AjaxIM al servidor, nos metemos dentor del directorio y aplicamos los siguientes permisos

chmod 0777 buddyicons

Esto se puede hacer desde el mismo cliente de FTP.

7. Visitamos desde nuestro navegador el fichero install.php y seguimos las instrucciones pertinentes.

Navegador: http://www.domino.com/Ajaxim/install.php

El fichero install.php mostrará un formulario para poder introducir al usuario administrador en la base de datos. (Una vez logueados podemos dar premisos de administrador a quien queramos y cuando queramos).

8. Borrar el fichero install.php y update.php

9. Usarlo :-)

Capturas de pantalla:

Captura 1 (Popup): http://www.busindre.com/archivos/ajax_im_popup.png
Captura 2 (Uso normal): http://www.busindre.com/archivos/ajax_im.png
Captura 3 (Sala de chat): http://www.busindre.com/archivos/ajax_im_sala.png

Posted in Noticias Windows |

8 Responses

  1. fede Says:

    Muy bueno!! pero siguiendo el tutorial no funciona . Hay que modificar algo mas ? Requiere alguna config de apache?? .
    El error de apache :
    File does not exist: /var/www/msg/images, referer: http://192.168.177.249/msg/

    Slds !!

  2. Busindre Says:

    Con esa información que das no te puedo ayudar, ese error te dice que no encuentra ese directorio,.. El tutorial sí funciona, entre otras cosas porque dice lo mismo que el documento oficial de AjaxIM, pero un poco más explicado. Te dio error la instalación de la base de datos? Que paso te ha dado error?,.. AjaxIM muestra los errores y avisos según lo instalas si algo no está correcto.

    No se que directorio es "msg/images" ni que relación tiene con AjaxIM, no parece tener que ver con la aplicación AjaxIM según se instala por defecto, pero si tu has cambiado algo en su instalación o después de la misma,.. No te puedo ayudar con eso que me dices, pero intenta seguir el manual de forma correcta y con cabeza sabiendo lo que haces y siempre atento a los mensajes de aviso de AjaxIM.

    Saludos

  3. fede Says:

    Gracias !!! Encontre el error parece que esta Hardcodeado el directorio de instalacion "Ajaxim" . Yo lo instalé bajo el directorio "msg" cambien el directorio a "Ajaxim" y funcionó.
    Muy buena tu web !!! La tengo entre favoritas .

    Saludos ...

  4. andres Says:

    hola qiosiera saber cuales son las tablas que se utilizan ya lo descargue pero no encuentro las tablas.
    a_ndre_s69@hotmail.com

  5. jose luis Says:

    oye lo monte sobre IIS y Wamp muestra todo perfecto registra pero cuando mando los mensajes u un contacto no le llegan y no puede visualizarlo

  6. Busindre Says:

    Mira los logs de mysql (De la máquina donde esté alojado AjaxIM) con el comando "tail -f" para ver lo que sucede en tiempo real según envías mensajes, a ver si dice algo.

    Un saludo

  7. Dario Says:

    Buenas, gente les pido un favor. Lo instale y hasta ahi todo barbaro. Tengo un problema que no me levanta los usuarios que posee cada una como amigo. y no envia mensajes entre ellos, y al tratar de enviar un mensaje me dice q no esta logeado, pero se ve en verde en la ventana derecha.

  8. Busindre Says:

    Si lo has instalado correctamente mira los logs de php y mysql para intentar atajar el problema.

    PD: Mírate la documentación de AjaxIM a ver si no estás haciendo algo de forma correcta. De todas formas intenta probarlo algo más a fondo.

    Saludos

Leave a Comment

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.