miércoles, marzo 24, 2010

FreeBSD + Ajax-Chat

Requirements
============

Server-Side:

- PHP >= 4
- MySQL >= 4
- Ruby >= 1.8 (optional)


Client-Side:

- Enabled JavaScript
- Enabled Cookies
- Flash Plugin >= 9 (optional)

Installation
============

1) Descargar la ultima version de ajax chat
# cd /usr/local/www
# wget http://ufpr.dl.sourceforge.net/project/ajax-chat/ajax-chat/0.8.3/ajax_chat-0.8.3.zip
# gunzip ajax_chat-0.8.3.zip

2) Crear la DB chat en mysql
Creandola
$ mysqladmin -uroot create glpi

Garantizando acceso a la database
$ mysql -uroot -e"GRANT ALL ON chat.* TO admin@localhost IDENTIFIED BY 'MICLAVE'" chat

Nota:
MICLAVE se debe cambiar por la clave correcta

(choose your own values for USERNAME and PASSWORD)

3) Poner estas lineas en el /usr/local/etc/apache22/httpd.conf

# Modificacion para CHAT inicio
Alias /chat /usr/local/www/chat/

AllowOverride Options FileInfo
Order allow,deny
Allow from all

# Modificacion para CHAT fin

4) Configurar ajax chat

Configuration settings
----------------------

# cd /usr/local/www/chat/lib
# cp config.php.example config.php
# edit config.php

$config['dbConnection'] = array();
// Database hostname:
$config['dbConnection']['host'] = 'localhost';
// Database username:
$config['dbConnection']['user'] = 'admin';
// Database password:
$config['dbConnection']['pass'] = 'MICLAVE';
// Database name:
$config['dbConnection']['name'] = 'chat';
// Database type:
$config['dbConnection']['type'] = 'mysql';
// Database link:
$config['dbConnection']['link'] = null;


Channel settings:
-----------------

# cd /usr/local/www/chat/lib/data
# cp channels.php channels.php.original
# edit channels.php

User settings:
--------------

# cd /usr/local/www/chat/lib/data
# cp users.php users.php.original
# edit users.php

Upload to the server
--------------------

Upload the chat folder to your server somewhere under your document root:
e.g. http://alpha/chat/



Creation of database tables
---------------------------

Execute the provided installation script by visiting the following URL with your browser:
http://alpha/chat/install.php

Se ven estas lineas
---

Database tables created successfully - please delete this file (install.php).
---

Delete the installation script
------------------------------

Delete the file install.php from the chat directory on your server.


Ready! Just place a link to the chat directory on your website. :)

# cd /usr/local/www/chat
# mv install.php install.php.original

5) Configurando los usuarios admin y moderator

# cd /usr/local/www/chat/lib/data
# edit users.php

Se ve algo como esto
---


Se pueden cambiar las lineas respectivas para cambiar el password, ejemplo:

Para el usuario admin, que tiene role 1
$users[1]['password'] = 'PASSWORDADMIN';

Para el usuario moderator, que tiene role 2
$users[2]['password'] = 'PASSWORDMODERATOR';

Se guardan los cambios y listo!

Si luego quiero ver los logs, ingreso a:
http://alpha/chat/?view=logs

Username: admin
Password: PASSWORDADMIN

CREAR CHANNELS ADICIONALES
http://sourceforge.net/apps/mediawiki/ajax-chat/index.php?title=Custom_chat_channels

Limiting the list of forums used as chat channels
# edit /usr/local/www/chat/lib/config.php

$config['limitChannelList'] = array(123,456,789);

Adding additional chat channels
# edit /usr/local/www/chat/lib/data/channels.php

Cambiar
// Sample channel list:
$channels[0] = 'Public';
$channels[1] = 'Private';

Por
// Sample channel list:
$channels[0] = 'Public';
$channels[1] = 'Private';
$channels[2] = '123';
$channels[3] = '456';
$channels[4] = '789';

# edit /usr/local/www/chat/lib/class/CustomAJAXChat.php

Add
$this->_channels = array_merge($this->_channels, array('Extra_Public_Channel_1'=>123, 'Extra_Public_Channel_2'=>456, 'Extra_Public_Channel_3'=>789));

before

}
return $this->_channels;

Add
$this->_allChannels = array_merge($this->_allChannels, array('Extra_Public_Channel_1'=>123, 'Extra_Public_Channel_2'=>456, 'Extra_Public_Channel_3'=>789));

before

}
return $this->_allChannels;

ACTUALIZACION:
Ajax-Chat no funciona con PHP superior a 4, luego de un tiempo actualizo a esa version y Ajax-Chat ya no funciona por un parametro de fecha y no hay version nueva que use ese nuevo parametro, como solucion, cambio Ajax-Chat por http://www.phpfreechat.net , que es muy facil de instalar y parece funcionar bien!
Por defecto al montarlo todos inician con el usuario guest, para que pida que la persona escriba algun nombre, se desactiva con // en el archivo index.php del sitio
//linea desactivada $params["nick"] = "guest".rand(1,1000);