Creando nuestro propio paquete Debian de NodeJS de forma simple
Cuando queremos instalar NodeJS en nuestro servidor Debian, vamos a encontrarnos con que; o tenemos que instalarlo a mano desde fuentes (con todos los problemas que esto implica cuando tenemos muchos servidores) o tenemos que instalar una version vieja, ya que la que esta en los repos de Debian es viejisima o no existe.
La idea de esta guia, es generar nuestro propio paquete .deb de NodeJS, lo cuál nos permitirá facilmente instalarlo en todos nuestros servidores, mantenerlo actualizado, etc.
Para esto, vamos a usar el script de Mark Webster (https://github.com/mark-webster/node-debian). Los pasos a seguir son los siguientes:
Generando nuestro paquete:
- Primero, actualizacemos la info de los repos de Debian:
sudo apt-get update
- Instalar todos las herramientas & dependencias necesarias:
sudo apt-get install devscripts debhelper dpkg-dev make g++ cdbs dh-buildinfo openssl pkg-config build-essential curl zlib1g-dev wget dpkg-dev cdbs devscripts debhelper dh-buildinfo pkg-config zlib1g-dev git-core
- Bajar el script que vamos a usar:
cd /usr/local/src/ git clone https://github.com/mark-webster/node-debian.git
- Una vez que termine de bajar todo, ejecutamos el script que generará el paquete deb:
cd node-debian/ ./build.sh
Va a tomarse unos minutos en compilar & generar el paquete, finalmente arrojará algo como:
dpkg-buildpackage: full upload; Debian-native package (full source is included) /usr/local/src/node-debian -rw-r--r-- 1 root staff 29903070 may 27 20:04 nodejs_0.10.8-1_amd64.deb
Ese es el paquete que vamos a usar para instalar en todos nuestros servers nodejs.
Instalando nuestro paquete en cada servidor
Para instalarlo en cada servidor, es tan simple como copiar el archivo mencionado a cada equipo, y ejecutar dpkg.
En el equipo que lo compilaste:
scp /usr/local/src/node-debian/nodejs_0.10.8-1_amd64.deb usuario@servidor-nuevo:/tmp
Y luego en donde querés instalarlo:
root@servidor-nuevo# dpkg -i /tmp/nodejs_0.10.8-1_amd64.deb
Vamos a ver algo como…
Selecting previously deselected package nodejs. (Reading database ... 30417 files and directories currently installed.) Unpacking nodejs (from .../nodejs_0.10.8-1_amd64.deb) ... Setting up nodejs (0.10.8-1) ... update-alternatives: using /usr/bin/node to provide /usr/bin/js (js) in auto mode. Processing triggers for man-db ... root@servidor-nuevo#
Listo! ya tenemos la ultima version de nodejs instalada & funcionando:
root@servidor-nuevo:/# type node node is hashed (/usr/bin/node) root@servidor-nuevo:/# node -v v0.10.8 root@servidor-nuevo:/# type npm npm is hashed (/usr/bin/npm) root@servidor-nuevo:/# npm -v 1.2.23
Eso es todo!
Hi,
There’s a ppa repository for Ubuntu : https://launchpad.net/~chris-lea/+archive/node.js/
😉