Instalação NodeBB · 9 min read · Oct 19, 2025

Como Instalar o Fórum NodeBB no Ubuntu 18.04 LTS

NodeBB é um software de fórum baseado em Node.js construído para a web moderna. É construído em um banco de dados MongoDB ou Redis. Utiliza web sockets para interações instantâneas e notificações em tempo real. NodeBB possui muitos recursos modernos prontos para uso, como integração com redes sociais e discussões em tempo real. Funcionalidades adicionais são habilitadas através do uso de plugins de terceiros. NodeBB é um projeto de código aberto que pode ser encontrado no Github. Neste guia, vamos orientá-lo passo a passo pelo processo de instalação do NodeBB no sistema operacional Ubuntu 18.04 LTS, usando Nginx como um proxy reverso, MongoDB como o banco de dados e acme.sh e Let’s Encrypt para HTTPS.

Requisitos

NodeBB requer o seguinte software para ser instalado:

  • Node.js versão 6 ou superior
  • MongoDB versão 2.6 ou superior ou Redis versão 2.8.9 ou superior
  • Nginx versão 1.3.13 ou superior
  • Git

NOTA: Instalar as dependências do NodeBB pode exigir mais de 512 megabytes de memória do sistema. É recomendado habilitar uma partição de swap para compensar se seu sistema Linux tiver memória insuficiente.

Pré-requisitos

  • Um sistema Ubuntu 18.04 em execução com pelo menos 1GB de RAM.
  • Nome de domínio com registros A / AAAA configurados.
  • Um usuário não-root com privilégios sudo.

Passos iniciais

Verifique sua versão do Ubuntu:

lsb_release -ds  
# Ubuntu 18.04.1 LTS

Configure o fuso horário:

sudo dpkg-reconfigure tzdata

Atualize os pacotes do seu sistema operacional (software). Este é um passo importante porque garante que você tenha as últimas atualizações e correções de segurança para os pacotes de software padrão do seu sistema operacional:

sudo apt update && sudo apt upgrade -y

Instale alguns pacotes essenciais que são necessários para a administração básica do sistema operacional Ubuntu:

sudo apt install -y curl wget vim git unzip socat bash-completion  

Passo 1: Instalar Node.js e npm

NodeBB é construído sobre Node.js. Vamos instalar a versão recomendada para o NodeBB, que é a versão 8 ** no momento da redação deste texto. No Linux, você tem algumas opções de instalação do Node.js: Binaries do Linux (x86/x64), Código Fonte ou via Gerenciadores de Pacotes. Usaremos a opção de Gerenciamento de Pacotes, que torna a instalação e atualização do Node.js muito fácil.

Baixe e instale a versão mais recente de Long-Term Support (LTS) do Node.js do repositório Nodesource:

curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -  
sudo apt install -y nodejs  

Para compilar e instalar complementos nativos do npm, você também pode precisar instalar ferramentas de construção:

sudo apt install -y build-essential

NOTA: npm é distribuído com o Node.js - o que significa que quando você baixa o Node.js, você automaticamente tem o npm instalado em seu sistema.

Verifique as versões do Node.js e npm:

node -v && npm -v  
# v10.15.1  
# 6.4.1

O npm é um projeto separado do Node.js e tende a ser atualizado com mais frequência. Como resultado, mesmo que você tenha acabado de baixar o Node.js (e, portanto, o npm), provavelmente precisará atualizar seu npm. Felizmente, o npm sabe como se atualizar! Para atualizar seu npm, digite isso no seu terminal:

sudo npm install -g npm@latest

Este comando atualizará o npm para a versão estável mais recente.

Verifique novamente a versão do npm com:

npm -v  
# 6.7.0  

E deve retornar os números da versão mais recente.

Passo 2: Instalar e configurar o MongoDB

NodeBB precisa de um banco de dados para armazenar seus dados, e suporta MongoDB e Redis. Neste tutorial, escolhemos o MongoDB como motor de armazenamento de dados. Portanto, nos próximos passos, vamos baixar e instalar o banco de dados MongoDB do repositório rpm oficial do MongoDB:

Para instalar a versão estável do pacote MongoDB, emita o seguinte comando:

sudo apt install -y mongodb

Verifique a versão do MongoDB:

mongo --version | head -n 1 && mongod --version | head -n 1  

Inicie e habilite (configure para iniciar na reinicialização) o serviço MongoDB:

sudo systemctl start mongodb.service  
sudo systemctl enable mongodb.service

Verifique o status do Servidor de Banco de Dados MongoDB executando:

sudo systemctl status mongodb.service  
# active (running)

Em seguida, crie um banco de dados MongoDB e um usuário para o NodeBB.

Conecte-se ao servidor MongoDB primeiro.

mongo

Mude para o banco de dados admin embutido.

> use admin

Crie um usuário administrativo.

> db.createUser( { user: "admin", pwd: "", roles: [ { role: "readWriteAnyDatabase", db: "admin" }, { role: "userAdminAnyDatabase", db: "admin" } ] } )

NOTA: Substitua o espaço reservado pela sua própria senha escolhida.

Adicione um novo banco de dados chamado nodebb.

> use nodebb

O banco de dados será criado e o contexto mudará para nodebb. Em seguida, crie o usuário nodebb com os privilégios apropriados.

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

NOTA: Novamente, substitua o espaço reservado pela sua própria senha escolhida.

Saia do shell do Mongo.

> quit()

Reinicie o MongoDB e verifique se o usuário administrativo criado anteriormente pode se conectar.

sudo systemctl restart mongodb.service  
mongo -u admin -p sua_senha --authenticationDatabase=admin

Se tudo correr bem, seu MongoDB deve estar instalado e preparado para o NodeBB. No próximo passo, lidaremos com a instalação e configuração do servidor web.

Passo 3 - Instalar o cliente acme.sh e obter o certificado Let’s Encrypt (opcional)

Proteger seu Fórum NodeBB com HTTPS não é necessário, mas é uma boa prática proteger o tráfego do seu site. Para obter um certificado TLS do Let’s Encrypt, usaremos o cliente acme.sh. Acme.sh é um software de shell unix puro para obter certificados TLS do Let’s Encrypt com zero dependências.

Baixe e instale o acme.sh:

sudo su - root  
git clone https://github.com/Neilpang/acme.sh.git  
cd acme.sh   
./acme.sh --install --accountemail [email protected]  
source ~/.bashrc  
cd ~

Verifique a versão do acme.sh:

acme.sh --version  
# v2.8.0

Obtenha certificados RSA e ECC/ECDSA para seu domínio/nome do host:

# RSA 2048  
acme.sh --issue --standalone -d example.com --keylength 2048  
# ECDSA  
acme.sh --issue --standalone -d example.com --keylength ec-256

Se você quiser certificados falsos para teste, pode adicionar a flag --staging aos comandos acima.

Após executar os comandos acima, seus certificados e chaves estarão em:

  • Para RSA: diretório /home/username/example.com.
  • Para ECC/ECDSA: diretório /home/username/example.com_ecc.

Para listar seus certificados emitidos, você pode executar:

acme.sh --list

Crie um diretório para armazenar seus certificados. Usaremos o diretório /etc/letsencrypt.

mkdir -p /etc/letsecnrypt/example.com  
sudo mkdir -p /etc/letsencrypt/example.com_ecc

Instale/copie os certificados para o diretório /etc/letsencrypt.

# RSA  
acme.sh --install-cert -d example.com --cert-file /etc/letsencrypt/example.com/cert.pem --key-file /etc/letsencrypt/example.com/private.key --fullchain-file /etc/letsencrypt/example.com/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"  
# ECC/ECDSA  
acme.sh --install-cert -d example.com --ecc --cert-file /etc/letsencrypt/example.com_ecc/cert.pem --key-file /etc/letsencrypt/example.com_ecc/private.key --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"

Todos os certificados serão renovados automaticamente a cada 60 dias.

Após obter os certificados, saia do usuário root e volte ao usuário sudo normal:

exit

Passo 4: Instalar e configurar o Nginx

NodeBB pode funcionar bem com muitos servidores web. Neste tutorial, selecionamos o Nginx.

Instale o pacote Nginx, emitindo o seguinte comando:

sudo apt install -y nginx

Após a instalação, você pode verificar a versão do Nginx executando:

nginx -v  

Inicie e habilite (configure para iniciar na reinicialização) o serviço Nginx:

sudo systemctl start nginx.service  
sudo systemctl enable nginx.service

Verifique o status do servidor web Nginx executando:

sudo systemctl status nginx.service  
# active (running)

NodeBB por padrão roda na porta 4567. Para evitar digitar http://example.com:4567, configuraremos o Nginx como um proxy reverso para a aplicação NodeBB. Cada solicitação na porta 80 ou 443 (se SSL for usado) será encaminhada para a porta 4567.

Execute sudo vim /etc/nginx/conf.d/nodebb.conf e configure o Nginx como um proxy reverso HTTPS.

server {  
  listen [::]:443 ssl http2;  
  listen 443 ssl http2;  
  listen [::]:80;  
  listen 80;  
  
  server_name example.com;  
  
  client_max_body_size 50M;  
  
  # RSA  
  ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;  
  ssl_certificate_key /etc/letsencrypt/example.com/private.key;  
  # ECDSA  
  ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;  
  ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;  
  
  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";   
  }  
  
}

Verifique a configuração do Nginx:

sudo nginx -t

Finalmente, para que as alterações tenham efeito, precisamos recarregar o Nginx:

sudo systemctl reload nginx.service

Passo 5: Instalar e configurar o NodeBB

Crie um diretório raiz de documentos onde o NodeBB deve residir:

sudo mkdir -p /var/www/nodebb

Navegue até o diretório raiz de documentos:

cd /var/www/nodebb

Altere a propriedade do diretório /var/www/nodebb para seu_usuario.

sudo chown -R [seu_usuario]:[seu_usuario] /var/www/nodebb

NOTA: Substitua seu_usuario no comando acima pelo seu usuário não-root que você deve ter criado como pré-requisito para este tutorial.

Clone o repositório mais recente do NodeBB na pasta raiz do documento:

git clone -b v1.11.x https://github.com/NodeBB/NodeBB.git .

Inicie o script de configuração executando o aplicativo com a flag setup. Responda a cada uma das perguntas:

./nodebb setup

Após a conclusão da configuração do NodeBB, execute ./nodebb start para iniciar manualmente seu servidor NodeBB:

./nodebb start

Após executar este comando, você deve ser capaz de acessar seu novo fórum em seu navegador:

NodeBB no Navegador

Passo 6: Executar o NodeBB como um Serviço do Sistema

Quando iniciado via ./nodebb start, o NodeBB não iniciará automaticamente novamente quando o sistema reiniciar. Para evitar isso, precisaremos configurar o NodeBB como um serviço do sistema.

Se estiver em execução, pare o NodeBB:

./nodebb stop

Crie um novo usuário nodebb:

sudo useradd nodebb

Altere a propriedade do diretório /var/www/nodebb para o usuário nodebb:

sudo chown -R nodebb:nodebb /var/www/nodebb

Crie um arquivo de configuração de unidade systemd nodebb.service. Este arquivo de unidade lidará com a inicialização do daemon NodeBB. Execute sudo vim /etc/systemd/system/nodebb.service e adicione o conteúdo abaixo:

[Unit]
Description=NodeBB
Documentation=https://docs.nodebb.org
After=system.slice multi-user.target mongod.service

[Service]
Type=forking
User=nodebb

StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=nodebb

Environment=NODE_ENV=production
WorkingDirectory=/var/www/nodebb
PIDFile=/var/www/nodebb/pidfile
ExecStart=/usr/bin/env node loader.js
Restart=always

[Install]
WantedBy=multi-user.target

NOTA: Defina o nome de usuário e os caminhos do diretório de acordo com os nomes escolhidos.

Habilite nodebb.service na reinicialização e inicie imediatamente nodebb.service:

sudo systemctl enable nodebb.service  
sudo systemctl start nodebb.service

Verifique o status do nodebb.service:

sudo systemctl status nodebb.service  
sudo systemctl is-enabled nodebb.service

Parabéns! Você instalou e implantou com sucesso a plataforma de discussão NodeBB no sistema Ubuntu 18.04. Você deve ser capaz de acessar seu fórum em seu domínio e interagir com seu fórum.

Links

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.