NodeBB instalação · 8 min read · Sep 10, 2025

Como Instalar NodeBB com Proxy Nginx no Debian 12

NodeBB é um software de fórum de código aberto escrito em JavaScript e Node.js. Ele usa o MongoDB como o banco de dados padrão. O NodeBB oferece múltiplos recursos, como notificações em tempo real via web socket, integração com redes sociais e também APIs REST completas.

Este guia mostrará como instalar o NodeBB em um servidor Debian 12 com o MongoDB como banco de dados e o Nginx como um proxy reverso.

Pré-requisitos

Antes de começar, certifique-se de que você tem o seguinte:

  • Um servidor Debian 12.
  • Um usuário não-root com privilégios sudo.
  • Um nome de domínio apontado para um endereço IP do servidor.

Instalando Dependências

Para começar o processo, você instalará as dependências para o NodeBB. Isso inclui o Node.js, NPM (Node.js Package Manager) e o servidor web Nginx do repositório Debian. Quanto ao MongoDB, você o instalará através do repositório oficial do MongoDB.

Primeiro, execute o seguinte comando para instalar os pacotes gnupg e curl no seu sistema Debian.

sudo apt install gnupg curl -y

Adicione a chave GPG e o repositório do MongoDB com o seguinte comando:

curl -fsSL https://pgp.mongodb.com/server-7.0.asc | \  
sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg \  
--dearmor
echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] http://repo.mongodb.org/apt/debian bookworm/mongodb-org/7.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list

Agora atualize o índice de pacotes do Debian e instale o MongoDB, Node.js, NPM, Nginx e Git. Digite Y para confirmar a instalação.

sudo apt update  
sudo apt install mongodb-org nodejs npm git nginx

instalar dependências

Após a instalação ser concluída, recarregue o gerenciador systemd com o seguinte:

sudo systemctl daemon-reload

Agora execute o comando abaixo para iniciar, habilitar e verificar o status do serviço MongoDB.

sudo systemctl enable --now mongod  
sudo systemctl status mongod

A saída a seguir confirma que o MongoDB está em execução.

verificar mongodb

Em seguida, verifique o status do serviço Nginx com o comando abaixo. Você deve ver que o Nginx está habilitado e em execução no seu sistema.

sudo systemctl is-enabled nginx  
sudo systemctl status nginx

verificar nginx

Por fim, verifique a versão do Node.js e NPM com o seguinte:

sudo node -v  
sudo npm -v

Você pode ver abaixo que o Node.js 18 e o NPM 9 estão instalados.

verificar node.js e npm

Configurando o servidor MongoDB

Nesta seção, você habilitará a autenticação do MongoDB, criará um novo usuário administrador para o MongoDB e, em seguida, criará um novo banco de dados e usuário para a instalação do NodeBB.

Faça login no servidor MongoDB com o comando abaixo.

mongosh

Execute a seguinte consulta para mudar para o banco de dados ‘admin’ e criar um novo usuário administrador ‘ admin ‘ para o MongoDB. Certifique-se de alterar a senha ‘ MongoDBAdminPass ‘ para a nova senha.

use admin  
db.createUser( { user: "admin", pwd: "MongoDBAdminPass", roles: [ { role: "root", db: "admin" } ] } )

Em seguida, crie um novo banco de dados e usuário ‘ nodebb ‘ com a senha ‘ NodeBBPassword ‘. Este banco de dados e usuário serão usados para a instalação do NodeBB.

use nodebb  
db.createUser( { user: "nodebb", pwd: "NodeBBPassword", roles: [ { role: "readWrite", db: "nodebb" }, { role: "clusterMonitor", db: "admin" } ] } )

Agora digite ‘ quit() ‘ para sair do MongoDB.

configurar mongodb admin e criar novo banco de dados e usuário

Em seguida, abra a configuração do MongoDB ‘ /etc/mongod.conf ‘ com o editor nano.

sudo nano /etc/mongod.conf

Habilite a autenticação do MongoDB adicionando a seguinte configuração.

security:  
 authorization: enabled

Salve e feche o arquivo quando terminar.

Agora execute o comando abaixo para reiniciar o serviço MongoDB e aplicar suas novas alterações. Após a execução do comando, a autenticação do MongoDB será habilitada.

sudo systemctl restart mongod

Para garantir que sua configuração do MongoDB foi bem-sucedida, faça login no MongoDB com o usuário ‘ nodebb ‘ no banco de dados ‘ nodebb ‘. Digite sua senha quando solicitado.

mongosh "mongodb://127.0.0.1:27017" --username nodebb --authenticationDatabase nodebb

Após fazer login, execute a consulta abaixo para verificar sua conexão e sair do MongoDB.

db.runCommand( { connectionStatus: 1, showPrivileges: false } )  
quit()

Na saída a seguir, você pode ver que está autenticado como ‘ nodebb ‘ no banco de dados ‘ nodebb ‘.

verificar conexão do usuário mongodb

Instalando NodeBB

Com a configuração do MongoDB finalizada, você fará o download e a instalação do NodeBB. Você criará um usuário dedicado para o NodeBB, fará o download e instalará as dependências do NodeBB e, em seguida, configurará um arquivo de serviço para sua instalação do NodeBB.

Adicione um novo usuário do sistema ‘ nodebb ‘ com o diretório home padrão ‘ /opt/nodebb ‘ usando o seguinte comando.

sudo adduser --system --no-create-home --home=/opt/nodebb --group nodebb

Agora faça o download da fonte do NodeBB v3 para o diretório ‘ /opt/nodebb ‘ usando o git e altere a propriedade do diretório ‘ /opt/nodebb ‘ para o usuário ‘ nodebb ‘.

git clone -b v3.x https://github.com/NodeBB/NodeBB.git /opt/nodebb  
sudo chown -R nodebb:nodebb /opt/nodebb

Vá para o diretório ‘/opt/nodebb’ e configure sua instalação do NodeBB com o comando abaixo.

cd /opt/nodebb  
sudo su -s /bin/bash -c "./nodebb setup" nodebb
  • Digite seu nome de domínio para o NodeBB.
  • Deixe o segredo do NodeBB como padrão e pressione ENTER.
  • Digite não para desabilitar o uso do plugin anônimo.
  • Selecione o banco de dados como MongoDB.
  • Digite o banco de dados MongoDB com a string de URL: mongodb://nodebb: [email protected]:27017/nodebb.
  • Digite seu usuário administrador e endereço de e-mail para o NodeBB.
  • Digite sua senha e repita.

Após o processo ser concluído, você verá uma saída ‘ Configuração do NodeBB Concluída ‘. Você também pode ver o comando para executar o NodeBB.

configuração concluída

Em seguida, execute o comando abaixo para iniciar ou parar o NodeBB. Você pode usar isso quando precisar iniciar ou parar o NodeBB manualmente.

sudo su -s /bin/bash -c "./nodebb start" nodebb  
sudo su -s /bin/bash -c "./nodebb stop" nodebb

iniciar e parar nodebb

Para facilitar a gestão do NodeBB, você criará um novo arquivo de serviço systemd para o NodeBB. Com isso, sua instalação do NodeBB será executada em segundo plano e você poderá gerenciá-la com o comando systemctl.

Crie um novo arquivo de serviço systemd ‘ /etc/systemd/system/nodebb.service ‘ com o comando do editor nano.

sudo nano /etc/systemd/system/nodebb.service

Insira a seguinte configuração no arquivo:

[Unit]  
Description=NodeBB  
Documentation=https://docs.nodebb.org  
After=system.slice multi-user.target mongod.service  
  
[Service]  
Type=simple  
User=nodebb  
  
StandardError=syslog  
SyslogIdentifier=nodebb  
  
Environment=NODE_ENV=production  
WorkingDirectory=/opt/nodebb  
ExecStart=/usr/bin/env node loader.js --no-silent --no-daemon  
Restart=always  
  
[Install]  
WantedBy=multi-user.target

Salve e feche o arquivo.

Agora execute o comando abaixo para recarregar o gerenciador systemd e aplicar o novo arquivo de serviço do NodeBB.

sudo systemctl daemon-reload

Depois disso, inicie e habilite o serviço ‘ nodebb ‘ com o seguinte comando systemctl.

sudo systemctl start nodebb  
sudo systemctl enable nodebb

Verifique o serviço ‘ nodebb ‘ com o seguinte para garantir que o serviço está em execução.

sudo systemctl status nodebb

Você pode ver abaixo que o NodeBB está em execução em segundo plano como um serviço systemd.

configuração do nodebb systemd

Configurando o Nginx como um proxy reverso

Neste ponto, o NodeBB está em execução em segundo plano na porta ‘4567’. Agora você criará um novo bloco de servidor Nginx que será usado como um proxy reverso para o seu fórum NodeBB. Certifique-se de que seu nome de domínio esteja apontado para o endereço IP do seu servidor.

Crie uma nova configuração de bloco de servidor Nginx ‘ /etc/nginx/sites-available/nodebb ‘ com o editor nano.

sudo nano /etc/nginx/sites-available/nodebb

Adicione a seguinte configuração para configurar o Nginx como um proxy reverso para o NodeBB. Certifique-se de alterar o parâmetro server_name para o seu nome de domínio.

server {  
 listen 80;  
  
 server_name forum.howtoforge.local;  
  
 location / {  
 proxy_set_header X-Real-IP $remote_addr;  
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
 proxy_set_header X-Forwarded-Proto $scheme;  
 proxy_set_header Host $http_host;  
 proxy_set_header X-NginX-Proxy true;  
  
 proxy_pass http://127.0.0.1:4567;  
 proxy_redirect off;  
  
 # Suporte ao Socket.IO  
 proxy_http_version 1.1;  
 proxy_set_header Upgrade $http_upgrade;  
 proxy_set_header Connection "upgrade";  
 }  
}

Quando terminar, salve o arquivo e saia.

Agora ative o arquivo de bloco de servidor ‘nodebb’ e teste sua sintaxe do Nginx com o seguinte:

sudo ln -s /etc/nginx/sites-available/nodebb /etc/nginx/sites-enabled/  
sudo nginx -t

Se você tiver a sintaxe correta do Nginx, verá uma saída ‘syntax is ok - test is successful’.

configuração nginx

Por fim, execute o comando abaixo para reiniciar o serviço Nginx e aplicar suas alterações.

sudo systemctl restart nginx

Protegendo o NodeBB com HTTPS

Neste guia, você protegerá o NodeBB com HTTPS através do Certbot e Letsencrypt. Se você estiver usando um domínio local, pode pular isso ou também pode gerar certificados autoassinados.

Instale o Certbot e o plugin Certbot Nginx com o seguinte comando apt. Digite Y para prosseguir com a instalação.

sudo apt install certbot python3-certbot-nginx

Agora execute o comando certbot abaixo para gerar os certificados SSL para o seu nome de domínio do NodeBB. Certifique-se de alterar tanto o endereço de e-mail quanto o nome de domínio com suas informações.

sudo certbot --nginx --agree-tos --no-eff-email --redirect --hsts --staple-ocsp --email [email protected] -d forum.hwdomain.i

Após concluir o processo, sua instalação do NodeBB deve estar automaticamente protegida com HTTPS. Seus certificados SSL/TLS estarão disponíveis no diretório ‘ /etc/letsencrypt/live/domain.com ‘.

Acessando o NodeBB

Visite https://forum.howtoforge.local/ usando seu navegador e você verá a página de índice padrão do NodeBB como a seguinte:

página inicial

Na página inicial, clique no menu Login e você verá a página de login do NodeBB. Digite seu usuário administrador e senha, e depois clique em Login.

página de login

Se bem-sucedido, você verá o seguinte painel do usuário.

painel do usuário

Clique no menu Admin para acessar o painel de administração do NodeBB como o seguinte:

painel de administração

Conclusão

Parabéns! Você agora instalou o NodeBB no servidor Debian 12. Você tem o NodeBB em execução com o banco de dados MongoDB e o proxy reverso Nginx. Você também protegeu o NodeBB com HTTPS através do Certbot e Letsencrypt.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.