O MongoDB é um banco de dados NoSQL orientado a documentos amplamente utilizado por sua escalabilidade e flexibilidade. Abaixo, detalhamos o processo de instalação da versão 3.0.6 em um ambiente CentOS, abrangendo desde a preparação do ambiente até a configuração de segurança.
1. Download e Preparação dos Binários
Inicie o processo baixando o pacote oficial do MongoDB diretamente para o servidor ou realizando o upload dos binários pré-baixados. Para baixar via terminal, utilize o comando:
curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz
Após o download, extraia os arquivos e mova-os para um diretório apropriado, como /opt/mongodb:
tar -zxvf mongodb-linux-x86_64-3.0.6.tgz
mv mongodb-linux-x86_64-3.0.6 /opt/mongodb
2. Estrutura de Diretórios e Permissões
É fundamental criar diretórios específicos para armazanar os dados e os logs do banco de dados para manter a organização do sistema.
mkdir -p /opt/mongodb/data
mkdir -p /opt/mongodb/logs
Caso ocorram erros de Permission denied durante a execução, ajuste as permissões do diretório. Embora o comando chmod 777 resolva problemas de acesso, em ambeintes de produção recomenda-se atribuir a propriedade ao usuário específico que executará o serviço:
# Ajuste recursivo de permissões (se necessário)
sudo chmod -R 755 /opt/mongodb
3. Configuração do Servidor via Arquivo de Parâmetros
Para facilitar a gestão do serviço e configurar parâmetros como porta de rede e caminhos de arquivos, crie um arquivo de configuração mongodb.conf:
vi /opt/mongodb/mongodb.conf
Insira as seguintes definições no arquivo:
# Porta de escuta
port=27017
# Caminho dos dados
dbpath=/opt/mongodb/data
# Caminho do log
logpath=/opt/mongodb/logs/mongodb.log
# Executar como processo em segundo plano
fork=true
# Habilitar log de operações
logappend=true
4. Gerenciamento do Processo
Para iniciar o MongoDB utilizando o arquivo de configuração recém-criado, execute:
/opt/mongodb/bin/mongod --config /opt/mongodb/mongodb.conf
Para verificar se o processo está em execução:
ps aux | grep mongod
Para encerrar o serviço de forma segura, evite o uso de kill -9, pois isso pode corromper os arquivos de dados. Utilize sinais que permitam o shutdown limpo:
# Opção 1: Via comando mongod
/opt/mongodb/bin/mongod --shutdown --dbpath /opt/mongodb/data
# Opção 2: Via sinal SIGINT ou SIGTERM
kill -2 [PID_DO_PROCESSO]
5. Implemnetação de Segurança e Controle de Acesso
Por padrão, o MongoDB inicia sem autenticação. Para proteger os dados, primeiro crie os usuários administrativos e depois habilite o controle de acesso.
Acesse o shell do MongoDB:
/opt/mongodb/bin/mongo
Crie o usuário administrador do sistema:
use admin
db.createUser({
user: "root_admin",
pwd: "SenhaComplexa01",
roles: [{ role: "userAdminAnyDatabase", db: "admin" }]
})
Valide a criação do administrador:
db.auth("root_admin", "SenhaComplexa01")
Para criar um usuário com privilégios de leitura e escrita em um banco de dados específico para sua aplicação:
use app_database
db.createUser({
user: "app_user",
pwd: "UserPassword123",
roles: [{ role: "readWrite", db: "app_database" }]
})
Após criar os usuários, encerre o processo do MongoDB e edite o arquivo mongodb.conf para ativar a autenticação adicionando a seguinte linha:
auth=true
Reinicie o serviço para que as alterações de segurança entrem em vigor. A partir deste momento, qualquer conexão exigirá credenciais válidas para realizar operações no banco de dados.