CentOSおよびDebianベースのシステムにLet'sChatをインストールする方法


Let’s Chatは、比較的小規模なチーム向けに設計された、無料のオープンソースのセルフホストチャットアプリケーションです。機能が豊富です。 Node.jsを使用して構築され、MongoDBを使用してアプリケーションデータを格納します。

  • Supports persistent messages
  • Supports multiple rooms
  • Supports local/Kerberos/LDAP authentication
  • Comes with a REST-like API
  • Supports private and password-protected rooms
  • Offers support for new message alerts / notifications
  • Also supports mentions (hey @tecmint/@all)
  • Provides support for image embeds / Giphy search
  • Allows for code pasting
  • Supports for file uploads (locally or from Amazon S3 or Azure)
  • Also supports XMPP Multi-user chat (MUC) and 1-to-1 chat between XMPP users and many more.

重要なのは、以下のすべての要件を満たす任意のシステムに簡単に展開できるようにすることです。

  • Node.js (0.11+)
  • MongoDB (2.6+)
  • Python (2.7.x)

この記事では、CentOSおよびDebianベースのシステムで小規模チーム向けにLet’sChatメッセージングアプリケーションをインストールして使用する方法について説明します。

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

1.まず、次のように必要なパッケージをインストールして、システム全体の更新を実行してください。

-------------- On CentOS/RHEL/Fedora -------------- 
$ sudo yum update && sudo yum upgrade

-------------- On Debian/Ubuntu -------------- 
$ sudo apt-get update && sudo apt-get -y upgrade
$ sudo apt-get install software-properties-common git build-essential

2.システムの更新が完了したら、サーバーを再起動します(オプション)。

$ sudo reboot

ステップ2:Node.jsをインストールする

3.次に示すように、nodesourceリポジトリを使用して、最新バージョンのNodeJS(つまり、執筆時点ではバージョン7.x)をインストールします。

-------------- On CentOS/RHEL/Fedora --------------
$ curl -sL https://rpm.nodesource.com/setup_7.x | sudo -E bash - 
$ sudo yum install nodejs

-------------- On Debian/Ubuntu -------------- 
$ curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
$ sudo apt install nodejs 

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

4.次に、MongoDBコミュニティバージョンをインストールする必要がありますが、YUMリポジトリでは利用できません。したがって、以下で説明するように、MongoDBリポジトリを有効にする必要があります。

$ 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

次に、MongoDBサーバーの最新バージョン(つまり3.4)をインストールして起動します。

$ sudo yum install mongodb-org
$ sudo systemctl start mongod.service
$ sudo systemctl enable mongod.service
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
$ echo 'deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse' | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
$ sudo apt-get update
$ sudo apt-get install -y mongodb-org
$ sudo systemctl start mongod.service
$ sudo systemctl enable mongod.service

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

5.最初にgitをインストールして、Let’s Chatリポジトリのクローンを作成し、図のように依存関係をインストールします。

$ sudo yum install git		##RHEL/CentOS
$ sudo apt install git		##Debian/Ubuntu

$ cd /srv
$ sudo git clone https://github.com/sdelements/lets-chat.git 
$ cd lets-chat
$ sudo npm install

注:上記の出力からのnpm WARN信号は、インストール中は正常です。それらを無視してください。

6.インストールが完了したら、サンプルファイルからアプリケーション構成ファイル(/srv/lets-chat/settings.yml)を作成し、その中にカスタム設定を定義します。

$ sudo cp settings.yml.sample settings.yml

サンプル設定ファイルから提供されたデフォルト設定を使用します。

7.最後に、Let’sChatサーバーを起動します。

$ npm start 

Let’s Chatデーモンを実行し続けるには、 Ctrl-C を押して終了し、Systemdユニットファイルを作成してシステムの起動時に有効にします。

ステップ5:Let’sChatスタートアップファイルを作成する

8. Let’sChat用のsystemdユニットファイルを作成します。

$ sudo vi /etc/systemd/system/letschat.service

以下のユニット構成をコピーしてファイルに貼り付けます。

[Unit]
Description=Let's Chat Server
Wants=mongodb.service
After=network.target mongodb.service

[Service]
Type=simple
WorkingDirectory=/srv/lets-chat
ExecStart=/usr/bin/npm start
User=root
Group=root
Restart=always
RestartSec=9

[Install]
WantedBy=multi-user.target

9.ここで、しばらくの間サービスを開始し、システムの起動時にサービスが自動的に開始されるようにします。

$ sudo systemctl start letschat
$ sudo systemctl enable letschat
$ sudo systemctl status letschat

ステップ6:Let’s ChatWebインターフェイスにアクセスする

10.すべてが整ったら、次のURLでLet’s ChatWebインターフェイスにアクセスできます。

https://SERVER_IP:5000
OR
https://localhost:5000

11.「アカウントが必要」をクリックしてアカウントを作成し、必要な情報を入力して「登録」をクリックします。

次の関連記事もお気に召すかもしれません。

  1. Useful Commands to Create Commandline Chat Server in Linux
  2. Create Your Own Instant Messaging/Chat Server Using “Openfire” in Linux

Githubリポジトリとチャットしましょう:https://github.com/sdelements/lets-chat

楽しい!これで、Let’sChatアプリケーションがシステムにインストールされました。私たちと考えを共有するには、以下のフィードバックフォームを使用してください。