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 -yUbuntuオペレーティングシステムの基本管理に必要な必須パッケージをいくつかインストールします:
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.1npmは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 mongodbMongoDBのバージョンを確認します:
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または443(SSLを使用している場合)へのすべてのリクエストはポート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 setupNodeBBのセットアップが完了したら、./nodebb startを実行して手動でNodeBBサーバーを起動します:
./nodebb startこのコマンドを実行すると、新しいフォーラムにウェブブラウザでアクセスできるようになります:

ステップ6:NodeBBをシステムサービスとして実行
./nodebb startで起動すると、NodeBBはシステムが再起動しても自動的に再起動しません。それを避けるために、NodeBBをシステムサービスとして設定する必要があります。
実行中の場合は、NodeBBを停止します:
./nodebb stop新しいnodebbユーザーを作成します:
sudo useradd nodebb/var/www/nodebbディレクトリの所有権をnodebbユーザーに変更します:
sudo chown -R nodebb:nodebb /var/www/nodebbnodebb.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.servicenodebb.serviceのステータスを確認します:
sudo systemctl status nodebb.service
sudo systemctl is-enabled nodebb.serviceおめでとうございます!Ubuntu 18.04システムにNodeBBディスカッションプラットフォームを正常にインストールして展開しました。ドメインでフォーラムにアクセスし、フォーラムと対話できるはずです。
リンク
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。