Instalar NodeJS en Debian y No Morir en el Intento

nodejs

Bueno esta semana he tenido que montar varios servidores unos con NodeJS y otros con django, el de django para mi par amontar un blog en python y cuando vean el instalar un django y no morir en el intento es que lo he terminado y no es que sea complicado el server sin si, lo que no logro hacer andar es el blog que en teoría debería ser lo más sencillo, aunque bueno lo he dejado por falta de tiempo la otra semana ya espero tener el blog montado.

Pero bueno, vamos con nodejs, no tengo ninguna app que quiera hacer andar pero el lo de las apps no es cosa mia yo voy a más a lo que es el server y como no debian es mi favorito y aquí les dejo mi instalación o la manera que uso para instalarlo.

He visto muchos tutoriales para el señor Ubuntu y no me gusta nada, primero por que los que lo hacen no tienen ni idea y segundo por que va por gestor de paquetes y aunque los repos sean buenos no esta instalada la última versión y tercero, ubuntu no es un buen webserver, no es malo pero ya saben lo que pienso ( seguro no lo saben pero me gusta decirlo para no dar explicaciones largas )

En fin, vamos a lo de la instalación:

Instalar NodeJS en Debian

Primero descargamos el source desde nodejs.org

wget http://nodejs.org/dist/v0.10.5/node-v0.10.5.tar.gz

Descomprimimos

tar -xzvf node-v0.10.5.tar.gz

Movemos a donde lo queramos y de paso renombramos

mv node-v0.10.5 /opt/node

Entramos a la carpeta

cd /opt/node

Si tenemos un server estándar sin nada instalamos algunos paquetes: ( antes apt-get update )

apt-get install build-essential make openssl libssl-dev

Con eso a de bastar, aunque si nos pide algo más en el configure lo instalamos también.

Ahora instalamos:

./configure

Esto es rápido….

make

Make tarda bastante…. 5 o 6 minutos más o menos depende del server.

Si vemos algo así al final esta bien:

apshot.a -Wl,–end-group -lm -ldl -lrt
LINK(target) /opt/node/out/Release/node: Finished
touch /opt/node/out/Release/obj.target/node_dtrace_header.stamp
touch /opt/node/out/Release/obj.target/node_dtrace_provider.stamp
touch /opt/node/out/Release/obj.target/node_dtrace_ustack.stamp
touch /opt/node/out/Release/obj.target/node_etw.stamp
touch /opt/node/out/Release/obj.target/node_perfctr.stamp
touch /opt/node/out/Release/obj.target/node_systemtap_header.stamp
make[1]: se sale del directorio `/opt/node/out’
ln -fs out/Release/node node

Si da error a tirarse los pelos y buscar en google o dejar un comentario ( los comentarios en el blog se cierran a los 7 días, si tienen problemas pueden abrir un tema en foro.skamasle.com en el área de soporte técnico )

make install

Si termina con algo así esta todo listo:

installing /usr/local/lib/node_modules/npm/node_modules/abbrev/package.json
installing /usr/local/lib/node_modules/npm/node_modules/abbrev/LICENSE
installing /usr/local/lib/node_modules/npm/node_modules/abbrev/README.md
installing /usr/local/lib/node_modules/npm/node_modules/abbrev/lib/abbrev.js
installing /usr/local/lib/node_modules/npm/node_modules/osenv/package.json
installing /usr/local/lib/node_modules/npm/node_modules/osenv/LICENSE
installing /usr/local/lib/node_modules/npm/node_modules/osenv/osenv.js
installing /usr/local/lib/node_modules/npm/node_modules/osenv/README.md
symlinking ../lib/node_modules/npm/bin/npm-cli.js -> /usr/local/bin/npm
updating shebang of /usr/local/bin/npm to /usr/local/bin/node

Eso es todo, aunque podemos hacerlo con git, yo es que siempre descargo el source a veces el git tarda un poco aunque es lo mismo, tenemos que tener git instalado:

apt-get install git-core

Descargamos ( creamos una carpeta o ahí donde estemos, es mejor crear la carpeta )

git clone https://github.com/joyent/node.git

Luego es lo mismo

cd node

./configure
make
make install

El resultado es el mismo pero yo prefiero descargar el paquete.

En versiones viejas había que instalar npm aparte, ahora ya viene integrado y podemos ejecutarlo de una vez:

npm –help

Usage: npm

where is one of:
add-user, adduser, apihelp, author, bin, bugs, c, cache,
completion, config, ddp, dedupe, deprecate, docs, edit,
explore, faq, find, find-dupes, get, help, help-search,
home, i, info, init, install, isntall, issues, la, link,
list, ll, ln, login, ls, outdated, owner, pack, prefix,
prune, publish, r, rb, rebuild, remove, restart, rm, root,
run-script, s, se, search, set, show, shrinkwrap, star,
stars, start, stop, submodule, tag, test, tst, un,
uninstall, unlink, unpublish, unstar, up, update, version,
view, whoami

npm -h quick help on

Podemos instalar modulos: npm install forever si queremos ejecutar nuestro server “para siempre” si “para siempre” el muy jodido se cae a veces ¬¬

Para usarlo: forever start server.js

Así de fácil es, es casi tan fácil como hacer apt-get install nodejs, aunque en debian para tener una versión un poco más nueva tendríamos que estar en la rama testing.