Diferencia entre revisiones de «Usuario:ManuelRomero/mongoDB»
De WikiEducator
Línea 12: | Línea 12: | ||
#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 - | ||
+ | {{MMR_Actividad|Title=Gestión de firmas y claves | | ||
*Para la instalacción necesitamos disponer de una implementación de openPGP | *Para la instalacció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'''''] | + | *[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''''' | |
+ | *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 | ||
+ | <source lang=bash> | ||
+ | wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add - | ||
+ | </source> | ||
+ | *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 | ||
+ | <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 | ||
+ | </source> | ||
#Agregamos el sitio de donde instalar paquetes a nuestro source.list | #Agregamos el sitio de donde instalar paquetes a nuestro source.list | ||
+ | <source lang=bash> | ||
echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list | echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list | ||
+ | </source> | ||
#Actualizamos los paquetes | #Actualizamos los paquetes | ||
+ | <source lang=bash> | ||
sudo apt-get update | sudo apt-get update | ||
+ | <source> | ||
#Instalamos mongo | #Instalamos mongo | ||
sudo apt-get install -y mongodb-org | sudo apt-get install -y mongodb-org |
Revisión de 22:45 23 mar 2020
Instalación en linux ubuntu
https://docs.mongodb.com/
https://docs.mongodb.com/manual/administration/install-community/
|
- Proceso de instalación en ubuntu14.04
- 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 -
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 -
- 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
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
- Agregamos el sitio de donde instalar paquetes a nuestro source.list
echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
- Actualizamos los paquetes
sudo apt-get update <source> #Instalamos mongo sudo apt-get install -y mongodb-org ===Ejecutando=== *Arrancamos el servicio sudo service mongod start *Miramos la versión instalada (Se habrá instalado la última estable) mongod -version Documentación *Conviene leerse la documentación de http://www.mongodb.org primero, que está bastante bien, *Importante aprender a hacer sentencias con JSON *Interesa saber más qué estamos haciendo que cómo hacemos luego las llamadas al controlador de bajo nivel...) *Para hacer pruebas, recomendado instalarse MongoDB y rockmongo (que es como un phpMyAdmin pero de MongoDB): http://code.google.com/p/rock-php/wiki/rock_mongo ===Concepto=== *Mongo db es una base de datos de documentos '''''Document Database''''' *En lugar de Base de datos, tablas, columnas y filas, tenemos base de datos, colecciones y documentos *En Mongo una Base de datos es un conjunto de colecciones *Una coleccion es un conjunto o serie de documentos *Un documento es igual que un array asociativo en php. Puede ser multidimensional *Una colección es como una tabla; Es un conjunto de documentos e índices ===MongoDB y PHP=== *Instalar el driver #Interrogamos al sistema para ver si el driver está instalado php --re mongo *En nuestro caso obtenemos la siguiente respuesta, por lo que no está instalado Exception: Extension mongo does not exist *Para instalarlo lo podemos hacer de diferentes modos. En nuestro caso usaremos pecl sudo pecl install mongo *Es importante leer la última línea de la instación ... You should add "extension=mongo.so" to php.ini *Pues lo hacemos *Si posteriormente queremos acutalizar sudo pecl update-channels sudo pecl upgrade mongo *No olvidemos rebotar el sistema para que el driver tenga funcionalidad en el mismo *En mi caso aún no funcionaba y he realizado lo siguiente: Crear un fichero mongo.ini para que cargue la extension #/etc/php5/mods-available $ sudo ln -s ../mods-available/mongo.ini mongo.ini *El contenido del fichero mongo.ini extension=mongo.so *Reboto el servicio y verifico que está el módulo php --re monog o php -m ;Nomenglatura Tabla colección o collection fila o tupla campo valor del campo consulta diccionario o dictionary ;Conectar a la bd mongo ;seleccionando BD *Muestra la bd con la que actualmente estoy trabajando, por defecto '''''test''''' db *Mostrar todas las bases de datos del sistema que contengan algo de información show dbs *Cambiar a una base de datos llamada local use local ; ===Autorización=== *Si usamos autorización ya no cualquiera puede hacer cualquier cambio en la base de datos *Para autorizarse db.auth("user","pass"); *(user y pass son las credenciales). ==Práctica== *Instalamos mongodb en docker <source lang=bash> docker run --name mongodb -p 27017:27017 -v mongodbdata:/data/db mongo
- Instalamos la librería de php para utilizar mongo
sudo apt-get install php-mongodb
- creamos composer.json
{ "require": { "mongodb/mongodb":"^1.0.0" } }
- Orquetamos en el directorio del nuevo proyecto
composer update