NODEJS + SOCKET.IO + CHAT EN CENTOS 5.5
NODEJS + SOCKET.IO + CHAT EN CENTOS 5.5
Este manual explica como instalar NODEJS en un servidor CENTOS 5.5. El primer pasó es conectarnos vía SSH a nuestro servidor, yo utilizo PUTTY.
-
Putty a un servidor:
-
Ejecute PuTTy
-
En el menú de configuración seleccione la categoría Session
-
Introduzca el nombre de su dominio o IP en el campo Host Name y seleccione el protocolo SSH
-
Introduzca un nombre para esta conexión en el campo Saved Sessions
-
Vuelva al menú de configuración y seleccione la categoría SSH
-
Asegúrese de que está marcada la opción 2 en Preferred SSH protocol version
-
Seleccione nuevamente la categoría Session
-
Para guardar la configuración pulse Save y Open para conectar
Al iniciar la conexión, se abrirá la ventana del terminal. Introduzca su nombre de usuario y pulse Intro, después, introduzca su contraseña y pulse Intro. Si el nombre de usuario y password son correctos podrá iniciar la sesión SSH.
-
Verificar que versión del tar que tenemos:
Esto es debido a que se tienen que descomprimir algunos archivos de socket.io y por lo regular los ditros de CENTOS tienen versiones viejas de tar por lo regular 1.15 y nosotros requerimos 1.26 hacia arriba.
Yo tengo tar1.26 porque lo reinstale, a continuación muestro el manual para instalar tar1.26. Claro que si ustedes tienen una versión más resiente así déjenlo.
Tiene que colocar una por una estas líneas en su SSH.
1
2
3
4
5
6
7
8
|
wget http://ftp.gnu.org/gnu/tar/tar-1.26.tar.gz
gunzip tar-1.26.tar.gz
tar -xvf tar-1.26.tar
cd tar-1.26
./configure FORCE_UNSAFE_CONFIGURE=1
make
make install
cp -f src/tar /usr/local/bin/tar
|
Ahora explico los siguientes pasos:
Este comando descarga tar-1.26.tar.gz en el directorio en el que nos encontramos:
Ahora lo descomprimimos el gz
gunzip tar-1.26.tar.gz
Y descomprimimos el .tar así
tar -xvf tar-1.26.tar
Nos metemos dentro del archivo descomprimido
cd tar-1.26
Lo preparamos para su instalación.
./configure FORCE_UNSAFE_CONFIGURE=1
Creamos los archivos de la intalacion
make
Lo instalamos
make install
Colocamos los archivos en fuente en usr/local/bin/tar
cp -f src/tar /usr/local/bin/tar
Por último cerramos sesión saliéndonos de putty y entrando de nuevo y volvemos a escribir en el Putty tar –version y tiene que paraecer esto.
Listo tenemos la versión 1.26 del TAR Ahora viene lo bueno la instalación de nodejs.
-
Instalamos git:
Primero asegurate que tenes git instalado o simplemente instalalo con:
sudo yum install git
Obtenemos el ultimo fuente de nodejs desde su git en github:
git clone http://github.com/ry/node.git && cd node
./configure
make
make install
Ahora podes ejecutar el comando “node -v” y deberias obtener la version actualmente instalada en el sistema.
3b.-Intalar Nodejs descargando un tar:
wget http://nodejs.org/dist/v0.10.4/node-v0.10.4.tar.gz
tar zxf node-v0.10.4.tar.gz
cd node-v0.10.4
./configure
make
make install
Descargamos NPM
Este es un manejador de paquetes para extender a node, muy similar a las gemas en Ruby. Su instalacion es realmente facil:
curl http://npmjs.org/install.sh | sh
Si mal no recuerdo les comente que se tiene que instalar la versión 1.26 de tar ya que npm descomprime los archivos a descargar y la versión 1.15 de tar no los descomprime y marca errores (lo cual no es nuestro caso)
-
Vamos a hacer un chat para poner a prueba nuestro servidor
Primero abrimos el mcedit
Pegamos el siguiente código
var io=require(‘socket.io’).listen(5555);
io.sockets.on(‘connection’,function(socket){
socket.on(‘set nickname’,function(nickname){
socket.set(‘nickname’,nickname,function(){
socket.emit(‘ready’);
})
})
socket.on(‘set room’,function(room){
socket.join(room);
socket.broadcast.to(room).emit(‘new in’);
socket.on(‘msg’,function(msg){
io.sockets.in(room).emit(‘messageRoom’,msg);
})
})
})
Click en guardar y lo guardamos con el nombre chat.js
Ejecutamos el archivo previamente guardado así
node chat.js
Si esta bien nuestro código aparecerá
info – socket.io started (Esto significa que nuestro servidor está corriendo).
Ahora subimos los archivos de front que son los siguientes:
Chat.php
<!DOCTYPE html>
<html>
<head>
<link href=”css/css.css” rel=”stylesheet” type=”text/css” />
<script src=”http://ipservidor:5555/socket.io/socket.io.js” type=”text/javascript”></script>
<script src=”js/jquery.js”></script>
<script src=”js/chat.js”></script>
</head>
<body>
<div id=”contenedor”>
<div id=”nickarea”>
<label>Nickname</label><input type=”text” id=”nickname” placeholder=”nickname”/>
<label>Room</label><input type=”text” id=”room” placeholder=”room”/>
</div>
<div id=”messagearea”>
<label>message</label><input type=”text” id=”message” placeholder=”message”/>
<div id=”chatArea”></div>
</div>
</div>
</body>
</html>
css/css.css
#contenedor
{
border-radius:1em;
background-color:#ccc;
width:50%;
margin:1em auto;
display:block;
}
div input,div label
{
display:block;
text-align:center;
margin:1em auto;
padding: 0.5em;
width: 70%;
}
js/chat.js
var ws=io.connect(“http://ipservidor.mx:5555″);
$(document).ready(function(){
var nickname=$(“#nickname”);
nickname.focus();
var message=$(“#message”);
var room=$(“#room”);
$(“#messagearea”).hide();
nickname.bind(‘keypress’,function(e){
if(e.keyCode==13){
if((room.val()!=””) && (nickname.val()!=””)){
ws.emit(‘set nickname’,nickname.val());
ws.emit(‘set room’,room.val());
}
}
})
room.bind(‘keypress’,function(e){
if(e.keyCode==13){
if(room.val()!=”” && nickname.val()!=””){
ws.emit(‘set nickname’,nickname.val());
ws.emit(‘set room’,room.val());
}
}
})
ws.on(‘ready’,function(){
$(“#messagearea”).show(“slow”);
message.focus();
$(“#nickarea”).fadeOut();
})
message.bind(‘keypress’,function(e){
if(e.keyCode==13){
//alert(message.val());
ws.emit(‘msg’,message.val());
}
})
ws.on(‘messageRoom’,function(data){
$(“#chatArea”).append(data+”<br/>”);
})
})
Los resultados
Te logueas con tu nombre y una sala de chat (cualquier combinación alfanumérica) en 2 navegadores diferentes y pensionas enter
Obtendra esto
Escribimos nuestro mensaje en cada navegador y se refleja en el otro.
Manual realizado el día 30 de Dic. 2011 por Eugenio Chaparro Maya
NODEJS TUTORIAL 1
NODEJS TUTORIAL 2
NODEJS TUTORIAL 3
NODEJS TUTORIAL 4
NODEJS TUTORIAL 5
Fuente instalación NODEJS CENTOS http://paulomcnally.blogspot.com/2011/12/actualizar-tar-126-en-centos.html
Fuente de instalación de putty http://www.aemilius.net/soporte/manuales/acceso-ssh-ssl-secure-shell-telnet-PuTTY.html