CentOS 7にLets Chatサーバーを配備する方法

Let's Chatは、オープンソースのチャットアプリケーションで、小規模なチームに自己ホスト型メッセージングサービスを提供するように設計されています。

Let's ChatはNodeJSとMongoDBに基づいています。この記事では、Let's ChatをCentOS 7サーバーにデプロイする方法について説明します。

前提条件

  • 2G以上のRAMを備えたCentOS 7サーバーインスタンス。4G RAMを推奨。
  • sudoのユーザー

ステップ1:システムを更新する

システムに初めてログインするときは、次のようにシステム全体の更新を実行する必要があります。

sudo yum install epel-release -y
sudo yum clean all && sudo yum update -y && sudo shutdown -r now

再起動後、同じsudoユーザーとして再度ログインします。

ステップ2:NodeJSをインストールする

6.9.5執筆時点で、最新のNodeJS 6.xを次のようにインストールします。

cd
curl --silent --location https://rpm.nodesource.com/setup_6.x | sudo bash -
sudo yum install -y nodejs

ステップ3:MongoDBをインストールする

3.4この記事の執筆時点での最新のMongoDBを次のようにインストールします。

3.1次のようにMongoDB 3.4 YUMリポジトリを作成します。

cat <<EOF | sudo tee -a /etc/yum.repos.d/mongodb-org-3.4.repo
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
EOF

3.2 3.4.1この記事の執筆時点でのMongoDBサーバーの最新の安定版リリースをインストールして起動します。

sudo yum install -y mongodb-org
sudo systemctl start mongod.service
sudo systemctl enable mongod.service

ステップ4:Let's Chatをインストールする

sudo yum install git -y
cd /opt
sudo git clone https://github.com/sdelements/lets-chat.git
cd lets-chat
sudo npm install

注:npm WARN ...インストール中にいくつかのメッセージが表示されるのは正常です。無視してください。

ステップ5(オプション):settings.ymlファイルを作成する

Let's Chatをカスタマイズしたい場合は、という名前のファイルを作成し、/opt/lets-chat/settings.ymlその中にカスタム設定を追加できます。

sudo cp settings.yml.sample settings.yml

このチュートリアルでは、サンプル設定ファイルのデフォルト設定を使用します。

ステップ6:永久にインストール

Let's Chatは次の/opt/lets-chatディレクトリから開始できます。

cd /opt/lets-chat
npm start

出力は次のようになります。

> [email protected] start /opt/lets-chat
> node app.js

██╗     ███████╗████████╗███████╗     ██████╗██╗  ██╗ █████╗ ████████╗
██║     ██╔════╝╚══██╔══╝██╔════╝    ██╔════╝██║  ██║██╔══██╗╚══██╔══╝
██║     █████╗     ██║   ███████╗    ██║     ███████║███████║   ██║
██║     ██╔══╝     ██║   ╚════██║    ██║     ██╔══██║██╔══██║   ██║
███████╗███████╗   ██║   ███████║    ╚██████╗██║  ██║██║  ██║   ██║
╚══════╝╚══════╝   ╚═╝   ╚══════╝     ╚═════╝╚═╝  ╚═╝╚═╝  ╚═╝   ╚═╝

Release 0.4.8

Let's Chatアプリケーションを実行し続けるために、Ctrl-Cまずを押して終了し、次にforeverそれを確実に実行できるという名前のアプリをインストールします。

sudo npm install forever -g

foreverアプリケーションを使用して、レッツチャットを開始します。

cd /opt/lets-chat
forever start app.js

Let's Chatが起動して実行されたら、次の方法でローカルにアクセスできます。

http://localhost:5000

以下のコマンドでインストールをテストできます:

curl -I http://localhost:5000

出力は次のようになります。

HTTP/1.1 302 Found
X-Frame-Options: SAMEORIGIN
X-Download-Options: noopen
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Content-Security-Policy:
X-Content-Security-Policy:
X-WebKit-CSP:
X-UA-Compatible: IE=Edge,chrome=1
Location: /login
Vary: Accept, Accept-Encoding
Content-Type: text/plain; charset=utf-8
Content-Length: 28
set-cookie: connect.sid=s%3A0YTFL6Un5G7iMc3zt8i-vlIh2YDQqTZ3.1dVZFG3VWmwd%2FXXXJiuyWSQ4k432MVvxm7xrgJGIej4; Path=/; HttpOnly
Date: Wed, 01 Feb 2017 11:30:03 GMT
Connection: keep-alive

ステップ7:Nginxをリバースプロキシとしてインストールする

外部Webアクセスを有効にするには、トラフィックをリダイレクトするために、リバースプロキシ、Nginxなどをセットアップする必要があります。

7.1 Nginxをインストールします。

sudo yum install nginx -y

7.2 Nginxの設定を変更します。

sudo vi /etc/nginx/nginx.conf

location / {}セグメント内のhttp {}セグメントを見つけます。

http {

    location / {
    }

}

以下の行をlocation / {}セグメントに挿入します。

proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_cache_bypass $http_upgrade;
proxy_pass http://127.0.0.1:5000;

最終結果は次のようになります。

http {

location / {
    proxy_pass http://127.0.0.1:5000;
      proxy_http_version 1.1;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header Host $host;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection 'upgrade';
      proxy_cache_bypass $http_upgrade;
}

}

保存して終了:

:wq!

7.3 Nginxサービスを開始します。

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

7.4 Webアクセスを許可するためにファイアウォールルールを変更します。

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload

ステップ8:Webアクセス

Webブラウザーでhttp://203.0.113.1Let's Chatにアクセスし、I need an accountリンクをクリックしてログイン用のユーザー名を登録します。

それでおしまい。読んでくれてありがとう。



Leave a Comment

CentOS 7にApacheをインストールする方法

CentOS 7にApacheをインストールする方法

CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。

DebianでSnortを設定する方法

DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。

Ubuntu 19.04にFiveMサーバーをインストールする方法

Ubuntu 19.04にFiveMサーバーをインストールする方法

FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。