Instalando MongoDB en un servidor SUSE SLES 10
Bueno, una vez escogida la herramienta procederemos a su instalación .
No me extenderé en los detalles ya que en su web podemos encontrar buena documentación ya escrita sobre el tema. Explicaré la configuración, cómo instalé algunos drivers y la herramienta que he escogido (RockMongo) para poder consultar el estado del servidor.
Esta instalación es para un caso sencillo, una instancia del servidor funcionando de forma aislada.
Más adelante, cuando tengamos el sharding funcionando, habrá que modificar la configuración
En mi caso para instalar una instancia en SUSE Linux Enterprise Server 10 destacaría que he tenido que usar la versión compilada estáticamente (la que aparece en el enlace de “legacy-static” en la página de descargas) y los siguientes puntos ….
Configuración del servidor
Podemos arrancar el servidor indicando las distintas opciones en líneas de comando o, preferiblemente, creando un archivo de configuración. Para un caso sencillo, de una sola instancia, el archivo de configuración que he definido es:
logpath = /directorio/para/los/logs
logappend = true
unixSocketPrefix = /directorio/para/el/socket
rest = true
fork = true
directoryperdb = true
El driver para PHP hay que compilarlo con pecl
Para instalar el driver de PHP de Mongo he tenido que compilarlo. Con las herramientas PEAR y las librerías de desarrollo de PHP instaladas ejecutaríamos …
Compilación del driver de PHP
tar -xvf mongo-1.2.10.tar
cd mongo-1.2.10
phpize
./configure
make
Y encontraremos el fichero “mongo.so” en la carpeta “modules”, que tendremos que instalar junto al resto de los drivers PHP en nuestro Apache.
Luego en el “php.ini” de la instalación de PHP habrá que añadir las líneas
Configuración del php.ini
extension=mongo.so
Compilación e instalación del driver de Python
Los ficheros correspondientes al driver de Python (PyMongo) los vamos a instalar en un “entorno virtual Python” en una carpeta para no afectar al Python del sistema.
Después de instalar las librerías de Python (paquete “python-devel”) y la herramienta virtualenv.py para crear el entorno y “pip” para descargar e instalar el driver …
Instalación de PyMongo con pip
python virtualenv.py $HOME/mipython
source $HOME/mipython/bin/activate
pip install pymongo
Para usar este entorno tendremos que indicar en los scripts de Python la ruta del intérprete:
RockMongo como herramienta de gestión del servidor
Herramientas gráficas para visualizar los datos y administrar MongoDB hay unas cuantas (un listado recomendado de ellas se puede encontrar en esta sección del articulo MongoDB de la wikipedia inglesa)
Tras probar varias la que me pareció más interesantes es RockMongo, un interfaz de administración escrito en PHP (yo lo instalé en un servidor web Apache que se ejecuta en la misma máquina que MongoDB)
Una vez descargado el fichero rockmongo-v1.1.2.zip y descomprimido su contenido en una carpeta accesible por nuestro servidor web veremos la página principal de la aplicación tiene el siguiente aspecto.
Aunque está muy bien y es muy completa para verificar lo que vamos haciendo en un primer momento, es más rápido y cómodo usar los comandos de administración con el cliente de consola “mongo”.
Añadiendo un usuario administrador
Aunque tiene soporte para autentificación con usuario y contraseña, por defecto MongoDB arranca sin ninguna opción de seguridad activada.
Para añadir un usuario administrador (de nombre y clave “mongodb” en el ejemplo) tendremos que:
- Desde la consola “mongo” añadir el usuario a la base de datos “admin”:
db.addUser("mongodb", "mongodb")
- Activar el soporte de autentificación en la configuración (y reiniciar el servidor)
Línea a añadir al archivo de configuración de Mongo
- Activar también el soporte de autentificación en la aplicación “RockMongo”
Valores de configuración a establecer en el “config.php”
$MONGO["servers"][$i]["control_auth"] = false;
Los usuarios y contraseñas se establecen para cada base de datos. La base de datos especial “admin” le indica al sistema que usuarios tienen privilegios de administración sobre todas ellas.
Comentarios
Actualmente no hay comentarios a este artículo.
Añadir comentarios ...