Diferencia entre revisiones de «Usuario:ManuelRomero/mongoDB/instalacion»
De WikiEducator
(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| | ||
− | + | ;Instalación en general | |
− | + | ||
https://docs.mongodb.com/manual/administration/install-community/ | https://docs.mongodb.com/manual/administration/install-community/ | ||
− | + | ;Instalación en ubuntu | |
− | + | http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/ | |
}} | }} | ||
− | + | ==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''''' | |
− | *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. | ||
− | * | + | *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 | + | *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 | ||
− | |||
− | + | ||
+ | ==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
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