One place for hosting & domains

      repositórios

      Cómo instalar MongoDB desde los repositorios APT predeterminados de Ubuntu 20.04


      Introducción

      MongoDB es una base de datos de documentos gratuita y de código abierto utilizada comúnmente en las aplicaciones web modernas.

      En este tutorial, instalará MongoDB, administrará su servicio y, de forma opcional, habilitará el acceso remoto.

      Nota: Al momento de la publicación de este artículo, este tutorial instala la versión 3.6 de MongoDB, que es la versión disponible en los repositorios predeterminados de Ubuntu. Sin embargo, generalmente recomendamos instalar la versión más reciente de MongoDB, es decir, la versión 4.4 al momento de la publicación de este artículo. Si desea instalar la versión más reciente de MongoDB, le recomendamos que siga esta guía sobre Cómo instalar MongoDB en Ubuntu 20.04.

      Requisitos previos

      Para seguir este tutorial, necesitará lo siguiente:

      Paso 1: Instalar MongoDB

      En los repositorios oficiales de paquetes de Ubuntu se incluye MongoDB, lo que significa que podemos instalar los paquetes necesarios utilizando apt. Como se mencionó en la introducción, la versión disponible en los repositorios predeterminados no es la más reciente. Para instalar la versión más reciente de Mongo, siga este tutorial.

      Primero, actualice la lista de paquetes para tener la versión más reciente de listados de repositorios:

      A continuación, instale el propio paquete de MongoDB:

      Este comando le solicitará confirmar que quiere instalar el paquete mongodb y sus dependencias. Para hacerlo, presione Y y, luego, ENTER.

      Este comando instala varios paquetes que contienen una versión estable de MongoDB, junto con herramientas de administración útiles para el servidor de MongoDB. El servidor de la base de datos se inicia de forma automática tras la instalación.

      A continuación, comprobaremos que el servidor esté activo y funcione de forma correcta.

      Paso 2: Comprobar el servicio y la base de datos

      El proceso de instalación inició MongoDB de forma automática, pero verificaremos que el servicio se inicie y que la base de datos funcione.

      Primero, compruebe el estado del servicio:

      • sudo systemctl status mongodb

      Verá este resultado:

      Output

      ● mongodb.service - An object/document-oriented database Loaded: loaded (/lib/systemd/system/mongodb.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2020-10-08 14:23:22 UTC; 49s ago Docs: man:mongod(1) Main PID: 2790 (mongod) Tasks: 23 (limit: 2344) Memory: 42.2M CGroup: /system.slice/mongodb.service └─2790 /usr/bin/mongod --unixSocketPrefix=/run/mongodb --config /etc/mongodb.conf

      Según este resultado, el servidor MongoDB está funcionando.

      Podemos verificar esto en profundidad estableciendo conexión con el servidor de la base de datos y ejecutando el siguiente comando de diagnóstico. Con esto se mostrarán la versión actual de la base de datos, la dirección y el puerto del servidor, y el resultado del comando status:

      • mongo --eval 'db.runCommand({ connectionStatus: 1 })'

      Output

      MongoDB shell version v3.6.8 connecting to: mongodb://127.0.0.1:27017 Implicit session: session { "id" : UUID("e3c1f2a1-a426-4366-b5f8-c8b8e7813135") } MongoDB server version: 3.6.8 { "authInfo" : { "authenticatedUsers" : [ ], "authenticatedUserRoles" : [ ] }, "ok" : 1 }

      Un valor de 1 para el campo ok en la respuesta indica que el servidor funciona correctamente.

      A continuación, veremos la forma de administrar la instancia del servidor.

      Paso 3: Gestionar el servicio de MongoDB

      El proceso de instalación descrito en el Paso 1 configura MongoDB como servicio de systemd, lo que significa que puede administrarlo utilizando comandos systemctl estándares, junto con todos los demás servicios de sistema en Ubuntu.

      Para verificar el estado del servicio, escriba lo siguiente:

      • sudo systemctl status mongodb

      Puede detener el servidor en cualquier momento escribiendo lo siguiente:

      • sudo systemctl stop mongodb

      Para iniciar el servidor cuando esté detenido, escriba lo siguiente:

      • sudo systemctl start mongodb

      También puede reiniciar el servidor con el siguiente comando:

      • sudo systemctl restart mongodb

      Por defecto, MongoDB se configura para iniciarse de forma automática con el servidor. Si desea desactivar el inicio automático, escriba lo siguiente:

      • sudo systemctl disable mongodb

      Puede volver a habilitar el inicio automático en cualquier momento con el siguiente comando:

      • sudo systemctl enable mongodb

      A continuación, ajustaremos la configuración del firewall para nuestra instalación MongoDB.

      Paso 4: Ajustar el firewall (opcional)

      Suponiendo que siguió las instrucciones del tutorial de configuración inicial para servidores para habilitar el firewall en su servidor, no será posible acceder al servidor de MongoDB desde Internet.

      Si tiene intención de usar el servidor de MongoDB solo a nivel local con aplicaciones que se ejecuten en el mismo servidor, este es el ajuste recomendado y seguro. Sin embargo, si desea poder conectarse con su servidor MongoDB desde Internet, deberá permitir las conexiones entrantes añadiendo una regla UFW.

      Para permitir el acceso a MongoDB en su puerto predeterminado 27017 desde cualquier parte, podría ejecutar sudo ufw allow 27017. Sin embargo, permitir el acceso a Internet al servidor de MongoDB en una instalación predeterminada proporciona acceso ilimitado al servidor de la base de datos y a sus datos.

      En la mayoría de los casos, solo se debe acceder a MongoDB desde determinadas ubicaciones de confianza, como otro servidor que aloje una aplicación. Para permitir solo el acceso al puerto predeterminado de MongoDB mediante otro servidor de confianza, puede especificar la dirección IP del servidor remoto en el comando ufw. De esta manera, solo se permitirá que esa máquina se conecte de forma explícita:

      • sudo ufw allow from trusted_server_ip/32 to any port 27017

      Puede verificar el cambio en los ajustes del firewall con ufw:

      Debería ver la habilitación del tráfico hacia el puerto 27017 en el resultado. Tenga en cuenta que si decidió permitir que solo una dirección IP determinada se conecte con el servidor de MongoDB, en el resultado de este comando se enumerará la dirección IP de la ubicación autorizada en lugar de Anywhere.

      Output

      Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere 27017 ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) 27017 (v6) ALLOW Anywhere (v6)

      Puede encontrar ajustes de firewall más avanzados para restringir el acceso a servicios en Aspectos básicos de UFW: Reglas y comandos comunes de firewall.

      Aunque el puerto esté abierto, MongoDB seguirá escuchando solo en la dirección local 127.0.0.1. Para permitir conexiones remotas, agregue la dirección IP pública de su servidor al archivo mongodb.conf.

      Abra el archivo de configuración de MongoDB en su editor de texto preferido: Este comando de ejemplo utiliza nano:

      • sudo nano /etc/mongodb.conf

      Agregue la dirección IP de su servidor de MongoDB al valor bindIP: Asegúrese de colocar una coma entre la dirección IP existente y la que agregó.

      /etc/mongodb.conf

      ...
      logappend=true
      
      bind_ip = 127.0.0.1,your_server_ip
      #port = 27017
      
      ...
      

      Guarde el archivo y salga del editor. Si utilizó nano para editar el archivo, hágalo pulsando CTRL + X, Y y, luego, ENTER.

      Luego, reinicie el servicio de MongoDB:

      • sudo systemctl restart mongodb

      MongoDB ahora recibirá conexiones remotas, pero cualquiera podrá acceder a él. Siga el tutorial Cómo instalar y proteger MongoDB en Ubuntu 20.04 para agregar un usuario administrativo y ampliar el bloqueo.

      Conclusión

      Puede encontrar tutoriales más detallados sobre cómo configurar y utilizar MongoDB en estos artículos de la comunidad de DigitalOcean. La documentación oficial de MongoDB también es un gran recurso en el que se abordan las posibilidades que ofrece MongoDB.



      Source link

      Como instalar o MongoDB a partir dos repositórios APT padrão no Ubuntu 20.04


      Introdução

      O MongoDB é um banco de dados de documento NoSQL de código aberto e gratuito usado habitualmente em aplicativos Web modernos.

      Neste tutorial, você irá instalar o MongoDB, gerenciar seus serviços e, de maneira opcional, habilitar o acesso remoto.

      Nota: no momento em que este artigo está sendo escrito, este tutorial instala a versão 3.6 do MongoDB, que é a versão disponível nos repositórios padrão do Ubuntu. No entanto, geralmente recomendamos a instalação da versão mais recente do MongoDB — versão 4.4 no momento em que este artigo está sendo escrito — ao invés disso. Se quiser instalar a versão mais recente do MongoDB, encorajamos que siga este guia sobre Como instalar o MongoDB no Ubuntu 20.04 da origem.

      Pré-requisitos

      Para seguir este tutorial, será necessário:

      Passo 1 — Como instalar o MongoDB

      Os repositórios de pacotes oficiais do Ubuntu incluem o MongoDB, ou seja, podemos instalar os pacotes necessários utilizando o apt. Como mencionado na introdução, a versão disponível dos repositórios padrão não é a mais recente. Para instalar a versão mais recente do Mongo, siga este tutorial.

      Primeiramente, atualize a lista de pacotes para ter a versão mais recente dos registros:

      Agora, instale o pacote MongoDB:

      Esse comando solicitará que você confirme se deseja instalar o pacote mongodb e suas dependências. Para fazer isso, pressione Y e então ENTER.

      Esse comando instala vários pacotes que contêm uma versão estável do MongoDB, junto com ferramentas de gerenciamento úteis para o servidor MongoDB. O servidor de banco de dados é iniciado automaticamente após a instalação.

      Em seguida, vamos verificar se o servidor está funcionando corretamente.

      Passo 2 — Como verificar o serviço e o banco de dados

      O processo de instalação iniciou o MongoDB automaticamente, mas vamos verificar se o serviço está iniciado e que o banco de dados está funcionando.

      Primeiramente, verifique o estado do serviço:

      • sudo systemctl status mongodb

      Você verá este resultado:

      Output

      ● mongodb.service - An object/document-oriented database Loaded: loaded (/lib/systemd/system/mongodb.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2020-10-08 14:23:22 UTC; 49s ago Docs: man:mongod(1) Main PID: 2790 (mongod) Tasks: 23 (limit: 2344) Memory: 42.2M CGroup: /system.slice/mongodb.service └─2790 /usr/bin/mongod --unixSocketPrefix=/run/mongodb --config /etc/mongodb.conf

      De acordo com esse resultado, o servidor MongoDB está em funcionamento.

      Podemos verificar isso mais adiante ao nos conectarmos ao servidor de banco de dados e executarmos um comando de diagnóstico. Isso mostrará a versão atual do banco de dados, o endereço e a porta do servidor, e o resultado do comando de estado:

      • mongo --eval 'db.runCommand({ connectionStatus: 1 })'

      Output

      MongoDB shell version v3.6.8 connecting to: mongodb://127.0.0.1:27017 Implicit session: session { "id" : UUID("e3c1f2a1-a426-4366-b5f8-c8b8e7813135") } MongoDB server version: 3.6.8 { "authInfo" : { "authenticatedUsers" : [ ], "authenticatedUserRoles" : [ ] }, "ok" : 1 }

      Um valor de 1 para o campo ok na resposta indica que o servidor está funcionando corretamente.

      Em seguida, vamos ver como gerenciar a instância do servidor.

      Passo 3 — Como gerenciar o serviço MongoDB

      O processo de instalação mostrado no Passo 1 configura o MongoDB como um serviço systemd, ou seja, você pode gerenciá-lo usando comandos systemctl padrão junto com todos os outros serviços de sistema no Ubuntu.

      Para verificar o estado do serviço, digite:

      • sudo systemctl status mongodb

      Para interromper o servidor a qualquer momento, digite:

      • sudo systemctl stop mongodb

      Para iniciar o servidor quando ele for parado, digite:

      • sudo systemctl start mongodb

      Você também pode reiniciar o servidor com o comando a seguir:

      • sudo systemctl restart mongodb

      Por padrão, o MongoDB está configurado para iniciar automaticamente com o servidor. Se quiser desativar o inicializador automático, digite:

      • sudo systemctl disable mongodb

      Você pode habilitar novamente a inicialização automática a qualquer momento com o seguinte comando:

      • sudo systemctl enable mongodb

      Em seguida, vamos ajustar as configurações de firewall para nossa instalação do MongoDB.

      Passo 4 — Como ajustar o Firewall (opcional)

      Considerando que você seguiu todas as instruções do tutorial de configuração inicial do servidor para habilitar o firewall no seu servidor, então o servidor MongoDB estará inacessível pela internet.

      Se quiser usar o servidor MongoDB apenas localmente com aplicativos funcionando no mesmo servidor, esta é a configuração recomendada e segura. Entretanto, se quiser poder se conectar ao seu servidor MongoDB pela internet, será necessário permitir as conexões de entrada adicionando uma regra UFW.

      Para permitir o acesso ao MongoDB em sua porta padrão 27017 de todos os lugares, utilize o comando sudo ufw allow 27017. Entretanto, habilitar o acesso à internet ao servidor MongoDB em uma instalação padrão dá a qualquer um acesso ilimitado ao servidor de banco de dados e seus dados.

      Na maioria dos casos, o MongoDB deve ser acessado apenas por certos locais confiáveis, como outro servidor que hospeda um aplicativo. Para permitir o acesso à porta padrão do MongoDB apenas por outro servidor confiável, especifique o endereço IP do servidor remoto no comando ufw. Dessa forma, apenas essa máquina será explicitamente autorizada a se conectar:

      • sudo ufw allow from trusted_server_ip/32 to any port 27017

      Verifique a mudança nas configurações do firewall com o ufw:

      Você deve ver o tráfego permitido para a porta 27017 no resultado. Se tiver decidido permitir que apenas um certo endereço IP se conecte ao servidor MongoDB, o endereço IP do local permitido estará listado ao invés de Anywhere no resultado do comando:

      Output

      Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere 27017 ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) 27017 (v6) ALLOW Anywhere (v6)

      Você pode encontrar configurações de firewall mais avançadas para restringir o acesso a serviços em Essenciais do UFW: regras e comandos comuns do firewall.

      Embora a porta esteja aberta, o MongoDB estará escutando apenas no endereço local 127.0.0.1. Para permitir conexões remotas, adicione o endereço IP roteável publicamente do seu servidor ao arquivo mongodb.conf.

      Abra o arquivo de configuração do MongoDB em seu editor de texto preferido. Este comando de exemplo usa o nano:

      • sudo nano /etc/mongodb.conf

      Adicione o endereço IP do seu servidor MongoDB ao valor bindIP. Certifique-se de colocar uma vírgula entre o endereço IP existente e o que você adicionou:

      /etc/mongodb.conf

      ...
      logappend=true
      
      bind_ip = 127.0.0.1,your_server_ip
      #port = 27017
      
      ...
      

      Salve o arquivo e saia do editor. Se você usou o nano para editar o arquivo, faça isso pressionando CTRL + X, Y, depois ENTER.

      Em seguida, reinicie o serviço MongoDB:

      • sudo systemctl restart mongodb

      O MongoDB agora está escutando conexões remotas, mas qualquer um pode acessá-lo. Siga Como proteger o MongoDB no Ubuntu 20.04 para adicionar um usuário administrativo e bloquear as coisas mais adiante.

      Conclusão

      Encontre tutoriais mais aprofundados sobre como configurar e usar o MongoDB nestes artigos da comunidade DigitalOcean. A documentação oficial do MongoDB também é um ótimo recurso sobre as possibilidades que o MongoDB proporciona.



      Source link