NodeBBインストール · 3 min read · Oct 19, 2025

Ubuntu 18.04 LTSにNodeBBフォーラムをインストールする方法

NodeBBは、モダンなウェブのために構築されたNode.jsベースのフォーラムソフトウェアです。MongoDBまたはRedisデータベースのいずれかに基づいて構築されています。ウェブソケットを利用して即時のインタラクションとリアルタイム通知を実現しています。NodeBBは、ソーシャルネットワーク統合やストリーミングディスカッションなど、さまざまなモダンな機能を備えています。追加機能は、サードパーティのプラグインを使用することで有効になります。NodeBBはオープンソースプロジェクトであり、Githubで見つけることができます。このガイドでは、Nginxをリバースプロキシとして使用し、MongoDBをデータベースとして、acme.shとLet’s EncryptをHTTPS用に使用して、Ubuntu 18.04 LTSオペレーティングシステム上でNodeBBのインストールプロセスをステップバイステップで説明します。

要件

NodeBBをインストールするには、以下のソフトウェアが必要です:

  • Node.jsバージョン6以上
  • MongoDBバージョン2.6以上またはRedisバージョン2.8.9以上
  • Nginxバージョン1.3.13以上
  • Git

注意NodeBBの依存関係をインストールするには、512メガバイト以上のシステムメモリが必要な場合があります。Linuxシステムのメモリが不足している場合は、スワップパーティションを有効にすることをお勧めします。

前提条件

  • 少なくとも1GBのRAMを持つ稼働中のUbuntu 18.04システム。
  • A / AAAAレコードが設定されたドメイン名。
  • sudo権限を持つ非ルートユーザー。

初期ステップ

Ubuntuのバージョンを確認します:

lsb_release -ds  
# Ubuntu 18.04.1 LTS

タイムゾーンを設定します:

sudo dpkg-reconfigure tzdata

オペレーティングシステムのパッケージ(ソフトウェア)を更新します。これは重要な最初のステップであり、オペレーティングシステムのデフォルトソフトウェアパッケージに最新の更新とセキュリティ修正があることを保証します:

sudo apt update && sudo apt upgrade -y

Ubuntuオペレーティングシステムの基本管理に必要な必須パッケージをいくつかインストールします:

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

ステップ1:Node.jsとnpmをインストール

NodeBBはNode.js上に構築されています。ここでは、NodeBBに推奨されるバージョンであるバージョン8をインストールします。この執筆時点でのLinuxでは、Node.jsのインストールオプションがいくつかあります:Linuxバイナリ(x86/x64)、ソースコード、またはパッケージマネージャーを介して。私たちは、Node.jsのインストールと更新を簡単にするパッケージ管理オプションを使用します。

Node.jsの最新の長期サポート(LTS)リリースをNodesourceリポジトリからダウンロードしてインストールします:

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

npmからネイティブアドオンをコンパイルしてインストールするには、ビルドツールもインストールする必要があります:

sudo apt install -y build-essential

注意npmはNode.jsと共に配布されているため、Node.jsをダウンロードすると、自動的にnpmがシステムにインストールされます。

Node.jsとnpmのバージョンを確認します:

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

npmはNode.jsとは別のプロジェクトであり、より頻繁に更新される傾向があります。そのため、Node.js(したがってnpm)をダウンロードしたばかりでも、npmを更新する必要があるでしょう。幸いなことに、npmは自分自身を更新する方法を知っています!npmを更新するには、ターミナルに次のコマンドを入力します:

sudo npm install -g npm@latest

このコマンドはnpmを最新の安定版に更新します。

npmのバージョンを再確認します:

npm -v  
# 6.7.0  

そして、最新のバージョン番号が返されるはずです。

ステップ2:MongoDBをインストールして構成

NodeBBはデータを保存するためのデータベースが必要であり、MongoDBとRedisをサポートしています。このチュートリアルでは、データストアエンジンとしてMongoDBを選択しました。次の数ステップでは、公式のMongoDB rpmリポジトリからMongoDBデータベースをダウンロードしてインストールします:

安定版のMongoDBパッケージをインストールするには、次のコマンドを実行します:

sudo apt install -y mongodb

MongoDBのバージョンを確認します:

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

MongoDBサービスを開始し、有効にします(再起動時に開始するように設定):

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

次に、MongoDBデータベースとNodeBB用のユーザーを作成します。

まず、MongoDBサーバーに接続します。

mongo

組み込みのadminデータベースに切り替えます。

> use admin

管理ユーザーを作成します。

> db.createUser( { user: "admin", pwd: "<安全なパスワードを入力してください>", roles: [ { role: "readWriteAnyDatabase", db: "admin" }, { role: "userAdminAnyDatabase", db: "admin" } ] } )

注意プレースホルダー<安全なパスワードを入力してください>を自分で選択したパスワードに置き換えてください。

nodebbという新しいデータベースを追加します。

> use nodebb

データベースが作成され、nodebbにコンテキストが切り替わります。次に、適切な権限を持つnodebbユーザーを作成します。

> db.createUser( { user: "nodebb", pwd: "<安全なパスワードを入力してください>", roles: [ { role: "readWrite", db: "nodebb" }, { role: "clusterMonitor", db: "admin" } ] } )

注意再度、プレースホルダー<安全なパスワードを入力してください>を自分で選択したパスワードに置き換えてください。

Mongoシェルを終了します。

> quit()

MongoDBを再起動し、先に作成した管理ユーザーが接続できることを確認します。

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

すべてがうまくいけば、MongoDBはインストールされ、NodeBBの準備が整います。次のステップでは、ウェブサーバーのインストールと構成に取り組みます。

ステップ3 - acme.shクライアントをインストールし、Let’s Encrypt証明書を取得(オプション

NodeBBフォーラムをHTTPSで保護することは必須ではありませんが、サイトのトラフィックを保護するための良いプラクティスです。Let’s EncryptからTLS証明書を取得するために、acme.shクライアントを使用します。Acme.shは、依存関係ゼロでLet’s EncryptからTLS証明書を取得するための純粋なUnixシェルソフトウェアです。

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 ~

acme.shのバージョンを確認します:

acme.sh --version  
# v2.8.0

ドメイン/ホスト名のためにRSAおよびECC/ECDSA証明書を取得します:

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

テスト用の偽の証明書が必要な場合は、上記のコマンドに--stagingフラグを追加できます。

上記のコマンドを実行した後、証明書キーは以下の場所にあります:

  • RSAの場合:/home/username/example.comディレクトリ。
  • ECC/ECDSAの場合:/home/username/example.com_eccディレクトリ。

発行された証明書をリストするには、次のコマンドを実行します:

acme.sh --list

証明書を保存するためのディレクトリを作成します。/etc/letsencryptディレクトリを使用します。

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

証明書を/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"

すべての証明書は60日ごとに自動的に更新されます。

証明書を取得した後、rootユーザーから退出し、通常のsudoユーザーに戻ります:

exit

ステップ4:Nginxをインストールして構成

NodeBBは多くのウェブサーバーで正常に動作します。このチュートリアルでは、Nginxを選択しました。

次のコマンドを実行してNginxパッケージをインストールします:

sudo apt install -y nginx

インストール後、次のコマンドを実行してNginxのバージョンを確認できます:

nginx -v  

Nginxサービスを開始し、有効にします(再起動時に開始するように設定):

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

次のコマンドを実行してNginxウェブサーバーのステータスを確認します:

sudo systemctl status nginx.service  
# active (running)

NodeBBはデフォルトでポート4567で実行されます。http://example.com:4567と入力する手間を省くために、NginxをNodeBBアプリケーションのリバースプロキシとして構成します。ポート80または443SSLを使用している場合)へのすべてのリクエストはポート4567に転送されます。

sudo vim /etc/nginx/conf.d/nodebb.confを実行し、Nginxを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;  
    # Socket.IOサポート  
    proxy_http_version 1.1;  
    proxy_set_header Upgrade $http_upgrade;  
    proxy_set_header Connection "upgrade";   
  }  
  
}

Nginxの設定を確認します:

sudo nginx -t

最後に、変更を有効にするためにNginxをリロードする必要があります:

sudo systemctl reload nginx.service

ステップ5:NodeBBをインストールして設定

NodeBBが存在するドキュメントルートディレクトリを作成します:

sudo mkdir -p /var/www/nodebb

ドキュメントルートディレクトリに移動します:

cd /var/www/nodebb

/var/www/nodebbディレクトリの所有権をyour_userに変更します。

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

注意上記のコマンドのyour_userを、このチュートリアルの前提条件として作成した非ルートユーザーに置き換えてください。

最新のNodeBBリポジトリをドキュメントルートフォルダにクローンします:

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

setupフラグを使用してアプリを実行し、セットアップスクリプトを開始します。各質問に答えます:

./nodebb setup

NodeBBのセットアップが完了したら、./nodebb startを実行して手動でNodeBBサーバーを起動します:

./nodebb start

このコマンドを実行すると、新しいフォーラムにウェブブラウザでアクセスできるようになります:

ブラウザのNodeBB

ステップ6:NodeBBをシステムサービスとして実行

./nodebb startで起動すると、NodeBBはシステムが再起動しても自動的に再起動しません。それを避けるために、NodeBBをシステムサービスとして設定する必要があります。

実行中の場合は、NodeBBを停止します:

./nodebb stop

新しいnodebbユーザーを作成します:

sudo useradd nodebb

/var/www/nodebbディレクトリの所有権をnodebbユーザーに変更します:

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

nodebb.serviceシステムdユニット構成ファイルを作成します。このユニットファイルはNodeBBデーモンの起動を処理します。sudo vim /etc/systemd/system/nodebb.serviceを実行し、以下の内容を追加します:

[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

注意ユーザー名とディレクトリパスは、選択した名前に応じて設定してください。

再起動時にnodebb.serviceを有効にし、すぐにnodebb.serviceを開始します:

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

nodebb.serviceのステータスを確認します:

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

おめでとうございます!Ubuntu 18.04システムにNodeBBディスカッションプラットフォームを正常にインストールして展開しました。ドメインでフォーラムにアクセスし、フォーラムと対話できるはずです。

リンク

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。