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 -yAdicione 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 \
--dearmorecho "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.listAgora 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
Após a instalação ser concluída, recarregue o gerenciador systemd com o seguinte:
sudo systemctl daemon-reloadAgora execute o comando abaixo para iniciar, habilitar e verificar o status do serviço MongoDB.
sudo systemctl enable --now mongod
sudo systemctl status mongodA saída a seguir confirma que o MongoDB está em execução.

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
Por fim, verifique a versão do Node.js e NPM com o seguinte:
sudo node -v
sudo npm -vVocê pode ver abaixo que o Node.js 18 e o NPM 9 estão instalados.

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.
mongoshExecute 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.

Em seguida, abra a configuração do MongoDB ‘ /etc/mongod.conf ‘ com o editor nano.
sudo nano /etc/mongod.confHabilite a autenticação do MongoDB adicionando a seguinte configuração.
security:
authorization: enabledSalve 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 mongodPara 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 nodebbApó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 ‘.

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 nodebbAgora 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/nodebbVá 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.

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
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.serviceInsira 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.targetSalve 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-reloadDepois disso, inicie e habilite o serviço ‘ nodebb ‘ com o seguinte comando systemctl.
sudo systemctl start nodebb
sudo systemctl enable nodebbVerifique o serviço ‘ nodebb ‘ com o seguinte para garantir que o serviço está em execução.
sudo systemctl status nodebbVocê pode ver abaixo que o NodeBB está em execução em segundo plano como um serviço 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/nodebbAdicione 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 -tSe você tiver a sintaxe correta do Nginx, verá uma saída ‘syntax is ok - test is successful’.

Por fim, execute o comando abaixo para reiniciar o serviço Nginx e aplicar suas alterações.
sudo systemctl restart nginxProtegendo 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-nginxAgora 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.iApó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:

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.

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

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

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.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.