Usuario:ManuelRomero/mongoDB/instalacion
De WikiEducator
< Usuario:ManuelRomero | mongoDB
Revisión a fecha de 00:55 25 mar 2020; ManuelRomero (Discusión | contribuciones)
https://docs.mongodb.com/manual/administration/install-community/
http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/ |
Contenido
Proceso de instalación
OBtener una clave pública para la instalación instalar
- Importamos la clave pública para garantizar la autentificación de los paquetes
wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
- Gestión de firmas y claves
- Para la instalación necesitamos disponer de una implementación de openPGP.
- OpenPGP es un estándar de código abierto de PGP ' Pretty Good Privacy para uso público.
- Vamos a instalar, tal como proponen en la página oficial gnupg que es una implementación libre de OpenPGP.
- Con esta aplicación podremos gestionar las claves públicas y privadas necesarias para la instalación y garantizar que los fuentes vienen de su sitio y no de otro.
sudo apt-get install gnupg
- Una vez instalado descargamos la clave pública del sitio web y la agregamos a nuestro fichero de claves públicas de claves pública.
wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
Agregando los repositorios
- Ahora creamos un nuevo repositorio de instalaciones, para lo cual en nuestro directorio de /etc/apt/sources.list.d vamos a agregar un nuevo fichero con ubicaciones de repositorios de dónde instalar paquetes.
- Para ello escribimos:
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list
- Actualizamos los paquetes
sudo apt-get update
Instalando mongo
- Instalamos mongo
sudo apt-get install mongodb-org
Verificando servicio y analizando ficheros
- Arrancar / parar el servicio
- Como todos los servicios de linux tengo las diferentes opciones
sudo service mongodb {start|stop|force-stop|restart|force-reload|status} </soruce> *Para arrancar y ver el estado <source lang=php> sudo service mongodb start sudo service mongodb status
- Vemos la siguientes salida
- Interesante, lo analizamos posteriormente, ver la ubicación del fichero de configuración /etc/mongodb.confy el binario/usr/bin/mongod
- Verificando la instalación
- Ya queda verificada en el apartado anterior
- Podemos ver la versión
- Fichero de configuración
- Ubicado en /etc/mongodb.conf
- Alguna directiva importante
dbpath
- Ubicacion dónde mongo almacena los datos
- Es habitual modificar esta ubicación almacenándolo en /data/db
- En tal caso, hay que crear el directorio, con permisos de escritura y modificar esta directiva
auth
- Establece si el acceso a la base de datos requiere o no autentificación
- Si requiere, el usuario acreditado ha de estar creado en la base de datos
- Lo veremos en la parte crud
- El resto de directivas creo que se entienden bien. aquí la referencia https://docs.mongodb.com/manual/reference/configuration-options/
- Fichero log del uso y funcionamiento del servicio
- Ubicado según directiva logpath del fichero de configuración.
- Directorio donde se guardan los datos
- Ubicado según directiva dppath del fichero de configuración.
- Importante mongo debe tener permisos de escritura/lectura en este directorio
- Se irán creando ficheros con los datos según creemos nuevas bases de datos con colecciones. Cada base de datos dos ficheros
Instalación en un docker
- Una buena opción es instalar un docker que tenga esta servicio y utilizarlo (es la opción recomendada)
- Podemos buscar imágenes de docker que vengan con la instalción realizada
- La siguiente imagen crea mongo exportanodo el puerto (mongo toma el puerto 27017 para escuchar, y crea un volumen en /data/db
docker run --name mongodb -p 27017:27017 -v mongodbdata:/data/db mongo
- En esta caso estamos creando un volumen llamado mongodbdata que será un directorio en la máquina anfitriona donde realmente estarán los datos físicamente, aunque también los tendremos mapeados y disponibles en el docker mongodb bajo el directorio /data/db