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

install 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  
–dearmor
echo “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

add mongodb repo

次に、以下のaptコマンドを実行してUbuntuパッケージインデックスを更新し、mongodb-orgパッケージをインストールします。インストールを確認するためにYを入力します。

sudo apt update  
sudo apt install mongodb-org

install mongodb

インストールが完了したら、以下のsystemctlコマンドを実行してsystemdマネージャーを再読み込みします。これは、新しいサービスファイルmongodがシステムに追加されたためです。

sudo systemctl daemon-reload

次に、以下のsystemctlコマンドを実行してMongoDB mongodサービスを開始および有効にします。そして、mongodサービスが実行されていることを確認するためにそのステータスを確認します。

sudo systemctl enable --now mongod  
sudo systemctl status mongod

以下のように、mongodサービスが有効で実行中であることが確認できます。

check mongod service

NodeBBのためのMongoDBサーバーとデータベースの設定

MongoDBサーバーをインストールしたら、MongoDBで認証を有効にし、管理者ユーザーを作成し、NodeBBインストール用の新しいユーザーとデータベースを作成します。

以下のmongoshクライアントコマンドを使用してMongoDBシェルにログインします。

mongosh

mongoshシェルで、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()

create mongodb user and database

次に、以下のnanoエディタを使用してデフォルトのMongoDB設定ファイル/etc/mongod.confを開きます。

sudo nano /etc/mongod.conf

securityオプションのコメントを解除し、authorizationenabledに変更します。これにより、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()と入力します。

check users

NodeBBのインストール

MongoDBサーバーを設定したので、公式のUbuntuリポジトリを通じてNode.jsをインストールし、次にUbuntuシステムにNodeBBをダウンロードしてインストールします。

NodeBBをインストールする前に、以下のaptコマンドを実行してNode.jsとNPMパッケージをUbuntuシステムにインストールします。インストールを確認するためにYを入力します。

sudo apt install nodejs npm

install nodejs

インストール後、以下のコマンドで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

add user and download 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という出力が表示されます。

setup complete

コマンドラインからNodeBBを実行するには、以下のnodebb startコマンドを実行します。

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

NodeBBプロセスを設定するには、以下のnodebb stopコマンドを使用します。

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

start and 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サービスとして実行されていることが確認できます。

nodebb service

Nginxをリバースプロキシとして設定する

このチュートリアルでは、NginxウェブサーバーをNodeBBのリバースプロキシとして使用します。したがって、Nginxをインストールし、リバースプロキシ用の新しいサーバーブロックを作成します。ドメイン名がサーバーIPアドレスにポイントされていることを確認してください。

以下のapt installコマンドを使用して、システムにNginxウェブサーバーをインストールします。

sudo apt install nginx -y

install nginx

インストールが完了したら、以下の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

setup nginx

最後に、以下のsystemctlコマンドを実行してNginxサービスを再起動し、変更を適用します。その後、Nginxサービスのステータスを確認して、実行中であることを確認します。

sudo systemctl restart nginx  
sudo systemctl status nginx

以下の出力のように、Nginxサービスが実行中であることが確認できます。

check 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のデフォルトホームページが表示されます。

homepage

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

login

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

admin settings

結論

おめでとうございます!Ubuntu 24.04サーバーにオープンソースフォーラムソフトウェアNodeBBをインストールしました。MongoDBをデータベースとして、NginxをリバースプロキシとしてNodeBBを稼働させています。また、CertbotとLetsencryptを使用してNodeBBをHTTPSで保護しました。これで、登録と確認のためにSMTPサーバーを追加できます。

Share: X/Twitter LinkedIn

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

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