NodeBBインストール · 2 min read · Sep 10, 2025
Ubuntu 24.04サーバーにNginxプロキシを使用してNodeBBをインストールする方法

NodeBBは、オンラインコミュニティのための現代的で応答性の高いソリューションを提供するオープンソースのNode.jsベースのフォーラムソフトウェアです。Ubuntu Linux上で動作するNodeBBは、オペレーティングシステムの堅牢性と柔軟性を活用して、高いパフォーマンスとスケーラビリティを提供します。MongoDBまたはRedisの組み合わせを使用してデータベース管理を行い、大量のユーザー生成コンテンツを効率的に処理することができます。NodeBBはリアルタイム通知、さまざまなソーシャルメディアプラットフォームとのシームレスな統合、広範なプラグインエコシステムで知られており、管理者が特定のニーズに合わせてフォーラムをカスタマイズできます。さらに、モバイルファーストデザインにより、すべてのデバイスで一貫した魅力的なユーザーエクスペリエンスが保証されます。Ubuntuの安定性とセキュリティ機能はNodeBBを補完し、動的なオンラインコミュニティのホスティングと管理に最適な選択肢となります。
このガイドでは、MongoDBデータベースとNginxウェブサーバーを使用して、Ubuntu 24.04サーバーにNodeBBをインストールする方法を学びます。また、CertbotとLetsencryptを使用してNodeBBをHTTPSで保護する方法も学びます。
前提条件
このガイドを始める前に、次のものを用意してください:
- Ubuntu 24.04サーバー。
- 管理者権限を持つ非ルートユーザー。
- サーバーIPアドレスにポイントされたドメイン名。
MongoDBサーバーのインストール
NodeBBはNode.jsで書かれており、MongoDBをデータベースとして使用します。NodeBBをインストールするには、システムにMongoDBサーバーをインストールする必要があります。このセクションでは、Ubuntu 24.04サーバーにMongoDBサーバー7をインストールします。
まず、以下のコマンドを実行して、gnupgとcurlパッケージをUbuntuシステムにインストールします。
sudo apt install gnupg curl
次に、以下のコマンドを使用してMongoDBのGPGキーとリポジトリを追加します。この時点で、MongoDB 7.0はUbuntu 22.04までしか利用できないため、Ubuntu 24.04サーバーではこれを使用します。
curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc |
sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg
–dearmorecho “deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse” | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
次に、以下のaptコマンドを実行してUbuntuパッケージインデックスを更新し、mongodb-orgパッケージをインストールします。インストールを確認するためにYを入力します。
sudo apt update
sudo apt install mongodb-org
インストールが完了したら、以下のsystemctlコマンドを実行してsystemdマネージャーを再読み込みします。これは、新しいサービスファイルmongodがシステムに追加されたためです。
sudo systemctl daemon-reload次に、以下のsystemctlコマンドを実行してMongoDB mongodサービスを開始および有効にします。そして、mongodサービスが実行されていることを確認するためにそのステータスを確認します。
sudo systemctl enable --now mongod
sudo systemctl status mongod以下のように、mongodサービスが有効で実行中であることが確認できます。

NodeBBのためのMongoDBサーバーとデータベースの設定
MongoDBサーバーをインストールしたら、MongoDBで認証を有効にし、管理者ユーザーを作成し、NodeBBインストール用の新しいユーザーとデータベースを作成します。
以下のmongoshクライアントコマンドを使用してMongoDBシェルにログインします。
mongoshmongoshシェルで、adminデータベースに切り替え、MongoDBの新しい管理者ユーザーを作成します。この例では、パスワードMongoDBAdminPassでMongoDBユーザーadminを作成します。ユーザーの詳細は自分の情報に変更してください。
use admin
db.createUser( { user: “admin”, pwd: “MongoDBAdminPass”, roles: [ { role: “root”, db: “admin” } ] } )その後、nodebbデータベースに切り替え、新しいユーザーnodebbをパスワードNodeBBPasswordで作成します。データベースとユーザーnodebbはNodeBBインストールに使用されます。
use nodebb
db.createUser( { user: “nodebb”, pwd: “NodeBBPassword”, roles: [ { role: “readWrite”, db: “nodebb” }, { role: “clusterMonitor”, db: “admin” } ] } )次に、mongoshシェルから退出するためにquit()と入力します。
quit()
次に、以下のnanoエディタを使用してデフォルトのMongoDB設定ファイル/etc/mongod.confを開きます。
sudo nano /etc/mongod.confsecurityオプションのコメントを解除し、authorizationをenabledに変更します。これにより、MongoDBサーバーで認証が有効になります。
security:
authorization: enabled完了したら、ファイルを保存してエディタを終了します。
次に、以下のsystemctlコマンドを実行してmongodサービスを再起動し、変更を適用します。mongodサービスが再起動されると、MongoDB認証が有効になります。
sudo systemctl restart mongod以下のmongoshコマンドを実行して、ユーザーnodebbとしてデータベースnodebbに接続します。プロンプトが表示されたらパスワードを入力します。
mongosh “mongodb://127.0.0.1:27017” --username nodebb --authenticationDatabase nodebb次に、MongoDBサーバーへの接続を確認するために以下のクエリを実行します。
db.runCommand( { connectionStatus: 1, showPrivileges: false } )以下のように、ユーザーnodebbとしてデータベースnodebbに認証されました。
MongoDBシェルから退出するためにquit()と入力します。

NodeBBのインストール
MongoDBサーバーを設定したので、公式のUbuntuリポジトリを通じてNode.jsをインストールし、次にUbuntuシステムにNodeBBをダウンロードしてインストールします。
NodeBBをインストールする前に、以下のaptコマンドを実行してNode.jsとNPMパッケージをUbuntuシステムにインストールします。インストールを確認するためにYを入力します。
sudo apt install nodejs npm
インストール後、以下のコマンドでNode.jsとNPMのバージョンを確認します。Node.js 18とNPM 9がインストールされていることが確認できます。
node --version
npm --version次に、以下のコマンドを実行して新しいシステムユーザーとグループnodebbを作成します。このユーザーはNodeBBインストールを実行するために使用されます。
sudo adduser --system --no-create-home --home=/opt/nodebb --group nodebb以下のgitコマンドを実行してNodeBBのソースコードを/opt/nodebbディレクトリにダウンロードし、それをユーザーnodebbに所有権を変更します。
git clone -b v3.x https://github.com/NodeBB/NodeBB.git /opt/nodebb
sudo chown -R nodebb:nodebb /opt/nodebb
/opt/nodebbディレクトリに移動し、NodeBBインストールを開始するためにnodebbセットアップコマンドを実行します。
cd /opt/nodebb
sudo su -s /bin/bash -c “./nodebb setup” nodebb次のNodeBB設定について尋ねられます:
- NodeBBのドメイン名を入力します(例:forum.howtoforge.local)。
- NodeBBの秘密設定ではENTERを押します。デフォルトのままにします。
- NodeBBへの匿名アクセスを無効にするために「no」と入力します。
- データベースとしてMongoDBを選択します。
- MongoDBデータベースの詳細をmongodb://nodebb:[email protected]:27017/nodebbの形式で入力します。
- NodeBBの新しい管理者ユーザーとメールアドレスを入力します。
- NodeBB管理者ユーザーのパスワードを入力し、繰り返します。
インストールが完了すると、NodeBB Setup Completedという出力が表示されます。

コマンドラインからNodeBBを実行するには、以下のnodebb startコマンドを実行します。
sudo su -s /bin/bash -c "./nodebb start" nodebbNodeBBプロセスを設定するには、以下のnodebb stopコマンドを使用します。
sudo su -s /bin/bash -c "./nodebb stop" nodebb
NodeBBをsystemdサービスとして実行する
このガイドでは、NodeBBをバックグラウンドでsystemdサービスとして実行します。したがって、NodeBB用の新しいサービスファイルを作成し、systemctlユーティリティを通じてNodeBBサービスを管理しやすくします。
以下のnanoエディタを使用して新しいsystemdサービスファイル/etc/systemd/system/nodebb.serviceを作成します。
sudo nano /etc/systemd/system/nodebb.service以下のNodeBB用のサービスファイルを貼り付けます。この例では、nodebbユーザーとしてnodebbサービスを実行します。
[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.targetファイルを保存してエディタを終了します。
次に、以下のsystemctlコマンドを実行してsystemdマネージャーを再読み込みし、変更を適用します。
sudo systemctl daemon-reloadその後、以下のコマンドでnodebbサービスを開始、有効化、確認します。
sudo systemctl enable --now nodebb
sudo systemctl status nodebb以下のように、nodebbサービスがバックグラウンドでsystemdサービスとして実行されていることが確認できます。

Nginxをリバースプロキシとして設定する
このチュートリアルでは、NginxウェブサーバーをNodeBBのリバースプロキシとして使用します。したがって、Nginxをインストールし、リバースプロキシ用の新しいサーバーブロックを作成します。ドメイン名がサーバーIPアドレスにポイントされていることを確認してください。
以下のapt installコマンドを使用して、システムにNginxウェブサーバーをインストールします。
sudo apt install nginx -y
インストールが完了したら、以下のnanoエディタを使用して新しいサーバーブロック設定/etc/nginx/sites-available/nodebbを作成します。
sudo nano /etc/nginx/sites-available/nodebb以下の設定を挿入し、forum.howtoforge.localを自分のドメイン名に変更してください。これにより、バックグラウンドでポート4567で実行されているNodeBBのリバースプロキシが設定されます。
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;
# Socket.IO Support
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}ファイルを保存してエディタを終了します。
次に、以下のコマンドを実行してnodebbサーバーブロックファイルを有効にし、Nginx設定を確認します。正しい場合、適切なNginx設定がある場合は、syntax is ok - test is successfulという出力が表示されます。
sudo ln -s /etc/nginx/sites-available/nodebb /etc/nginx/sites-enabled/
sudo nginx -t
最後に、以下のsystemctlコマンドを実行してNginxサービスを再起動し、変更を適用します。その後、Nginxサービスのステータスを確認して、実行中であることを確認します。
sudo systemctl restart nginx
sudo systemctl status nginx以下の出力のように、Nginxサービスが実行中であることが確認できます。

NodeBBをHTTPSで保護する
このセクションでは、CertbotとLetsencryptを使用してNodeBBをHTTPSで保護します。CertbotとNginxを組み合わせることで、ウェブサーバーで自動HTTPSを設定できます。
以下のコマンドを使用してcertbotとpython3-certbot-nginxパッケージをインストールします:
sudo apt install certbot python3-certbot-nginx -y次に、以下のcertbotコマンドを実行してSSL証明書を生成し、NodeBBインストールをHTTPSで保護します。メールアドレスとドメイン名を自分の情報に変更してください。
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d forum.howtoforge.localプロセスが完了すると、/etc/letsencrypt/live/domain.comディレクトリに証明書が表示されます。そして、NodeBBインストールは自動的にHTTPSで保護されます。
NodeBBへのアクセス
ウェブブラウザを使用して、https://forum.howtoforge.localのようなNodeBBドメイン名を開きます。インストールが成功した場合、以下のようなNodeBBのデフォルトホームページが表示されます。

ログインリンクをクリックすると、NodeBBのログインページが表示されます。次に、管理者ユーザーとパスワードを入力し、ログインをクリックして確認します。正しい資格情報がある場合、以下の管理ダッシュボードが表示されます。

NodeBBの管理設定には、以下の内容が表示されます。

結論
おめでとうございます!Ubuntu 24.04サーバーにオープンソースフォーラムソフトウェアNodeBBをインストールしました。MongoDBをデータベースとして、NginxをリバースプロキシとしてNodeBBを稼働させています。また、CertbotとLetsencryptを使用してNodeBBをHTTPSで保護しました。これで、登録と確認のためにSMTPサーバーを追加できます。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。