Instalação NodeBB · 8 min read · Sep 09, 2025

Como Instalar NodeBB com MongoDB e Nginx Proxy no AlmaLinux 9

NodeBB é um software de fórum de código aberto, baseado em Node.js, que fornece uma solução moderna e responsiva para comunidades online. Executando no Ubuntu Linux, o NodeBB aproveita a robustez e flexibilidade do sistema operacional para oferecer alto desempenho e escalabilidade. Ele utiliza uma combinação de MongoDB e Redis para gerenciamento de banco de dados, tornando-o capaz de lidar com grandes volumes de conteúdo gerado por usuários de forma eficiente.

NodeBB é conhecido por suas notificações em tempo real, integração perfeita com várias plataformas de mídia social e um extenso ecossistema de plugins, permitindo que os administradores personalizem seus fóruns para atender a necessidades específicas. Além disso, seu design mobile-first garante uma experiência de usuário consistente e envolvente em todos os dispositivos. A estabilidade e os recursos de segurança do Ubuntu complementam o NodeBB, tornando-o uma escolha ideal para hospedar e gerenciar comunidades online dinâmicas.

Este guia fornecerá instruções passo a passo para instalar o NodeBB em um servidor Alma Linux 9. Você usará o MongoDB como banco de dados, o Nginx como um proxy reverso e, em seguida, protegerá o NodeBB com HTTPS através do Certbot e Letsencrypt.

Pré-requisitos

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

  • Um servidor Alma Linux 9
  • Um usuário não-root com privilégios de administrador
  • Um nome de domínio apontado para o endereço IP do servidor
  • Um SELinux com status permissivo e habilitado

Instalar dependências

NodeBB é um software de fórum de código aberto baseado em Node.js. Para instalar o NodeBB, você deve garantir que os seguintes pacotes estejam instalados, incluindo:

  • Ferramentas do sistema como “Development Tools”, Git e ImageMagick
  • Node.js 18 ou superior e NPM (Node Package Manager)
  • Servidor de banco de dados NoSQL MongoDB
  • Servidor web Nginx como um proxy reverso

Nesta seção, você instalará essas dependências no servidor Alma Linux 9.

Primeiro, execute o comando abaixo para habilitar o repositório CRB (CodeReadyBuild) do Alma Linux e instalar o repositório EPEL.

sudo crb enable  
sudo dnf install epel-release -y

Em seguida, crie um novo arquivo de repositório ‘ /etc/yum.repos.d/mongodb-org-7.0.repo ‘ com o editor ‘ nano ‘.

sudo nano /etc/yum.repos.d/mongodb-org-7.0.repo

Insira a seguinte configuração no arquivo:

[mongodb-org-7.0]  
name=MongoDB Repository  
baseurl=https://repo.mongodb.org/yum/redhat/9/mongodb-org/7.0/x86_64/  
gpgcheck=1  
enabled=1  
gpgkey=https://pgp.mongodb.com/server-7.0.asc

Salve o arquivo e saia do editor quando terminar.

Agora execute o comando abaixo para habilitar o repositório Node.js 18 para AlmaLinux.

sudo dnf module enable nodejs:18 -y

install deps

Em seguida, execute o seguinte comando ‘ dnf ‘ para instalar os ‘ Development Tools ‘, servidor MongoDB, Node.js, NPM, Git e ImageMagick.

sudo dnf group install "Development Tools" -y  
sudo dnf install nodejs npm git ImageMagick mongodb-org -y

installing packages

Após a instalação ser concluída, inicie e habilite o serviço ‘ mongod ‘ com o seguinte comando.

sudo systemctl enable --now mongod  
sudo systemctl status mongod

Você pode ver abaixo que o servidor MongoDB está em execução e habilitado.

enable mongodb

Por fim, verifique a versão do Node.js com o comando abaixo. Você deve ver que o Node.js 18 está instalado no servidor Alma Linux.

node --version  
npm --version

Configurando o servidor MongoDB e banco de dados para NodeBB

Com as dependências instaladas, você protegerá o servidor MongoDB habilitando a autenticação por senha e configurando a senha de administrador do MongoDB. Depois disso, você também criará um novo banco de dados MongoDB e um usuário para a instalação do NodeBB.

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

mongosh

login mongodb

Uma vez logado, mude para o banco de dados ‘ admin ‘ e execute a consulta abaixo para configurar uma senha de administrador para o MongoDB. Certifique-se de alterar a ‘ MongoDBAdminPass ‘ pela sua combinação de senha.

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

Agora execute as seguintes consultas para criar um novo banco de dados e usuário ‘ nodebb ‘ com a senha ‘NodeBBPassword’. Você pode ajustar os detalhes do banco de dados a seguir conforme necessário.

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

Digite ‘ quit() ‘ para sair do servidor MongoDB.

create admin user and setup database

Depois de configurar a senha de administrador para o MongoDB, vamos habilitar a autenticação do MongoDB.

Abra o arquivo de configuração padrão do MongoDB ‘ /etc/mongod.conf ‘ com o editor ‘ nano ‘.

sudo nano /etc/mongod.conf

Para habilitar a autenticação do MongoDB, descomente a linha ‘ security ‘ e adicione ‘ authorization: enabled ‘ como a seguinte:

security:  
 authorization: enabled

Salve e saia do arquivo quando terminar.

Agora execute o seguinte comando ‘ systemctl ‘ para reiniciar o servidor MongoDB e aplicar suas alterações. A autenticação do MongoDB deve estar habilitada agora.

sudo systemctl restart mongod

Para verificar a configuração, execute o comando ‘ mongosh ‘ abaixo para fazer login no MongoDB usando o usuário ‘ nodebb ‘. Insira a senha para o usuário ‘ nodebb ‘.

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

Instalando o NodeBB

Agora que você configurou o servidor MongoDB, está pronto para instalar o NodeBB no servidor Alma Linux.

Adicione um novo usuário e grupo do sistema ‘ nodebb ‘ com o seguinte comando.

sudo adduser -r -M -d /opt/nodebb -U nodebb

Baixe o código-fonte do NodeBB para o diretório ‘ /opt/nodebb ‘ e altere a propriedade 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 execute o script de configuração do NodeBB como a seguinte:

cd /opt/nodebb  
sudo su -s /bin/bash -c "./nodebb setup" nodebb

Aqui, você será questionado sobre algumas configurações do NodeBB:

  • Insira seu nome de domínio para o NodeBB, como https://forum.howtoforge.local.
  • Pressione ENTER na configuração secreta do NodeBB. Deixe como padrão.
  • Insira não para desabilitar o acesso anônimo ao NodeBB.
  • Selecione o MongoDB como o banco de dados.
  • Insira os detalhes do seu banco de dados MongoDB no formato como mongodb://nodebb:[email protected]:27017/nodebb.
  • Insira o novo usuário administrador e endereço de e-mail para o NodeBB.
  • Insira a senha para seu usuário administrador do NodeBB e repita.

Após o processo ser concluído, você verá uma saída como esta:

login to mongodb

Agora você pode iniciar ou parar o NodeBB manualmente executando o script ‘ nodebb ‘ como a seguinte:

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

nodebb start and stop

Executando o NodeBB como um serviço systemd

Para gerenciar o NodeBB mais facilmente, você pode controlar o processo do NodeBB usando a utilidade ‘ systemctl ‘. Para fazer isso, você precisa criar um novo arquivo de serviço systemd para executar o NodeBB.

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

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

Insira a seguinte configuração para executar o NodeBB como um serviço systemd.

[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=/bin/env node loader.js --no-silent --no-daemon  
Restart=always  
  
[Install]  
WantedBy=multi-user.target

Salve o arquivo e saia do editor.

Recarregue o gerenciador systemd com o comando ‘ systemctl ‘ abaixo.

sudo systemctl daemon-reload

Por fim, inicie e habilite o serviço ‘ nodebb ‘, e então verifique para garantir que o serviço está em execução:

sudo systemctl enable --now nodebb  
sudo systemctl status nodebb

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

setup nodebb systemd

Configurando o Nginx como um proxy reverso

Agora que o NodeBB está em execução em segundo plano como um serviço, vamos instalar o Nginx e criar um novo bloco de servidor que será usado como um proxy reverso para o NodeBB.

Primeiro, execute o comando ‘ dnf ‘ abaixo para instalar o servidor web Nginx.

sudo dnf install nginx -y

install nginx

Agora crie uma nova configuração do Nginx ‘ /etc/nginx/conf.d/nodebb.conf ‘ com o editor ‘ nano ‘.

sudo nano /etc/nginx/conf.d/nodebb.conf

Insira a seguinte configuração e certifique-se de alterar o parâmetro ‘ server_name ‘ com 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 do editor.

Em seguida, execute o comando abaixo para verificar a sintaxe do Nginx. Se bem-sucedido, você terá uma saída ‘ syntax is ok - test is successful ‘.

sudo nginx -t

setup vhost

Por fim, execute o comando ‘ systemctl ‘ abaixo para iniciar, habilitar e verificar o servidor web Nginx.

sudo systemctl enable --now nginx  
sudo systemctl status nginx

Você pode ver abaixo que o servidor web Nginx está em execução.

check nginx

Protegendo o NodeBB com HTTPS

Neste ponto, sua instalação do NodeBB está pronta. Mas se você estiver em um nome de domínio público, deve proteger o NodeBB com HTTPS. Nesta seção, você configurará o HTTPS para o NodeBB com Certbot e Letsencrypt.

Instale o Certbot e o plugin Certbot Nginx com o seguinte comando:

sudo dnf install certbot python3-certbot-nginx -y

Agora execute o comando ‘ certbot ‘ abaixo para proteger sua instalação do NodeBB com HTTPS. Certifique-se de alterar o nome de domínio e o endereço de e-mail neste comando.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d forum.howtoforge.local

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

Acessando o NodeBB

Abra seu navegador web e visite o nome de domínio do NodeBB, como https://forum.howtoforge.local. Se sua instalação for bem-sucedida, você verá a seguinte página inicial do NodeBB.

nodebb

Conclusão

Parabéns! Você concluiu a instalação do NodeBB no servidor Alma Linux 9. Você tem o fórum NodeBB em funcionamento com o servidor MongoDB e Nginx como um proxy reverso. Você também protegeu a instalação do 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.