Diferencia entre revisiones de «Usuario:ManuelRomero/mongoDB/instalacion»

De WikiEducator
Saltar a: navegación, buscar
 
(3 revisiones intermedias por el mismo usuario no mostrado)
Línea 2: Línea 2:
 
<div id=parrafo>
 
<div id=parrafo>
 
{{MRM_Web|Title=Referencia oficial|
 
{{MRM_Web|Title=Referencia oficial|
https://docs.mongodb.com/
+
;Instalación en general
*Instalación
+
 
  https://docs.mongodb.com/manual/administration/install-community/
 
  https://docs.mongodb.com/manual/administration/install-community/
*Instalación en ubuntu
+
;Instalación en ubuntu
*http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/
+
http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/
 
}}
 
}}
  
*Proceso de instalación:
+
==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
 
#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 -
 
  wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
;Gestión de firmas y claves  
+
*Gestión de '''''firmas y claves'''''
*Para la instalación necesitamos disponer de una implementación de openPGP  
+
*Para la instalación necesitamos disponer de una implementación de '''''openPGP'''''.
*[https://www.goanywhere.com/managed-file-transfer/encryption/open-pgp?__hstc=265834128.c6b8aa7425238171dc3bd42aeb8be117.1584955950745.1584955950745.1584955950745.1&__hssc=265834128.1.1584955950746&__hsfp=1619013292 '''''OpenPGP'''''] es un estándar de código abierto de '''PGP''' '''''Pretty Good Privacy para uso público.
+
*[https://www.goanywhere.com/managed-file-transfer/encryption/open-pgp?__hstc=265834128.c6b8aa7425238171dc3bd42aeb8be117.1584955950745.1584955950745.1584955950745.1&__hssc=265834128.1.1584955950746&__hsfp=1619013292 '''''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 [https://gnupg.org/ gnupg] que es una implementación libre de '''''OpenPGP'''''
+
*Vamos a instalar, tal como proponen en la página oficial [https://gnupg.org/ 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.
+
*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.
 
+
 
<source lang=php>
 
<source lang=php>
 
  sudo apt-get install gnupg
 
  sudo apt-get install gnupg
 
</source>
 
</source>
*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  
+
*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.
 
<source lang=bash>
 
<source lang=bash>
 
  wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
 
  wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
 
</source>
 
</source>
 +
===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.
 
*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.
*Esto lo hacemos con el siguiente comando
+
*Para ello escribimos:
 
<source lang=bash>
 
<source lang=bash>
 
  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
 
  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
Línea 34: Línea 34:
 
  sudo apt-get update
 
  sudo apt-get update
 
</source>
 
</source>
 +
===Instalando mongo===
 
*Instalamos mongo
 
*Instalamos mongo
 
<source lang=bash>
 
<source lang=bash>
 
  sudo apt-get install  mongodb-org
 
  sudo apt-get install  mongodb-org
 
</source>
 
</source>
 +
===Verificando servicio y analizando ficheros===
 
;Arrancar / parar el servicio
 
;Arrancar / parar el servicio
 
*Como todos los servicios de linux tengo las diferentes opciones
 
*Como todos los servicios de linux tengo las diferentes opciones
Línea 48: Línea 50:
 
  sudo service mongodb  status
 
  sudo service mongodb  status
 
</source>
 
</source>
*Vemos la siguientes salid
+
*Vemos la siguientes salida
 
[[Archivo:service_mongo_status.png]]
 
[[Archivo:service_mongo_status.png]]
 
*Interesante, lo analizamos posteriormente, ver la ubicación del fichero de configuración '''''/etc/mongodb.conf'''''y el binario'''''/usr/bin/mongod'''''
 
*Interesante, lo analizamos posteriormente, ver la ubicación del fichero de configuración '''''/etc/mongodb.conf'''''y el binario'''''/usr/bin/mongod'''''
Línea 77: Línea 79:
 
*Se irán creando ficheros con los datos según creemos nuevas bases de datos con colecciones. Cada base de datos dos ficheros
 
*Se irán creando ficheros con los datos según creemos nuevas bases de datos con colecciones. Cada base de datos dos ficheros
  
;Establecer restricción de acceso
 
  
;Instalación de un docker
+
 
 +
==Instalación en un docker==
 
*Una buena opción es instalar un docker  que tenga esta servicio y utilizarlo (es la opción recomendada)
 
*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'''
 
+
<source lang=bash>
 
+
docker run --name mongodb -p 27017:27017 -v mongodbdata:/data/db mongo
 
+
</source>
 +
*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'''
  
 
</div>
 
</div>

Última revisión de 00:56 25 mar 2020





Proceso de instalación

Obtener una clave pública para la instalación instalar

  1. 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

Service mongo status.png

  • 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

Service mongo active.png

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
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