viernes, 10 de septiembre de 2010

Instalar MongoDB en Linux / Mac OSX

Como breve introducción, mongoDB es una base de datos orientada a Documentos ( y no relacional como las tan conocidas ), sin esquema y de alto rendimiento, que pertenece al nuevo paradigma de NoSQL.


No voy a explicar nada que no puedan encontrar en la misma página de mongoDB, sólo voy a detallar una instalación fácil de actualizar y que se puede hacer tanto en Linux como en Mac OSX

Para empezar, descargamos de la pagina oficial, el .tar correspondiente a nuestro sistema y arquitectura o bien por consola usando wget o curl dependiendo el sistema

 ~$ wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-1.6.2.tgz 

Descomprimimos el archivo que bajamos y lo movemos al directorio correspondiente.
Como el directorio /usr/local esta protegido, usamos sudo

 ~$ sudo tar xfz mongodb-linux-x86_64-1.6.2.tgz -C /usr/local/. 

Luego nos aseguramos de tener los permisos adecuados, esto es sólo si los datos de la DB van a estar almacenados en este directorio (es decir, como en este tutorial).

 ~$ sudo chown $USER /usr/local/mongodb-linux-x86_64-1.6.2 

Creamos un link simbólico para simplificar el acceso a mongoDB y su posterior actualización.

 ~$ sudo ln -s /usr/local/mongodb-linux-x86_64-1.6.2 /usr/local/mongodb 

Creamos el directorio para contener el log de la base de datos, y los datos de la misma
 ~$ sudo mkdir /var/log/mongodb
~$ sudo mkdir /usr/local/mongodb/data

Agregamos un archivo de configuración en /etc/mongod.conf con el siguiente contenido:
dbpath = /usr/local/mongodb/data
logpath = /var/log/mongodb/output.log
bind_ip = 127.0.0.1
master = true

# DEFAULTS
# port = 27017
# noauth = true

Por ultimo, agregamos el directorio al PATH del sistema, así podemos ejecutar MongoDB desde cualquier lado. Para esto, abrimos el archivo ~/.bashrc y agregamos

 export PATH="$PATH:/usr/local/mongodb/bin" 

Ya que tenemos ese archivo abierto, les recomiendo agregar algunos alias para que sea mas cómodo comenzar o finalizar el servicio de mongoDB

# start mongodb server
alias mongod="mongod -f /etc/mongod.conf &"
# mongodb service pid
alias mongo?="cat /usr/local/mongodb/data/mongod.lock"
# stop mongodb server
alias killmongo="[ -s /usr/local/mongodb/data/mongod.lock ] && kill $(mongo?)"


Abrimos una nueva terminal, ejecutamos mongod, y el servicio comenzara!

Por último, para actualizar la versión de mongoDB hay que repetir los primeros 3 pasos y actualizar el link simbólico para que apunte a la versión de mongoDB que queremos usar.

Enlaces:
mongoDB