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.
  1. Putty a un servidor:

  1. Ejecute PuTTy
  2. En el menú de configuración seleccione la categoría Session
  3. Introduzca el nombre de su dominio o IP en el campo Host Name y seleccione el protocolo SSH
  4. Introduzca un nombre para esta conexión en el campo Saved Sessions
  5. Vuelva al menú de configuración y seleccione la categoría SSH
  6. Asegúrese de que está marcada la opción 2 en Preferred SSH protocol version
  7. Seleccione nuevamente la categoría Session
  8. Para guardar la configuración pulse Save y Open para conectar
Configuración de acceso SSH

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.

0gRa3DSxLgrD04HcEjVEeKDxYF7ZyqZ8mjed6lc2kICP4SkKFckyCkInJ27oxWGSwPcciy9tn7MB R4U7V6Wc1ZP76 6FP74oMYQKyvYmAU39VLG7zMvoWP58AJe3nQCWzngqrhKnQ

  1. 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.

QQt3FiHCB

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:
wget http://ftp.gnu.org/gnu/tar/tar-1.26.tar.gz
iRAXb88u0TVenG LW 6lBKtoiu9Z0BoOILhVjijlLvPR8zSlJ2SI9hxpMqmIz cNpMkzQrpiFPA akRHW NzvOb0IXVcTnc y2SF gEz62qCl7DS5ZjieGo5kZrjJS0qvo0P pcaZA

Ahora lo descomprimimos el gz
gunzip tar-1.26.tar.gz

Y descomprimimos el .tar así
tar -xvf tar-1.26.tar
ZtRoz81wR hJqBBLsuOQLnMHFQt1dOJoFBz6T8yWec

Nos metemos dentro del archivo descomprimido
cd tar-1.26

Lo preparamos para su instalación.
./configure FORCE_UNSAFE_CONFIGURE=1
BX2IxTWxlaXnfUTAmAOj bCkZYc76sJ6UmPdLkjkD4qWIO9AL62szCqSULfP 7oAJfaDAY8N3NEQjKVWqfUTqu1y1ZTH46Ei7BB26PGEaWCp1j3vrXmNzo1X9VI7wS18EcAIsa jGg
Creamos los archivos de la intalacion
make
Lo instalamos
make install
3XtVXB sIPE6d ZBh9xGeqMTN3cMPjMqo3C0BDn74u4mYJbqfZ 4VCIeuDzmWZ6j3 6LBtUf05lpSvnrkB2RUmr SnJl6Vx7rEN1Cj8JtITm2yXDUk0E4 Qn rIYkfd dp9 nyJwg
Colocamos los archivos en fuente en usr/local/bin/tar
cp -f src/tar /usr/local/bin/tar
ZAJBZkvgmmrpQKVNZpcTZpiavjH0YgAFy0U9V RtNRHHRNg vqZWwEVgjPEQiTguyWuhS1LihY8ilbdZe3WJRUTJKVf qdfWxzVCeuaSYL2rPKSbHKRhh7o9F8Z ldbHI6fHrBiYZw
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.
aL9pUaxvD3JDqfgGtLqVBZAN2J00bdqgLMkTzdZvvY0rYQn6TPmwekTZlBVSoIqayBzjPlpKnSWXmoYpHuE6sJmkbKunElRkize8T pyyqSZU5TEvXE 7n1dvclfWCZcBB30CBbEOA
Listo tenemos la versión 1.26 del TAR Ahora viene lo bueno la instalación de nodejs.

  1. Instalamos git:
Primero asegurate que tenes git instalado o simplemente instalalo con:
sudo yum install git
Qag0V1YR3wDOmk6LQKWO8c0a9UBwDcyDM7F72IH2FmhhUvvReTsKW8

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
6yPSBDzJfzokDEmdbv

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)
wFHDdb58ThDfVrKeIz8fabrtVx37ey0 4gnbZwNKoCotilEh5Q7y2nvN9X1COdpBsIVvoWCYVc4DQVNEqbbTAhWdjvisorAZFI6gdrOhVWKmh

socket.io
npm install [email protected]


Express

npm install -g [email protected] express -v


  1. Vamos a hacer un chat para poner a prueba nuestro servidor
Primero abrimos el mcedit
Ar64M55lN0pYeUvlBSq624OlZBqZm7SzZy8AXezB3iFjGbmofligcYbSNG7QHlwUeWmXp4lT4w 7AD8PruZY9BlqvKJG8EfSQ9qq2UONMVMzV0sguKeS5ll DR7jF QLZUa4ZBuv2g

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);
       })
   })
})

UxKFRvFKubD75yJzAwzyIW pJ2UoGLfxwCMlpj4nDxlFgptRMhSM1HbIx1JfovdVPvwR3H aleSw VjGttkAl1g38kJNKPDH RWJMP18aZdIKP11QzWgTSulcZWDUMTcZXqZndDcMA

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).
6J4LL2CiVkj7QRAoR43OBBQV4U24P 9eI0AKe9MyxThs8A8RdcicQRHXUv gLparwNBwIgT8aFcs85LWNg7JQavuRacxnzhU6OoBp7pIWZsSnAxKUQ73ypqymMU15 jrAMbPRyHgqQ

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
L7eA H5lzc nP5rmDEhuAQYgJ6QfIRD FhYXrUQ4xD1HUxr7Rg7ivGHeNqBO4rKmee3 3Qg8nWZ3Yj0ylvFkBJJWA6jY9sNWewisJ wp tIwuS4z SVjCFixdv

ltkAX a5M2M75JQ XGMedQ 9SPQY8L zg8RrhoCiiz61qdT8Si3RpGlYZA9TH46QfX22UXbrMcjkr2I5TUa569XVRwVsDzj5pdadj490XtgSwu2p5 XFBRyJ5sHynHPwh9zNGZ2vdg

Obtendra esto
0AP2XA0OQYO4SVDhbkIOaOgocqFQX3L700xn1CophMqHFnTZ V1wP n5hmo8j3lBTg4KEDtp8XX9HJx38AMEaoXkgX9qimaW3sHMurA9 ZnSSL1lDoiqiORrSDNt3rr 83AM2Vt04Q
ThpQeFZ hUp1CvX3x5O58n4QpDw4 C FWKSH3K A Q6zeJfNirAEeLXsaPbfcjjjOf6ek8ScDCQnPNDPpZse0tkqhvy6qr75GJdgEIy ilUQVLNcr7Riy3wwT1bHHykA94oFMRhf2A
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
[email protected]
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

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *