Holaaa.. Programador! me imagino que si estas aquí es porque sabes que es MongoDB, pero sino te lo resumo rapidito: MongoDB es un sistema de base de datos NoSQL orientado a documentos de código abierto. En lugar de guardar los datos en tablas, tal y como se hace en las bases de datos relacionales (como MySQL), MongoDB guarda estructuras de datos BSON (una especificación similar a JSON) con un esquema dinámico, haciendo que la integración de los datos en ciertas aplicaciones sea más fácil y rápida.
En resumen te puedo decir que desde que descubrí mongo me enamoré, es más rápida y no es tan enrollada (así como esas novias tóxicas jajajaja ) como mysql, que tienes que saber de antemano la estructura de la base de datos para poder programar, con mongo todo va fluyendo en la medida que programas, así de simple, sin complicaciones.
Bueno a lo que vinimos, vamos a instalar MongoDB en un servidor linux con ubuntu 18.04 (ojo hasta el momento no he conseguido un hosting barato que incluya mongo, así que si quieres trabajar con mongo debes tener al menos un VPS)
1.- Hacemos las instalaciones de mongo, copiando cada línea en tu consola:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 68818C72E52529D4
sudo echo "deb http://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
2.- Luego actualizamos el repositorio
sudo apt-get update
3.- Procedemos a instalar MongoDB
sudo apt-get install -y mongodb-org
4.- Habilitamos el servicio para que este disponible
sudo systemctl enable mongod
5.- Iniciamos MongoDB
sudo systemctl start mongod
6.- Verificamos el status para ver si todo esta ok
systemctl status mongod
Al finalizar deberia aparecer un codigo similar a este:
mongod.service - High-performance, schema-free document-oriented database
Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset: enabled)
Active: active (running) since Wed 2018-02-14 14:05:37 CET; 5s ago
Docs: https://docs.mongodb.org/manual
Main PID: 2298 (mongod)
Tasks: 23
Memory: 41.4M
CPU: 59ms
CGroup: /system.slice/mongod.service
└─2298 /usr/bin/mongod --config /etc/mongod.conf
Feb 14 14:05:37 mongodb systemd[1]: Started High-performance, schema-free document-oriented database.
Hasta este punto tenemos instalado MongoDB, y podriamos usarlo con NodeJS u otros frameworks, pero en nuestro caso vamos a fusionarlo para que trabaje con PHP, para eso seguimos con el siguiente paso:
7.- Instalamos Composer
apt install composer
8.- Instalamos la extensión de mongo y php
sudo apt-get install php-mongodb
9.- Luego escribimos esto
phpenmod -v php7.1 mongodb
10.- Nos vamos al directorio html o donde vayas a tener tus archivos publicos
cd /var/www/html
11.- Instalamos el composer.json de mongo
composer require "mongodb/mongodb=^1.0.0"
12.- Para finalizar habilitamos la extension mongodb en php.ini de nuestro servidor (ojo la version de su php pudo haber cambiado, en mi caso en este momento es la 7.2 pero si no sabes que version de php tienes puedes escribir en la consola php --version)
cd /etc/php/7.0/apache2
13.- Ahora si ya casi terminamos, para eso vamos a editar el archivo php.ini
sudo nano php.ini
14.- Y por último en la seccion de las extensiones agregar la siguiente linea
extension=mongodb.so
Y eso es todo... espero que todo te funcione a la primera, estos son los pasos que yo uso así que espero que te sirva.
Saludos,
Eloy Manuel