この記事では、NodeBBをインストールする方法を紹介します。 Ubuntu18.04VPSの場合 。
NodeBBは、無料で使いやすいNode.jsプラットフォームで実行されるオープンソースのフォーラムソフトウェアです。あらゆる種類のコミュニティフォーラム、ディスカッション、掲示板を強化するのに最適です。 NodeBBは、Webソケットを利用して、即時の対話とリアルタイムの通知を行います。
前提条件:
- Ubuntu 18.04 VPS
- Node.js
- データベース–このチュートリアルではMongoDBを使用します
- NginxWebサーバー
- root権限でのSSHアクセス
ステップ1:サーバーに接続する
rootユーザーとしてSSH経由でサーバーに接続するには、次のコマンドを使用します。
ssh root@IP_ADDRESS -p PORT_NUMBER
「IP_ADDRESS」と「PORT_NUMBER」を実際のサーバーのIPアドレスとSSHポート番号に置き換えます。
ログインしたら、次のコマンドを実行して、サーバーが最新であることを確認します。
$ apt-get update $ apt-get upgrade
ステップ2:Node.jsをインストールする
Ubuntuシステムでは、NodeSourceリポジトリからNode.jsをインストールできます:
$ apt-get update $ apt-get install curl git gcc g++ make
その後、次のコマンドを使用してNode.jsリポジトリをインストールします
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
その後、以下のコマンドを実行してNode.jsをインストールします。
$ apt-get install nodejs
これで、「npm」と一緒にNode.jsのバージョン10がインストールされます。次を使用してバージョンを確認できます:
$ node -v v10.15.3 $ npm -v 6.4.1
ステップ3:MongoDBをインストールする
MongoDBは、NodeBBのデフォルトのデータベースです。パッケージ管理システムで使用される公開鍵をインポートして、インストールを開始します。
$ apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
MongoDBリポジトリを追加します:
echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb.list
aptパッケージインデックスを更新し、MongoDBサーバーをインストールします:
$ apt-get update $ apt-get install -y mongodb-org
MongoDBサービスを開始します:
$ systemctl start mongod.service $ systemctl enable mongod.service
MongoDBのインストールを確認します。少なくともバージョン4.0:が必要です
$ mongod --version db version v4.0.6 git version: caa42a1f75a56c7643d0b68d3880444375ec42e3 OpenSSL version: OpenSSL 1.1.0g 2 Nov 2017 allocator: tcmalloc modules: none build environment: distmod: ubuntu1804 distarch: x86_64 target_arch: x86_64
ステップ4:MongoDBを構成する
次のコマンドを実行してMongoDBにログインします。
$ mongo
次に、データベースを「admin」に切り替えて、新しい管理者ユーザーを作成します…
use admin
新しいパスワードで「admin」という名前の新しい管理者ユーザーを作成します…
db.createUser( { user: "admin", pwd: "admin_password", roles: [ { role: "readWriteAnyDatabase", db: "admin" }, { role: "userAdminAnyDatabase", db: "admin" } ] } )
「admin_password」を強力なパスワードに置き換えることを忘れないでください。
次に、 nodebbという名前の新しいデータベースを作成します
use nodebb
次に、「nodebbuser」という名前の新しいNodeBBユーザーを作成します データベースを管理する権限を持つ…
db.createUser( { user: "nodebbuser", pwd: "strong_password", roles: [ { role: "readWrite", db: "nodebb" }, { role: "clusterMonitor", db: "admin" } ] } )
繰り返しになりますが、「strong_password」を実際の複雑なパスワードに置き換えることを忘れないでください。
その後、MongoDBシェルを終了します。
quit()
その後、以下のコマンドを実行してMongoDB構成ファイルを開きます…
$ nano /etc/mongod.conf
強調表示された行を有効に変更します。
# network interfaces net: port: 27017 bindIp: 127.0.0.1 # how the process runs processManagement: timeZoneInfo: /usr/share/zoneinfo security: authorization: enabled #operationProfiling: #replication: #sharding:
完了したら、変更を保存します。
ステップ5:Nginxをインストールする
NodeBBは、多くのWebサーバーで問題なく動作します。このチュートリアルでは、最もカスタマイズ可能なWebサーバーの1つであるNginxで動作するように構成します。
Ubuntu 18.04サーバーにNginxをインストールするには、次のコマンドを実行する必要があります。
$ apt-get install nginx
インストールが完了したら、Nginxを起動し、再起動後に次の2つのコマンドを使用して自動的に起動できるようにします。
$ systemctl start nginx.service $ systemctl enable nginx.service
ステップ6:NodeBBをインストールする
次のコマンドを実行して、新しく作成したディレクトリに移動します。
$ cd /var/www
次のコマンドを実行して、このディレクトリでNodeBBのクローンを作成します。
$ git clone -b v1.12.0 https://github.com/NodeBB/NodeBB.git nodebb
* v1.12.0をここにリストされている最新バージョンに置き換えます。
新しいnodebb
を作成します ユーザー:
$ useradd nodebb
次に、/var/www/nodebb
の推奨されるファイルとフォルダーのアクセス許可を適用します nodebb
へのディレクトリ ユーザー:
sudo chown -R nodebb:nodebb /var/www/nodebb
でnodeBBディレクトリに入ります
$ cd nodebb
次のコマンドを使用してインストールを開始します。
$ ./nodebb setup
それぞれの質問に答えてください。これにより、npmからモジュールがインストールされ、セットアップユーティリティに入ります。
次に、次のコマンドでNodeBBを起動します。
$ ./nodebb start Starting NodeBB "./nodebb stop" to stop the NodeBB server "./nodebb log" to view server output "./nodebb help" for more commands
ステップ7:systemdユニットファイルを作成する
このステップでは、systemd内でNodeBBをサービスとして実行できます。これにより、起動時に起動したり、ターミナルセッションとは独立して実行したりできます。
すでに実行されている場合は、NodeBBを停止します:
$ ./nodebb stop
次のステップでは、NodeBBをサービスとして実行できるように、サービスユニットファイルを作成します。
テキストエディタを開きます(nanoを使用します):
$ nano /etc/systemd/system/nodebb.service
以下に構成を貼り付けます:
[Unit] Description=NodeBB Documentation=https://docs.nodebb.org After=system.slice multi-user.goal mongod.service [Service] Kind=forking Person=nodebb StandardOutput=syslog StandardError=syslog SyslogIdentifier=nodebb Setting=NODE_ENV=manufacturing WorkingDirectory=/var/www/nodebb PIDFile=/var/www/nodebb/pidfile ExecStart=/usr/bin/env node loader.js Restart=at all times [Install] WantedBy=multi-user.goal
ファイルを保存して終了します。ここで、デーモンをリロードして、systemd用に作成した新しいユニットをシステムが取得できるようにする必要があります。
$ systemctl daemon-reload
最後に、次のコマンドでNodeBBインスタンスを起動できます:
$ systemctl start nodebb
NodeBBサービスのステータスを確認するには、次のコマンドを実行できます。
$ systemctl status nodebb
ステップ8:Nginxを構成する
NodeBBはデフォルトでポート4567で実行されます。リクエストをプロキシするようにNginxを構成します。
Nginx構成ファイルを作成します:
$ nano /etc/nginx/conf.d/nodebb.conf
次に、次のコンテンツを追加します。
server { listen 80; server_name forum.your_domain.com; 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"; } }
注: 「your_domain.com」を登録済みのドメイン名に置き換えます。
次に、構成ファイルをチェックして、構文エラーがないことを確認します。エラーが発生すると、再起動時にWebサーバーがクラッシュする可能性があります。
$ nginx -t
出力:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
エラーがない場合は、Nginx構成をリロードできます。
$ systemctl reload nginx
ステップ9:NodeBBWebインターフェースにアクセスする
この時点で、Ubuntu18.04サーバーにNodeBBが正常にインストールされているはずです。 http://forum.your_domain.com
にアクセスできるはずです。 フォーラムとやり取りします。
管理者にアクセスするには ダッシュボードには、 http://forum.your_domain.com/admin
を使用します 代わりに、前に設定した資格情報を使用してください。
手順を正しく実行した場合は、サーバーでNodeBBのコピーが正常に実行されているはずです。
もちろん、 iする必要はありません nstall NodeBB Ubuntu18.04の場合 UbuntuVPSをお持ちの場合。私たちのサポートチームに、Ubuntu18.04にNodeBBをインストールするように依頼するだけです。それらは24時間年中無休で利用可能であり、インストールを支援することができます。
PS 。 Ubuntu 18.04にNodeBBをインストールする方法に関するこのブログ投稿を読んで楽しんだ場合、または役立つと思った場合は、以下のショートカットを使用してソーシャルネットワークで共有するか、コメントセクションにコメントを残してください。ありがとうございます。