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/AAAAconfigurados. - 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 LTSConfigure o fuso horário:
sudo dpkg-reconfigure tzdataAtualize 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 -yInstale 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-essentialNOTA: 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.1O 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@latestEste 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 mongodbVerifique 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.serviceVerifique 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.
mongoMude para o banco de dados admin embutido.
> use adminCrie 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 nodebbO 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=adminSe 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.0Obtenha 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-256Se 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 --listCrie 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_eccInstale/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:
exitPasso 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 nginxApó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.serviceVerifique 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 -tFinalmente, para que as alterações tenham efeito, precisamos recarregar o Nginx:
sudo systemctl reload nginx.servicePasso 5: Instalar e configurar o NodeBB
Crie um diretório raiz de documentos onde o NodeBB deve residir:
sudo mkdir -p /var/www/nodebbNavegue até o diretório raiz de documentos:
cd /var/www/nodebbAltere a propriedade do diretório /var/www/nodebb para seu_usuario.
sudo chown -R [seu_usuario]:[seu_usuario] /var/www/nodebbNOTA: 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 setupApós a conclusão da configuração do NodeBB, execute ./nodebb start para iniciar manualmente seu servidor NodeBB:
./nodebb startApós executar este comando, você deve ser capaz de acessar seu novo fórum em seu 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 stopCrie um novo usuário nodebb:
sudo useradd nodebbAltere a propriedade do diretório /var/www/nodebb para o usuário nodebb:
sudo chown -R nodebb:nodebb /var/www/nodebbCrie 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.serviceVerifique o status do nodebb.service:
sudo systemctl status nodebb.service
sudo systemctl is-enabled nodebb.serviceParabé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
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.