オープンソースLet’s Chatをインストールしてみる

7にLet’s Chatをインストールして使ってみましょう

日々増加するデータ量などを考えれば、チャットツールの基本はCloudを活用することだと考えています。セキュリティの関係もあり、クラウドサービスは使用できない環境の方もいると思います。(当サイトのターゲットとする小規模オフィスはネットワークを制限する方がコストが高いので対象ではないかも知れません)

有名なチャットツールとしてはSlack、国内だとChatworkなどがありますが、SlackもChatworkもクラウド形態のチャットツールのため、前述したセキュリティ問題で使用不可という環境の方もいるでしょう。クラウドサービスではないとすると、オンプレミスにチャットツールを構築する必要があります。

オンプレミスで構築できてオープンソースですとRocket 、Mattermost、Let’s Chatでしょうか。いずれに人気チャットツールのSlackに似た雰囲気を持っています。

今回は、比較的にインストールが容易だった、オープンソースチャットツールLet’s ChatをCentOS7にインストールして試してみましょう。
環境が良くないためアラートなどもありますが、とりあえず使える状態になりました。また、残念なのは1人で試しているので実際の使用とはかけ離れていると思います。

Let’s Chatとは

Python、Node.js、Socket.IOで実装されていて、データベースもMongoDBということでROCKET CHATに近い環境で構築できます。Slack風なUIを持っています。それだけSlackのシェアが高いということでしょうか。

Let’s Chatをインストールする

Node.js、Python2.7以降、MongoDBを使用します。Python2.7はCentOS7.4では、標準でインストールされているので、そのまま使用します。

Node.jsをインストールする

Node.jsをインストールするため、先にepel-releaseリポジトリをインストールします。

epel-releaseのインストール

# yum install epel-release
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ epel-release.noarch 0:7-9 を 
--> 依存性解決を終了しました。

依存性を解決しました

====================================================================================================
 Package                     アーキテクチャー      バージョン           リポジトリー           容量
====================================================================================================
インストール中:
 epel-release                noarch                7-9                  extras                 14 k

トランザクションの要約
====================================================================================================
  1 パッケージ

総ダウンロード容量: 14 k
インストール容量: 24 k
Is this ok [y/d/N]: y
Downloading packages:
epel-release-7-9.noarch.rpm                                                  |  14 kB  00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : epel-release-7-9.noarch                                             1/1
  検証中                  : epel-release-7-9.noarch                                             1/1

:
  epel-release.noarch 0:7-9

完了しました!
# yum update epel-release
読み込んだプラグイン:fastestmirror
epel/x86_64/metalink                                                         | 6.5 kB  00:00:00
epel                                                                         | 4.7 kB  00:00:00
(1/3): epel/x86_64/group_gz                                                  | 261 kB  00:00:00
(2/3): epel/x86_64/updateinfo                                                | 847 kB  00:00:03
(3/3): epel/x86_64/primary_db                                                | 6.1 MB  00:00:01
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * epel: ae.mirror.rasanegar.com
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ epel-release.noarch 0:7-9 を 更新
---> パッケージ epel-release.noarch 0:7-11 を アップデート
--> 依存性解決を終了しました。

依存性を解決しました

====================================================================================================
 Package                     アーキテクチャー      バージョン             リポジトリー         容量
====================================================================================================
更新します:
 epel-release                noarch                7-11                   epel                 15 k

トランザクションの要約
====================================================================================================
更新  1 パッケージ

総ダウンロード容量: 15 k
Is this ok [y/d/N]: y
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
警告: /var/cache/yum/x86_64/7/epel/packages/epel-release-7-11.noarch.rpm: ヘッダー V3 RSA/SHA256 Signature、鍵 ID 352c64e5: NOKEY
epel-release-7-11.noarch.rpm の公開鍵がインストールされていません
epel-release-7-11.noarch.rpm                                                 |  15 kB  00:00:00
file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 から鍵を取得中です。
Importing GPG key 0x352C64E5:
 Userid     : "Fedora EPEL (7) "
 Fingerprint: 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5
 Package    : epel-release-7-9.noarch (@extras)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
上記の処理を行います。よろしいでしょうか? [y/N]y
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  更新します              : epel-release-7-11.noarch                                            1/2
  整理中                  : epel-release-7-9.noarch                                             2/2
  検証中                  : epel-release-7-11.noarch                                            1/2
  検証中                  : epel-release-7-9.noarch                                             2/2

更新:
  epel-release.noarch 0:7-11

完了しました!

Node.jsとnmpのインストール

# yum install nodejs
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * epel: ae.mirror.rasanegar.com
 * extras: ftp.iij.ad.jp
 * updates: centos.usonyx.net
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ nodejs.x86_64 1:6.11.3-1.el7 を インストール
--> 依存性の処理をしています: npm = 1:3.10.10-1.6.11.3.1.el7 のパッケージ: 1:nodejs-6.11.3-1.el7.x86_64
--> 依存性の処理をしています: http-parser >= 2.7.0 のパッケージ: 1:nodejs-6.11.3-1.el7.x86_64
--> 依存性の処理をしています: libuv >= 1:1.9.1 のパッケージ: 1:nodejs-6.11.3-1.el7.x86_64
--> 依存性の処理をしています: libhttp_parser.so.2()(64bit) のパッケージ: 1:nodejs-6.11.3-1.el7.x86_64
--> 依存性の処理をしています: libicudata.so.50()(64bit) のパッケージ: 1:nodejs-6.11.3-1.el7.x86_64
--> 依存性の処理をしています: libicui18n.so.50()(64bit) のパッケージ: 1:nodejs-6.11.3-1.el7.x86_64
--> 依存性の処理をしています: libicuuc.so.50()(64bit) のパッケージ: 1:nodejs-6.11.3-1.el7.x86_64
--> 依存性の処理をしています: libuv.so.1()(64bit) のパッケージ: 1:nodejs-6.11.3-1.el7.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ http-parser.x86_64 0:2.7.1-5.el7_4 を インストール
---> パッケージ libicu.x86_64 0:50.1.2-15.el7 を インストール
---> パッケージ libuv.x86_64 1:1.10.2-1.el7 を インストール
---> パッケージ npm.x86_64 1:3.10.10-1.6.11.3.1.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

====================================================================================================
 Package               アーキテクチャー バージョン                          リポジトリー       容量
====================================================================================================
インストール中:
 nodejs                x86_64           1:6.11.3-1.el7                      epel              4.6 M
依存性関連でのインストールをします:
 http-parser           x86_64           2.7.1-5.el7_4                       updates            28 k
 libicu                x86_64           50.1.2-15.el7                       base              6.9 M
 libuv                 x86_64           1:1.10.2-1.el7                      epel              109 k
 npm                   x86_64           1:3.10.10-1.6.11.3.1.el7            epel              2.5 M

トランザクションの要約
====================================================================================================
インストール  1 パッケージ (+4 個の依存関係のパッケージ)

総ダウンロード容量: 14 M
インストール容量: 50 M
Is this ok [y/d/N]: y
Downloading packages:
(1/5): libuv-1.10.2-1.el7.x86_64.rpm                                         | 109 kB  00:00:00
(2/5): npm-3.10.10-1.6.11.3.1.el7.x86_64.rpm                                 | 2.5 MB  00:00:00
(3/5): nodejs-6.11.3-1.el7.x86_64.rpm                                        | 4.6 MB  00:00:00
(4/5): http-parser-2.7.1-5.el7_4.x86_64.rpm                                  |  28 kB  00:00:03
(5/5): libicu-50.1.2-15.el7.x86_64.rpm                                       | 6.9 MB  00:00:04
----------------------------------------------------------------------------------------------------
合計                                                                3.2 MB/s |  14 MB  00:00:04
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : http-parser-2.7.1-5.el7_4.x86_64                                    1/5
  インストール中          : libicu-50.1.2-15.el7.x86_64                                         2/5
  インストール中          : 1:libuv-1.10.2-1.el7.x86_64                                         3/5
  インストール中          : 1:npm-3.10.10-1.6.11.3.1.el7.x86_64                                 4/5
  インストール中          : 1:nodejs-6.11.3-1.el7.x86_64                                        5/5
  検証中                  : 1:libuv-1.10.2-1.el7.x86_64                                         1/5
  検証中                  : libicu-50.1.2-15.el7.x86_64                                         2/5
  検証中                  : http-parser-2.7.1-5.el7_4.x86_64                                    3/5
  検証中                  : 1:npm-3.10.10-1.6.11.3.1.el7.x86_64                                 4/5
  検証中                  : 1:nodejs-6.11.3-1.el7.x86_64                                        5/5

インストール:
  nodejs.x86_64 1:6.11.3-1.el7

依存性関連をインストールしました:
  http-parser.x86_64 0:2.7.1-5.el7_4   libicu.x86_64 0:50.1.2-15.el7  libuv.x86_64 1:1.10.2-1.el7
  npm.x86_64 1:3.10.10-1.6.11.3.1.el7

完了しました!

wgetをインストールする

CentOS7をminimalでインストールした環境ではwgetがインストールされていません。インストールされていない環境であれば、wgetをインストールします。

# yum install wget
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * epel: ae.mirror.rasanegar.com
 * extras: centos.usonyx.net
 * updates: ftp.iij.ad.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ wget.x86_64 0:1.14-15.el7_4.1 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

====================================================================================================
 Package            アーキテクチャー     バージョン                     リポジトリー           容量
====================================================================================================
インストール中:
 wget               x86_64               1.14-15.el7_4.1                updates               547 k

トランザクションの要約
====================================================================================================
インストール  1 パッケージ

総ダウンロード容量: 547 k
インストール容量: 2.0 M
Is this ok [y/d/N]: y
Downloading packages:
wget-1.14-15.el7_4.1.x86_64.rpm                                              | 547 kB  00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : wget-1.14-15.el7_4.1.x86_64                                         1/1
  検証中                  : wget-1.14-15.el7_4.1.x86_64                                         1/1

インストール:
  wget.x86_64 0:1.14-15.el7_4.1

完了しました!

Apacheをインストール

今回はWebサーバとしてApacheを使用します。インストール後にはApacheを起動、起動設定を変更しています。

# yum install httpd
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * epel: ae.mirror.rasanegar.com
 * extras: ftp.iij.ad.jp
 * updates: centos.usonyx.net
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ httpd.x86_64 0:2.4.6-67.el7.centos.6 を インストール
--> 依存性の処理をしています: httpd-tools = 2.4.6-67.el7.centos.6 のパッケージ: httpd-2.4.6-67.el7.centos.6.x86_64
--> 依存性の処理をしています: /etc/mime.types のパッケージ: httpd-2.4.6-67.el7.centos.6.x86_64
--> 依存性の処理をしています: libaprutil-1.so.0()(64bit) のパッケージ: httpd-2.4.6-67.el7.centos.6.x86_64
--> 依存性の処理をしています: libapr-1.so.0()(64bit) のパッケージ: httpd-2.4.6-67.el7.centos.6.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ apr.x86_64 0:1.4.8-3.el7 を インストール
---> パッケージ apr-util.x86_64 0:1.5.2-6.el7 を インストール
---> パッケージ httpd-tools.x86_64 0:2.4.6-67.el7.centos.6 を インストール
---> パッケージ mailcap.noarch 0:2.1.41-2.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

====================================================================================================
 Package                アーキテクチャー  バージョン                       リポジトリー        容量
====================================================================================================
インストール中:
 httpd                  x86_64            2.4.6-67.el7.centos.6            updates            2.7 M
依存性関連でのインストールをします:
 apr                    x86_64            1.4.8-3.el7                      base               103 k
 apr-util               x86_64            1.5.2-6.el7                      base                92 k
 httpd-tools            x86_64            2.4.6-67.el7.centos.6            updates             88 k
 mailcap                noarch            2.1.41-2.el7                     base                31 k

トランザクションの要約
====================================================================================================
インストール  1 パッケージ (+4 個の依存関係のパッケージ)

総ダウンロード容量: 3.0 M
インストール容量: 10 M
Is this ok [y/d/N]: y
Downloading packages:
(1/5): apr-util-1.5.2-6.el7.x86_64.rpm                                       |  92 kB  00:00:00
(2/5): httpd-tools-2.4.6-67.el7.centos.6.x86_64.rpm                          |  88 kB  00:00:00
(3/5): apr-1.4.8-3.el7.x86_64.rpm                                            | 103 kB  00:00:03
(4/5): httpd-2.4.6-67.el7.centos.6.x86_64.rpm                                | 2.7 MB  00:00:03
(5/5): mailcap-2.1.41-2.el7.noarch.rpm                                       |  31 kB  00:00:06
----------------------------------------------------------------------------------------------------
合計                                                                483 kB/s | 3.0 MB  00:00:06
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : apr-1.4.8-3.el7.x86_64                                              1/5
  インストール中          : apr-util-1.5.2-6.el7.x86_64                                         2/5
  インストール中          : httpd-tools-2.4.6-67.el7.centos.6.x86_64                            3/5
  インストール中          : mailcap-2.1.41-2.el7.noarch                                         4/5
  インストール中          : httpd-2.4.6-67.el7.centos.6.x86_64                                  5/5
  検証中                  : mailcap-2.1.41-2.el7.noarch                                         1/5
  検証中                  : httpd-2.4.6-67.el7.centos.6.x86_64                                  2/5
  検証中                  : apr-util-1.5.2-6.el7.x86_64                                         3/5
  検証中                  : apr-1.4.8-3.el7.x86_64                                              4/5
  検証中                  : httpd-tools-2.4.6-67.el7.centos.6.x86_64                            5/5

インストール:
  httpd.x86_64 0:2.4.6-67.el7.centos.6

依存性関連をインストールしました:
  apr.x86_64 0:1.4.8-3.el7                                apr-util.x86_64 0:1.5.2-6.el7
  httpd-tools.x86_64 0:2.4.6-67.el7.centos.6              mailcap.noarch 0:2.1.41-2.el7

完了しました!
# systemctl status httpd.service
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: inactive (dead)
     Docs: man:httpd(8)
           man:apachectl(8)
# systemctl start httpd.service
# systemctl enable httpd.service
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.

Apacheの設定

Apacheの動作確認も含めて、少しApacheの設定を行います。

/etc/httpd/conf/http.confの設定を変更します。

# vi /etc/httpd/conf/http.conf

編集箇所

  1. ServerName
  2. #ServerName www.example.com:80 → ServerName 自分のサーバ:ポート番号
    

    自分のサーバ名は、IPアドレスでも可、ポート番号は、特に決まりが無ければ、そのまま80でいいでしょう。

  3. DocumentRoot
  4. このWebサーバが最初に読み込むディレクトリを指定します。

    DocumentRoot "/var/www/html" → 変更の必要があれば修正します。
    

Webブラウザを開いて、Webサーバにアクセスします
次のような画面が開けばOK

firewallの設定

httpサービスとポート5000番を通過するようにfirewallの設定を変更します。

# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp0s3 enp0s8 enp0s9
  sources:
  services: ssh dhcpv6-client
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
# firewall-cmd --add-service=http --zone=public --permanent
success
# firewall-cmd --reload
success
# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp0s3 enp0s8 enp0s9
  sources:
  services: ssh dhcpv6-client http
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
# firewall-cmd --add-port=5000/tcp --zone=public --permanent
success
# firewall-cmd --reload
success
# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp0s3 enp0s8 enp0s9
  sources:
  services: ssh dhcpv6-client http
  ports: 5000/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

mongodbをインストールする

mongodbはリポジトリを作成してyumコマンドでインストールします。インストール後にはmongodbを開始しています。

リポジトリの作成

# vi /etc/yum.repos.d/mongodb.repo

記述内容

[mongodb]
name=MongoDB Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/
gpgcheck=0
enabled=1

mongodbのインストール

# yum install mongodb-org
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * epel: ae.mirror.rasanegar.com
 * extras: ftp.iij.ad.jp
 * updates: centos.usonyx.net
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ mongodb-org.x86_64 0:2.6.12-1 を インストール
--> 依存性の処理をしています: mongodb-org-shell = 2.6.12 のパッケージ: mongodb-org-2.6.12-1.x86_64
--> 依存性の処理をしています: mongodb-org-server = 2.6.12 のパッケージ: mongodb-org-2.6.12-1.x86_64
--> 依存性の処理をしています: mongodb-org-tools = 2.6.12 のパッケージ: mongodb-org-2.6.12-1.x86_64
--> 依存性の処理をしています: mongodb-org-mongos = 2.6.12 のパッケージ: mongodb-org-2.6.12-1.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ mongodb-org-mongos.x86_64 0:2.6.12-1 を インストール
---> パッケージ mongodb-org-server.x86_64 0:2.6.12-1 を インストール
---> パッケージ mongodb-org-shell.x86_64 0:2.6.12-1 を インストール
---> パッケージ mongodb-org-tools.x86_64 0:2.6.12-1 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

====================================================================================================
 Package                        アーキテクチャー   バージョン             リポジトリー         容量
====================================================================================================
インストール中:
 mongodb-org                    x86_64             2.6.12-1               mongodb             4.6 k
依存性関連でのインストールをします:
 mongodb-org-mongos             x86_64             2.6.12-1               mongodb             6.9 M
 mongodb-org-server             x86_64             2.6.12-1               mongodb             9.1 M
 mongodb-org-shell              x86_64             2.6.12-1               mongodb             4.3 M
 mongodb-org-tools              x86_64             2.6.12-1               mongodb              90 M

トランザクションの要約
====================================================================================================
インストール  1 パッケージ (+4 個の依存関係のパッケージ)

総ダウンロード容量: 110 M
インストール容量: 279 M
Is this ok [y/d/N]: y
Downloading packages:
(1/5): mongodb-org-2.6.12-1.x86_64.rpm                                       | 4.6 kB  00:00:00
(2/5): mongodb-org-mongos-2.6.12-1.x86_64.rpm                                | 6.9 MB  00:00:06
(3/5): mongodb-org-server-2.6.12-1.x86_64.rpm                                | 9.1 MB  00:00:08
(4/5): mongodb-org-shell-2.6.12-1.x86_64.rpm                                 | 4.3 MB  00:00:03
(5/5): mongodb-org-tools-2.6.12-1.x86_64.rpm                                 |  90 MB  00:00:45
----------------------------------------------------------------------------------------------------
合計                                                                2.0 MB/s | 110 MB  00:00:53
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : mongodb-org-server-2.6.12-1.x86_64                                  1/5
  インストール中          : mongodb-org-mongos-2.6.12-1.x86_64                                  2/5
  インストール中          : mongodb-org-tools-2.6.12-1.x86_64                                   3/5
  インストール中          : mongodb-org-shell-2.6.12-1.x86_64                                   4/5
  インストール中          : mongodb-org-2.6.12-1.x86_64                                         5/5
  検証中                  : mongodb-org-shell-2.6.12-1.x86_64                                   1/5
  検証中                  : mongodb-org-tools-2.6.12-1.x86_64                                   2/5
  検証中                  : mongodb-org-mongos-2.6.12-1.x86_64                                  3/5
  検証中                  : mongodb-org-server-2.6.12-1.x86_64                                  4/5
  検証中                  : mongodb-org-2.6.12-1.x86_64                                         5/5

インストール:
  mongodb-org.x86_64 0:2.6.12-1

依存性関連をインストールしました:
  mongodb-org-mongos.x86_64 0:2.6.12-1             mongodb-org-server.x86_64 0:2.6.12-1
  mongodb-org-shell.x86_64 0:2.6.12-1              mongodb-org-tools.x86_64 0:2.6.12-1

完了しました!
# systemctl start mongod
# systemctl enable mongod
mongod.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig mongod on
# systemctl status mongod
● mongod.service - SYSV: Mongo is a scalable, document-oriented database.
   Loaded: loaded (/etc/rc.d/init.d/mongod; bad; vendor preset: disabled)
   Active: active (running) since 金 2017-10-20 14:30:40 JST; 12s ago
     Docs: man:systemd-sysv-generator(8)
 Main PID: 31471 (mongod)
   CGroup: /system.slice/mongod.service
           mq31471 /usr/bin/mongod -f /etc/mongod.conf

10月 20 14:30:40 centos7-100.vsample.com systemd[1]: Starting SYSV: Mongo is a scalable, docum.....
10月 20 14:30:40 centos7-100.vsample.com runuser[31467]: pam_unix(runuser:session): session op...0)
10月 20 14:30:40 centos7-100.vsample.com mongod[31454]: Starting mongod: [  OK  ]
10月 20 14:30:40 centos7-100.vsample.com systemd[1]: Started SYSV: Mongo is a scalable, docume.....
Hint: Some lines were ellipsized, use -l to show in full.

mongodbのバージョンを確認

# mongo -version
MongoDB shell version: 2.6.12

gitをインストールする

今回はgitからLet’s Chatを持ってくるため、gitをインストールします。

# yum install git
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * epel: ae.mirror.rasanegar.com
 * extras: centos.usonyx.net
 * updates: ftp.iij.ad.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ git.x86_64 0:1.8.3.1-12.el7_4 を インストール
--> 依存性の処理をしています: perl-Git = 1.8.3.1-12.el7_4 のパッケージ: git-1.8.3.1-12.el7_4.x86_64
--> 依存性の処理をしています: perl >= 5.008 のパッケージ: git-1.8.3.1-12.el7_4.x86_64
--> 依存性の処理をしています: rsync のパッケージ: git-1.8.3.1-12.el7_4.x86_64
--> 依存性の処理をしています: perl(warnings) のパッケージ: git-1.8.3.1-12.el7_4.x86_64
--> 依存性の処理をしています: perl(vars) のパッケージ: git-1.8.3.1-12.el7_4.x86_64
--> 依存性の処理をしています: perl(strict) のパッケージ: git-1.8.3.1-12.el7_4.x86_64
--> 依存性の処理をしています: perl(lib) のパッケージ: git-1.8.3.1-12.el7_4.x86_64
--> 依存性の処理をしています: perl(Term::ReadKey) のパッケージ: git-1.8.3.1-12.el7_4.x86_64
--> 依存性の処理をしています: perl(Git) のパッケージ: git-1.8.3.1-12.el7_4.x86_64
--> 依存性の処理をしています: perl(Getopt::Long) のパッケージ: git-1.8.3.1-12.el7_4.x86_64
--> 依存性の処理をしています: perl(File::stat) のパッケージ: git-1.8.3.1-12.el7_4.x86_64
--> 依存性の処理をしています: perl(File::Temp) のパッケージ: git-1.8.3.1-12.el7_4.x86_64
--> 依存性の処理をしています: perl(File::Spec) のパッケージ: git-1.8.3.1-12.el7_4.x86_64
--> 依存性の処理をしています: perl(File::Path) のパッケージ: git-1.8.3.1-12.el7_4.x86_64
--> 依存性の処理をしています: perl(File::Find) のパッケージ: git-1.8.3.1-12.el7_4.x86_64
--> 依存性の処理をしています: perl(File::Copy) のパッケージ: git-1.8.3.1-12.el7_4.x86_64
--> 依存性の処理をしています: perl(File::Basename) のパッケージ: git-1.8.3.1-12.el7_4.x86_64
--> 依存性の処理をしています: perl(Exporter) のパッケージ: git-1.8.3.1-12.el7_4.x86_64
--> 依存性の処理をしています: perl(Error) のパッケージ: git-1.8.3.1-12.el7_4.x86_64
--> 依存性の処理をしています: /usr/bin/perl のパッケージ: git-1.8.3.1-12.el7_4.x86_64
--> 依存性の処理をしています: libgnome-keyring.so.0()(64bit) のパッケージ: git-1.8.3.1-12.el7_4.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ libgnome-keyring.x86_64 0:3.12.0-1.el7 を インストール
---> パッケージ perl.x86_64 4:5.16.3-292.el7 を インストール
--> 依存性の処理をしています: perl-libs = 4:5.16.3-292.el7 のパッケージ: 4:perl-5.16.3-292.el7.x86_64
--> 依存性の処理をしています: perl(Socket) >= 1.3 のパッケージ: 4:perl-5.16.3-292.el7.x86_64
--> 依存性の処理をしています: perl(Scalar::Util) >= 1.10 のパッケージ: 4:perl-5.16.3-292.el7.x86_64
--> 依存性の処理をしています: perl-macros のパッケージ: 4:perl-5.16.3-292.el7.x86_64
--> 依存性の処理をしています: perl-libs のパッケージ: 4:perl-5.16.3-292.el7.x86_64
--> 依存性の処理をしています: perl(threads::shared) のパッケージ: 4:perl-5.16.3-292.el7.x86_64
--> 依存性の処理をしています: perl(threads) のパッケージ: 4:perl-5.16.3-292.el7.x86_64
--> 依存性の処理をしています: perl(constant) のパッケージ: 4:perl-5.16.3-292.el7.x86_64
--> 依存性の処理をしています: perl(Time::Local) のパッケージ: 4:perl-5.16.3-292.el7.x86_64
--> 依存性の処理をしています: perl(Time::HiRes) のパッケージ: 4:perl-5.16.3-292.el7.x86_64
--> 依存性の処理をしています: perl(Storable) のパッケージ: 4:perl-5.16.3-292.el7.x86_64
--> 依存性の処理をしています: perl(Socket) のパッケージ: 4:perl-5.16.3-292.el7.x86_64
--> 依存性の処理をしています: perl(Scalar::Util) のパッケージ: 4:perl-5.16.3-292.el7.x86_64
--> 依存性の処理をしています: perl(Pod::Simple::XHTML) のパッケージ: 4:perl-5.16.3-292.el7.x86_64
--> 依存性の処理をしています: perl(Pod::Simple::Search) のパッケージ: 4:perl-5.16.3-292.el7.x86_64
--> 依存性の処理をしています: perl(Filter::Util::Call) のパッケージ: 4:perl-5.16.3-292.el7.x86_64
--> 依存性の処理をしています: perl(Carp) のパッケージ: 4:perl-5.16.3-292.el7.x86_64
--> 依存性の処理をしています: libperl.so()(64bit) のパッケージ: 4:perl-5.16.3-292.el7.x86_64
---> パッケージ perl-Error.noarch 1:0.17020-2.el7 を インストール
---> パッケージ perl-Exporter.noarch 0:5.68-3.el7 を インストール
---> パッケージ perl-File-Path.noarch 0:2.09-2.el7 を インストール
---> パッケージ perl-File-Temp.noarch 0:0.23.01-3.el7 を インストール
---> パッケージ perl-Getopt-Long.noarch 0:2.40-2.el7 を インストール
--> 依存性の処理をしています: perl(Pod::Usage) >= 1.14 のパッケージ: perl-Getopt-Long-2.40-2.el7.noarch
--> 依存性の処理をしています: perl(Text::ParseWords) のパッケージ: perl-Getopt-Long-2.40-2.el7.noarch
---> パッケージ perl-Git.noarch 0:1.8.3.1-12.el7_4 を インストール
---> パッケージ perl-PathTools.x86_64 0:3.40-5.el7 を インストール
---> パッケージ perl-TermReadKey.x86_64 0:2.30-20.el7 を インストール
---> パッケージ rsync.x86_64 0:3.0.9-18.el7 を インストール
--> トランザクションの確認を実行しています。
---> パッケージ perl-Carp.noarch 0:1.26-244.el7 を インストール
---> パッケージ perl-Filter.x86_64 0:1.49-3.el7 を インストール
---> パッケージ perl-Pod-Simple.noarch 1:3.28-4.el7 を インストール
--> 依存性の処理をしています: perl(Pod::Escapes) >= 1.04 のパッケージ: 1:perl-Pod-Simple-3.28-4.el7.noarch
--> 依存性の処理をしています: perl(Encode) のパッケージ: 1:perl-Pod-Simple-3.28-4.el7.noarch
---> パッケージ perl-Pod-Usage.noarch 0:1.63-3.el7 を インストール
--> 依存性の処理をしています: perl(Pod::Text) >= 3.15 のパッケージ: perl-Pod-Usage-1.63-3.el7.noarch
--> 依存性の処理をしています: perl-Pod-Perldoc のパッケージ: perl-Pod-Usage-1.63-3.el7.noarch
---> パッケージ perl-Scalar-List-Utils.x86_64 0:1.27-248.el7 を インストール
---> パッケージ perl-Socket.x86_64 0:2.010-4.el7 を インストール
---> パッケージ perl-Storable.x86_64 0:2.45-3.el7 を インストール
---> パッケージ perl-Text-ParseWords.noarch 0:3.29-4.el7 を インストール
---> パッケージ perl-Time-HiRes.x86_64 4:1.9725-3.el7 を インストール
---> パッケージ perl-Time-Local.noarch 0:1.2300-2.el7 を インストール
---> パッケージ perl-constant.noarch 0:1.27-2.el7 を インストール
---> パッケージ perl-libs.x86_64 4:5.16.3-292.el7 を インストール
---> パッケージ perl-macros.x86_64 4:5.16.3-292.el7 を インストール
---> パッケージ perl-threads.x86_64 0:1.87-4.el7 を インストール
---> パッケージ perl-threads-shared.x86_64 0:1.43-6.el7 を インストール
--> トランザクションの確認を実行しています。
---> パッケージ perl-Encode.x86_64 0:2.51-7.el7 を インストール
---> パッケージ perl-Pod-Escapes.noarch 1:1.04-292.el7 を インストール
---> パッケージ perl-Pod-Perldoc.noarch 0:3.20-4.el7 を インストール
--> 依存性の処理をしています: perl(parent) のパッケージ: perl-Pod-Perldoc-3.20-4.el7.noarch
--> 依存性の処理をしています: perl(HTTP::Tiny) のパッケージ: perl-Pod-Perldoc-3.20-4.el7.noarch
---> パッケージ perl-podlators.noarch 0:2.5.1-3.el7 を インストール
--> トランザクションの確認を実行しています。
---> パッケージ perl-HTTP-Tiny.noarch 0:0.033-3.el7 を インストール
---> パッケージ perl-parent.noarch 1:0.225-244.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

====================================================================================================
 Package                         アーキテクチャー
                                                 バージョン                  リポジトリー      容量
====================================================================================================
インストール中:
 git                             x86_64          1.8.3.1-12.el7_4            updates          4.4 M
依存性関連でのインストールをします:
 libgnome-keyring                x86_64          3.12.0-1.el7                base             109 k
 perl                            x86_64          4:5.16.3-292.el7            base             8.0 M
 perl-Carp                       noarch          1.26-244.el7                base              19 k
 perl-Encode                     x86_64          2.51-7.el7                  base             1.5 M
 perl-Error                      noarch          1:0.17020-2.el7             base              32 k
 perl-Exporter                   noarch          5.68-3.el7                  base              28 k
 perl-File-Path                  noarch          2.09-2.el7                  base              26 k
 perl-File-Temp                  noarch          0.23.01-3.el7               base              56 k
 perl-Filter                     x86_64          1.49-3.el7                  base              76 k
 perl-Getopt-Long                noarch          2.40-2.el7                  base              56 k
 perl-Git                        noarch          1.8.3.1-12.el7_4            updates           53 k
 perl-HTTP-Tiny                  noarch          0.033-3.el7                 base              38 k
 perl-PathTools                  x86_64          3.40-5.el7                  base              82 k
 perl-Pod-Escapes                noarch          1:1.04-292.el7              base              51 k
 perl-Pod-Perldoc                noarch          3.20-4.el7                  base              87 k
 perl-Pod-Simple                 noarch          1:3.28-4.el7                base             216 k
 perl-Pod-Usage                  noarch          1.63-3.el7                  base              27 k
 perl-Scalar-List-Utils          x86_64          1.27-248.el7                base              36 k
 perl-Socket                     x86_64          2.010-4.el7                 base              49 k
 perl-Storable                   x86_64          2.45-3.el7                  base              77 k
 perl-TermReadKey                x86_64          2.30-20.el7                 base              31 k
 perl-Text-ParseWords            noarch          3.29-4.el7                  base              14 k
 perl-Time-HiRes                 x86_64          4:1.9725-3.el7              base              45 k
 perl-Time-Local                 noarch          1.2300-2.el7                base              24 k
 perl-constant                   noarch          1.27-2.el7                  base              19 k
 perl-libs                       x86_64          4:5.16.3-292.el7            base             688 k
 perl-macros                     x86_64          4:5.16.3-292.el7            base              43 k
 perl-parent                     noarch          1:0.225-244.el7             base              12 k
 perl-podlators                  noarch          2.5.1-3.el7                 base             112 k
 perl-threads                    x86_64          1.87-4.el7                  base              49 k
 perl-threads-shared             x86_64          1.43-6.el7                  base              39 k
 rsync                           x86_64          3.0.9-18.el7                base             360 k

トランザクションの要約
====================================================================================================
インストール  1 パッケージ (+32 個の依存関係のパッケージ)

総ダウンロード容量: 16 M
インストール容量: 60 M
Is this ok [y/d/N]: y
Downloading packages:
(1/33): perl-Carp-1.26-244.el7.noarch.rpm                                    |  19 kB  00:00:10
(2/33): libgnome-keyring-3.12.0-1.el7.x86_64.rpm                             | 109 kB  00:00:10
(3/33): perl-Error-0.17020-2.el7.noarch.rpm                                  |  32 kB  00:00:00
(4/33): perl-Exporter-5.68-3.el7.noarch.rpm                                  |  28 kB  00:00:00
(5/33): perl-File-Path-2.09-2.el7.noarch.rpm                                 |  26 kB  00:00:00
(6/33): perl-File-Temp-0.23.01-3.el7.noarch.rpm                              |  56 kB  00:00:00
(7/33): perl-Filter-1.49-3.el7.x86_64.rpm                                    |  76 kB  00:00:00
(8/33): perl-Getopt-Long-2.40-2.el7.noarch.rpm                               |  56 kB  00:00:00
(9/33): perl-HTTP-Tiny-0.033-3.el7.noarch.rpm                                |  38 kB  00:00:00
(10/33): perl-Encode-2.51-7.el7.x86_64.rpm                                   | 1.5 MB  00:00:00
(11/33): perl-PathTools-3.40-5.el7.x86_64.rpm                                |  82 kB  00:00:00
(12/33): perl-Pod-Perldoc-3.20-4.el7.noarch.rpm                              |  87 kB  00:00:00
(13/33): perl-Pod-Escapes-1.04-292.el7.noarch.rpm                            |  51 kB  00:00:00
(14/33): perl-Pod-Simple-3.28-4.el7.noarch.rpm                               | 216 kB  00:00:00
(15/33): perl-Pod-Usage-1.63-3.el7.noarch.rpm                                |  27 kB  00:00:00
(16/33): perl-Scalar-List-Utils-1.27-248.el7.x86_64.rpm                      |  36 kB  00:00:00
(17/33): perl-Socket-2.010-4.el7.x86_64.rpm                                  |  49 kB  00:00:00
(18/33): perl-Storable-2.45-3.el7.x86_64.rpm                                 |  77 kB  00:00:00
(19/33): perl-TermReadKey-2.30-20.el7.x86_64.rpm                             |  31 kB  00:00:00
(20/33): perl-Text-ParseWords-3.29-4.el7.noarch.rpm                          |  14 kB  00:00:00
(21/33): perl-Time-HiRes-1.9725-3.el7.x86_64.rpm                             |  45 kB  00:00:00
(22/33): perl-Time-Local-1.2300-2.el7.noarch.rpm                             |  24 kB  00:00:00
(23/33): perl-Git-1.8.3.1-12.el7_4.noarch.rpm                                |  53 kB  00:00:00
(24/33): perl-constant-1.27-2.el7.noarch.rpm                                 |  19 kB  00:00:00
(25/33): perl-macros-5.16.3-292.el7.x86_64.rpm                               |  43 kB  00:00:00
(26/33): perl-libs-5.16.3-292.el7.x86_64.rpm                                 | 688 kB  00:00:00
(27/33): perl-parent-0.225-244.el7.noarch.rpm                                |  12 kB  00:00:00
(28/33): perl-podlators-2.5.1-3.el7.noarch.rpm                               | 112 kB  00:00:00
(29/33): perl-threads-1.87-4.el7.x86_64.rpm                                  |  49 kB  00:00:00
(30/33): perl-threads-shared-1.43-6.el7.x86_64.rpm                           |  39 kB  00:00:00
(31/33): perl-5.16.3-292.el7.x86_64.rpm                                      | 8.0 MB  00:00:11
(32/33): rsync-3.0.9-18.el7.x86_64.rpm                                       | 360 kB  00:00:00
(33/33): git-1.8.3.1-12.el7_4.x86_64.rpm                                     | 4.4 MB  00:00:18
----------------------------------------------------------------------------------------------------
合計                                                                892 kB/s |  16 MB  00:00:18
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : 1:perl-parent-0.225-244.el7.noarch                                 1/33
  インストール中          : perl-HTTP-Tiny-0.033-3.el7.noarch                                  2/33
  インストール中          : perl-podlators-2.5.1-3.el7.noarch                                  3/33
  インストール中          : perl-Pod-Perldoc-3.20-4.el7.noarch                                 4/33
  インストール中          : 1:perl-Pod-Escapes-1.04-292.el7.noarch                             5/33
  インストール中          : perl-Text-ParseWords-3.29-4.el7.noarch                             6/33
  インストール中          : perl-Encode-2.51-7.el7.x86_64                                      7/33
  インストール中          : perl-Pod-Usage-1.63-3.el7.noarch                                   8/33
  インストール中          : 4:perl-macros-5.16.3-292.el7.x86_64                                9/33
  インストール中          : 4:perl-libs-5.16.3-292.el7.x86_64                                 10/33
  インストール中          : perl-Storable-2.45-3.el7.x86_64                                   11/33
  インストール中          : perl-Exporter-5.68-3.el7.noarch                                   12/33
  インストール中          : perl-constant-1.27-2.el7.noarch                                   13/33
  インストール中          : perl-Time-Local-1.2300-2.el7.noarch                               14/33
  インストール中          : perl-Socket-2.010-4.el7.x86_64                                    15/33
  インストール中          : perl-Carp-1.26-244.el7.noarch                                     16/33
  インストール中          : 4:perl-Time-HiRes-1.9725-3.el7.x86_64                             17/33
  インストール中          : perl-PathTools-3.40-5.el7.x86_64                                  18/33
  インストール中          : perl-Scalar-List-Utils-1.27-248.el7.x86_64                        19/33
  インストール中          : perl-File-Temp-0.23.01-3.el7.noarch                               20/33
  インストール中          : perl-File-Path-2.09-2.el7.noarch                                  21/33
  インストール中          : perl-threads-shared-1.43-6.el7.x86_64                             22/33
  インストール中          : perl-threads-1.87-4.el7.x86_64                                    23/33
  インストール中          : perl-Filter-1.49-3.el7.x86_64                                     24/33
  インストール中          : 1:perl-Pod-Simple-3.28-4.el7.noarch                               25/33
  インストール中          : perl-Getopt-Long-2.40-2.el7.noarch                                26/33
  インストール中          : 4:perl-5.16.3-292.el7.x86_64                                      27/33
  インストール中          : 1:perl-Error-0.17020-2.el7.noarch                                 28/33
  インストール中          : perl-TermReadKey-2.30-20.el7.x86_64                               29/33
  インストール中          : rsync-3.0.9-18.el7.x86_64                                         30/33
  インストール中          : libgnome-keyring-3.12.0-1.el7.x86_64                              31/33
  インストール中          : perl-Git-1.8.3.1-12.el7_4.noarch                                  32/33
  インストール中          : git-1.8.3.1-12.el7_4.x86_64                                       33/33
  検証中                  : perl-HTTP-Tiny-0.033-3.el7.noarch                                  1/33
  検証中                  : libgnome-keyring-3.12.0-1.el7.x86_64                               2/33
  検証中                  : perl-threads-shared-1.43-6.el7.x86_64                              3/33
  検証中                  : perl-Storable-2.45-3.el7.x86_64                                    4/33
  検証中                  : perl-Exporter-5.68-3.el7.noarch                                    5/33
  検証中                  : perl-constant-1.27-2.el7.noarch                                    6/33
  検証中                  : perl-PathTools-3.40-5.el7.x86_64                                   7/33
  検証中                  : 4:perl-macros-5.16.3-292.el7.x86_64                                8/33
  検証中                  : git-1.8.3.1-12.el7_4.x86_64                                        9/33
  検証中                  : rsync-3.0.9-18.el7.x86_64                                         10/33
  検証中                  : 1:perl-parent-0.225-244.el7.noarch                                11/33
  検証中                  : 4:perl-5.16.3-292.el7.x86_64                                      12/33
  検証中                  : perl-TermReadKey-2.30-20.el7.x86_64                               13/33
  検証中                  : perl-File-Temp-0.23.01-3.el7.noarch                               14/33
  検証中                  : 1:perl-Pod-Simple-3.28-4.el7.noarch                               15/33
  検証中                  : perl-Time-Local-1.2300-2.el7.noarch                               16/33
  検証中                  : 4:perl-libs-5.16.3-292.el7.x86_64                                 17/33
  検証中                  : perl-Pod-Perldoc-3.20-4.el7.noarch                                18/33
  検証中                  : perl-Socket-2.010-4.el7.x86_64                                    19/33
  検証中                  : perl-Carp-1.26-244.el7.noarch                                     20/33
  検証中                  : perl-Git-1.8.3.1-12.el7_4.noarch                                  21/33
  検証中                  : 1:perl-Error-0.17020-2.el7.noarch                                 22/33
  検証中                  : 4:perl-Time-HiRes-1.9725-3.el7.x86_64                             23/33
  検証中                  : perl-Scalar-List-Utils-1.27-248.el7.x86_64                        24/33
  検証中                  : 1:perl-Pod-Escapes-1.04-292.el7.noarch                            25/33
  検証中                  : perl-Pod-Usage-1.63-3.el7.noarch                                  26/33
  検証中                  : perl-Encode-2.51-7.el7.x86_64                                     27/33
  検証中                  : perl-podlators-2.5.1-3.el7.noarch                                 28/33
  検証中                  : perl-Getopt-Long-2.40-2.el7.noarch                                29/33
  検証中                  : perl-File-Path-2.09-2.el7.noarch                                  30/33
  検証中                  : perl-threads-1.87-4.el7.x86_64                                    31/33
  検証中                  : perl-Filter-1.49-3.el7.x86_64                                     32/33
  検証中                  : perl-Text-ParseWords-3.29-4.el7.noarch                            33/33

インストール:
  git.x86_64 0:1.8.3.1-12.el7_4

依存性関連をインストールしました:
  libgnome-keyring.x86_64 0:3.12.0-1.el7         perl.x86_64 4:5.16.3-292.el7
  perl-Carp.noarch 0:1.26-244.el7                perl-Encode.x86_64 0:2.51-7.el7
  perl-Error.noarch 1:0.17020-2.el7              perl-Exporter.noarch 0:5.68-3.el7
  perl-File-Path.noarch 0:2.09-2.el7             perl-File-Temp.noarch 0:0.23.01-3.el7
  perl-Filter.x86_64 0:1.49-3.el7                perl-Getopt-Long.noarch 0:2.40-2.el7
  perl-Git.noarch 0:1.8.3.1-12.el7_4             perl-HTTP-Tiny.noarch 0:0.033-3.el7
  perl-PathTools.x86_64 0:3.40-5.el7             perl-Pod-Escapes.noarch 1:1.04-292.el7
  perl-Pod-Perldoc.noarch 0:3.20-4.el7           perl-Pod-Simple.noarch 1:3.28-4.el7
  perl-Pod-Usage.noarch 0:1.63-3.el7             perl-Scalar-List-Utils.x86_64 0:1.27-248.el7
  perl-Socket.x86_64 0:2.010-4.el7               perl-Storable.x86_64 0:2.45-3.el7
  perl-TermReadKey.x86_64 0:2.30-20.el7          perl-Text-ParseWords.noarch 0:3.29-4.el7
  perl-Time-HiRes.x86_64 4:1.9725-3.el7          perl-Time-Local.noarch 0:1.2300-2.el7
  perl-constant.noarch 0:1.27-2.el7              perl-libs.x86_64 4:5.16.3-292.el7
  perl-macros.x86_64 4:5.16.3-292.el7            perl-parent.noarch 1:0.225-244.el7
  perl-podlators.noarch 0:2.5.1-3.el7            perl-threads.x86_64 0:1.87-4.el7
  perl-threads-shared.x86_64 0:1.43-6.el7        rsync.x86_64 0:3.0.9-18.el7

完了しました!

インストールしたパッケージ(CentOS7のminimalでインストールされているパッケージも含む)を確認

# python -V
Python 2.7.5
# httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built:   Oct 19 2017 20:39:16
[root@centos7-100 ~]# mongot -version
-bash: mongot: コマンドが見つかりません
# mongod -version
db version v2.6.12
# git --version
git version 1.8.3.1
# node -v
# npm -v
3.10.10

gitからLets Chatのパッケージをダウンロードする

Let’s Chatのパッケージはgitからダウンロードします。

# git clone https://github.com/sdelements/lets-chat.git
Cloning into 'lets-chat'...
remote: Counting objects: 13275, done.
remote: Total 13275 (delta 0), reused 0 (delta 0), pack-reused 13275
Receiving objects: 100% (13275/13275), 21.22 MiB | 330.00 KiB/s, done.
Resolving deltas: 100% (7644/7644), done.

Let’s Chatをインストールする

ダウンロードしたパッケージを使用してLet’s Chatをインストールします。今回は/root以下に設定しましたが、本来は/opt以下などの方がいいでしょう。
実行サンプルの”X “はツリー構造が記載されています。なにやらWARNが沢山出力されていますが、今回は無視しておきます・・・

# ls
anaconda-ks.cfg  lets-chat
[root@centos7-100 ~]# cd lets-chat/
[root@centos7-100 lets-chat]# ls
CHANGELOG.md     Procfile            _sources  bower.json    locales         settings.yml.sample
CONTRIBUTING.md  README.md           app       defaults.yml  media           templates
Gruntfile.js     TROUBLESHOOTING.md  app.js    docker        package.json    uploads
LICENSE          Vagrantfile         app.json  extras        screenshot.png
[root@centos7-100 lets-chat]# npm install
npm WARN deprecated minimatch@0.2.14: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated minimatch@0.3.0: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated graceful-fs@1.2.3: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.
npm WARN deprecated bower@1.7.10: ...psst! Your project can stop working at any moment because its dependencies can change. Prevent this by migrating to Yarn: https://bower.io/blog/2017/how-to-migrate-away-from-bower/
npm WARN deprecated bower@1.3.12: ...psst! Your project can stop working at any moment because its dependencies can change. Prevent this by migrating to Yarn: https://bower.io/blog/2017/how-to-migrate-away-from-bower/
npm WARN deprecated wrench@1.4.4: wrench.js is deprecated! You should check out fs-extra (https://github.com/jprichardson/node-fs-extra) for any operations you were using wrench for. Thanks for all the usage over the years.
npm WARN deprecated graceful-fs@2.0.3: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.
npm WARN deprecated node-uuid@1.4.8: Use uuid module instead
npm WARN deprecated minimatch@1.0.0: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated tough-cookie@0.12.1: ReDoS vulnerability parsing Set-Cookie https://nodesecurity.io/advisories/130
npm WARN deprecated npmconf@2.1.2: this package has been reintegrated into npm and is now out of date with respect to npm
npm WARN deprecated graceful-fs@1.1.14: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.
npm WARN lifecycle typechecker@2.0.8~preinstall: cannot run in wd %s %s (wd=%s) typechecker@2.0.8 node ./cyclic.js /root/lets-chat/node_modules/.staging/typechecker-2929493b
npm WARN lifecycle typechecker@2.0.8~preinstall: cannot run in wd %s %s (wd=%s) typechecker@2.0.8 node ./cyclic.js /root/lets-chat/node_modules/.staging/typechecker-d5f7aebc
lets-chat@0.4.8 /root/lets-chat
tqq async@2.6.0
tqq bcryptjs@2.4.3
tqw body-parser@1.18.2
x tqq bytes@3.0.0
x tqq content-type@1.0.4
x tqq debug@2.6.9
x tqq depd@1.1.1
x tqw http-errors@1.6.2
x x tqq inherits@2.0.3
x x tqq setprototypeof@1.0.3
x x mqq statuses@1.4.0
x tqq iconv-lite@0.4.19
x tqq qs@6.5.1
x tqw raw-body@2.3.2
x x mqq unpipe@1.0.0
x mqw type-is@1.6.15
x   tqq media-typer@0.3.0
x   mqq mime-types@2.1.17
tqq colors@1.1.2
tqw compression@1.7.1
x tqw accepts@1.3.4
x x mqq negotiator@0.6.1
x tqw compressible@2.0.12
x x mqq mime-db@1.30.0
x tqq on-headers@1.0.1
x tqq safe-buffer@5.1.1
x mqq vary@1.1.2
tqw connect-assets@5.4.0
x tqq argparse@1.0.7
x tqw csswring@5.0.0
x x tqq minimist@1.2.0
x x mqq onecolor@2.5.0
x tqq mime@1.3.4
x tqw mincer@1.5.0
x x tqq hike@1.0.2
x x tqq lodash@3.10.1
x x tqq mimoza@1.0.0
x x tqq pako@1.0.6
x x mqq shellwords@0.1.1
x tqw postcss@5.0.21
x x tqq js-base64@2.3.2
x x mqw supports-color@3.2.3
x x   mqq has-flag@1.0.0
x mqw uglify-js@2.6.2
x   tqq async@0.2.10
x   tqq uglify-to-browserify@1.0.2
x   mqw yargs@3.10.0
x     tqq camelcase@1.2.1
x     tqw cliui@2.1.0
x     x tqw center-align@0.1.3
x     x x tqw align-text@0.1.4
x     x x x tqq longest@1.0.1
x     x x x mqq repeat-string@1.6.1
x     x x mqq lazy-cache@1.0.4
x     x tqq right-align@0.1.3
x     x mqq wordwrap@0.0.2
x     mqq window-size@0.1.0
tqw connect-mongo@1.3.2
x tqq bluebird@3.5.1
x mqw mongodb@2.2.33
x   tqq es6-promise@3.2.1
x   tqw mongodb-core@2.1.17
x   x mqw require_optional@1.0.1
x   x   tqq resolve-from@2.0.0
x   x   mqq semver@5.4.1
x   mqw readable-stream@2.2.7
x     tqq buffer-shims@1.0.0
x     tqq process-nextick-args@1.0.7
x     tqq string_decoder@1.0.3
x     mqq util-deprecate@1.0.2
tqw cookie-parser@1.4.3
x tqq cookie@0.3.1
x mqq cookie-signature@1.0.6
tqw eslint@3.19.0
x tqw babel-code-frame@6.26.0
x x mqq js-tokens@3.0.2
x tqw chalk@1.1.3
x x tqq ansi-styles@2.2.1
x x tqq escape-string-regexp@1.0.5
x x tqq has-ansi@2.0.0
x x tqq strip-ansi@3.0.1
x x mqq supports-color@2.0.0
x tqw concat-stream@1.6.0
x x mqq typedarray@0.0.6
x tqw doctrine@2.0.0
x x mqq isarray@1.0.0
x tqw escope@3.6.0
x x tqw es6-map@0.1.5
x x x tqq d@1.0.0
x x x tqq es5-ext@0.10.35
x x x tqq es6-iterator@2.0.3
x x x tqq es6-set@0.1.5
x x x tqq es6-symbol@3.1.1
x x x mqq event-emitter@0.3.5
x x tqq es6-weak-map@2.0.2
x x mqq esrecurse@4.2.0
x tqw espree@3.5.2
x x tqq acorn@5.2.1
x x mqw acorn-jsx@3.0.1
x x   mqq acorn@3.3.0
x tqq esquery@1.0.0
x tqq estraverse@4.2.0
x tqq esutils@2.0.2
x tqw file-entry-cache@2.0.0
x x tqw flat-cache@1.3.0
x x x tqq circular-json@0.3.3
x x x tqw del@2.2.2
x x x x tqw globby@5.0.0
x x x x x tqw array-union@1.0.2
x x x x x x mqq array-uniq@1.0.3
x x x x x tqq arrify@1.0.1
x x x x x mqq glob@7.1.2
x x x x tqq is-path-cwd@1.0.0
x x x x tqw is-path-in-cwd@1.0.0
x x x x x mqq is-path-inside@1.0.0
x x x x tqq pify@2.3.0
x x x x mqw pinkie-promise@2.0.1
x x x x   mqq pinkie@2.0.4
x x x mqq write@0.2.1
x x mqq object-assign@4.1.0
x tqw glob@7.1.2
x x tqq fs.realpath@1.0.0
x x tqw inflight@1.0.6
x x x mqq wrappy@1.0.2
x x tqw minimatch@3.0.4
x x x mqw brace-expansion@1.1.8
x x x   tqq balanced-match@1.0.0
x x x   mqq concat-map@0.0.1
x x tqq once@1.4.0
x x mqq path-is-absolute@1.0.1
x tqq globals@9.18.0
x tqq ignore@3.3.7
x tqq imurmurhash@0.1.4
x tqw inquirer@0.12.0
x x tqq ansi-escapes@1.4.0
x x tqq ansi-regex@2.1.1
x x tqw cli-cursor@1.0.2
x x x mqw restore-cursor@1.0.1
x x x   tqq exit-hook@1.1.1
x x x   mqq onetime@1.1.0
x x tqq cli-width@2.2.0
x x tqq figures@1.7.0
x x tqw readline2@1.0.1
x x x tqq code-point-at@1.1.0
x x x tqw is-fullwidth-code-point@1.0.0
x x x x mqq number-is-nan@1.0.1
x x x mqq mute-stream@0.0.5
x x tqq run-async@0.1.0
x x tqq rx-lite@3.1.2
x x tqq string-width@1.0.2
x x mqq through@2.3.8
x tqw is-my-json-valid@2.16.1
x x tqq generate-function@2.0.0
x x tqw generate-object-property@1.2.0
x x x mqq is-property@1.0.2
x x mqq jsonpointer@4.0.1
x tqw is-resolvable@1.0.0
x x mqq tryit@1.0.3
x tqw json-stable-stringify@1.0.1
x x mqq jsonify@0.0.0
x tqw levn@0.3.0
x x tqq prelude-ls@1.1.2
x x mqq type-check@0.3.2
x tqw mkdirp@0.5.1
x x mqq minimist@0.0.8
x tqq natural-compare@1.4.0
x tqw optionator@0.8.2
x x tqq deep-is@0.1.3
x x tqq fast-levenshtein@2.0.6
x x mqq wordwrap@1.0.0
x tqq path-is-inside@1.0.2
x tqq pluralize@1.2.1
x tqq progress@1.1.8
x tqw require-uncached@1.0.3
x x tqw caller-path@0.1.0
x x x mqq callsites@0.2.0
x x mqq resolve-from@1.0.1
x tqw shelljs@0.7.8
x x tqq glob@7.1.2
x x tqq interpret@1.0.4
x x mqw rechoir@0.6.2
x x   mqw resolve@1.5.0
x x     mqq path-parse@1.0.5
x tqq strip-bom@3.0.0
x tqq strip-json-comments@2.0.1
x tqw table@3.8.3
x x tqw ajv@4.11.8
x x x mqq co@4.6.0
x x tqq ajv-keywords@1.5.1
x x tqq slice-ansi@0.0.4
x x mqw string-width@2.1.1
x x   tqq is-fullwidth-code-point@2.0.0
x x   mqw strip-ansi@4.0.0
x x     mqq ansi-regex@3.0.0
x tqq text-table@0.2.0
x mqw user-home@2.0.0
x   mqq os-homedir@1.0.2
tqw express.oi@0.0.21
x tqw express@4.16.2
x x tqq array-flatten@1.1.1
x x tqq content-disposition@0.5.2
x x tqq encodeurl@1.0.1
x x tqq escape-html@1.0.3
x x tqq etag@1.8.1
x x tqw finalhandler@1.1.0
x x x mqq statuses@1.3.1
x x tqq fresh@0.5.2
x x tqq merge-descriptors@1.0.1
x x tqq methods@1.1.2
x x tqq parseurl@1.3.2
x x tqq path-to-regexp@0.1.7
x x tqw proxy-addr@2.0.2
x x x tqq forwarded@0.1.2
x x x mqq ipaddr.js@1.5.2
x x tqq range-parser@1.2.0
x x tqw send@0.16.1
x x x tqq destroy@1.0.4
x x x tqq mime@1.4.1
x x x mqq statuses@1.3.1
x x tqq serve-static@1.13.1
x x tqq setprototypeof@1.1.0
x x tqq statuses@1.3.1
x x mqq utils-merge@1.0.1
x tqw express-session@1.15.6
x x tqq crc@3.4.4
x x mqw uid-safe@2.1.5
x x   mqq random-bytes@1.0.0
x tqw express-socket.io-session@1.3.2
x x mqw cookie-parser@1.3.5
x x   mqq cookie@0.1.3
x mqw socket.io@1.7.4
x   tqw debug@2.3.3
x   x mqq ms@0.7.2
x   tqw engine.io@1.8.4
x   x tqq accepts@1.3.3
x   x tqq base64id@1.0.0
x   x tqw debug@2.3.3
x   x x mqq ms@0.7.2
x   x mqw engine.io-parser@1.3.2
x   x   tqq after@0.8.2
x   x   tqq arraybuffer.slice@0.0.6
x   x   tqq base64-arraybuffer@0.1.5
x   x   tqq blob@0.0.4
x   x   mqq wtf-8@1.0.0
x   tqw has-binary@0.1.7
x   x mqq isarray@0.0.1
x   tqw socket.io-adapter@0.5.0
x   x mqw debug@2.3.3
x   x   mqq ms@0.7.2
x   tqw socket.io-client@1.7.4
x   x tqq backo2@1.0.2
x   x tqq component-bind@1.0.0
x   x tqq component-emitter@1.2.1
x   x tqw debug@2.3.3
x   x x mqq ms@0.7.2
x   x tqw engine.io-client@1.8.4
x   x x tqq component-emitter@1.2.1
x   x x tqq component-inherit@0.0.3
x   x x tqw debug@2.3.3
x   x x x mqq ms@0.7.2
x   x x tqq has-cors@1.1.0
x   x x tqq parsejson@0.0.3
x   x x tqq parseqs@0.0.5
x   x x tqq ws@1.1.2
x   x x tqq xmlhttprequest-ssl@1.5.3
x   x x mqq yeast@0.1.2
x   x tqq indexof@0.0.1
x   x tqq object-component@0.0.3
x   x tqw parseuri@0.0.5
x   x x mqw better-assert@1.0.2
x   x x   mqq callsite@1.0.0
x   x mqq to-array@0.1.4
x   mqw socket.io-parser@2.3.1
x     tqq component-emitter@1.1.2
x     tqw debug@2.2.0
x     x mqq ms@0.7.1
x     tqq isarray@0.0.1
x     mqq json3@3.3.2
tqw grunt@0.4.5
x tqq async@0.1.22
x tqq coffee-script@1.3.3
x tqq colors@0.6.2
x tqq dateformat@1.0.2-1.2.3
x tqq eventemitter2@0.4.14
x tqq exit@0.1.2
x tqw findup-sync@0.1.3
x x tqw glob@3.2.11
x x x mqq minimatch@0.3.0
x x mqq lodash@2.4.2
x tqq getobject@0.1.0
x tqw glob@3.1.21
x x tqq graceful-fs@1.2.3
x x mqq inherits@1.0.2
x tqw grunt-legacy-log@0.1.3
x x tqq colors@0.6.2
x x tqw grunt-legacy-log-utils@0.1.1
x x x tqq colors@0.6.2
x x x tqq lodash@2.4.2
x x x mqq underscore.string@2.3.3
x x tqq lodash@2.4.2
x x mqq underscore.string@2.3.3
x tqw grunt-legacy-util@0.2.0
x x tqq async@0.1.22
x x mqq lodash@0.9.2
x tqq hooker@0.2.3
x tqq iconv-lite@0.2.11
x tqw js-yaml@2.0.5
x x tqw argparse@0.1.16
x x x tqq underscore@1.7.0
x x x mqq underscore.string@2.4.0
x x mqq esprima@1.0.4
x tqq lodash@0.9.2
x tqw minimatch@0.2.14
x x tqq lru-cache@2.7.3
x x mqq sigmund@1.0.1
x tqw nopt@1.0.10
x x mqq abbrev@1.1.1
x tqq rimraf@2.2.8
x tqq underscore.string@2.2.1
x mqq which@1.0.9
tqw grunt-bower@0.21.4
x mqq bower@1.7.10
tqw grunt-bower-task@0.4.0
x tqq async@0.1.22
x tqw bower@1.3.12
x x tqq abbrev@1.0.9
x x tqq archy@0.0.2
x x tqw bower-config@0.5.3
x x x tqq graceful-fs@2.0.3
x x x tqw optimist@0.6.1
x x x x mqq minimist@0.0.10
x x x mqq osenv@0.0.3
x x tqq bower-endpoint-parser@0.2.2
x x tqw bower-json@0.4.0
x x x tqq deep-extend@0.2.11
x x x tqq graceful-fs@2.0.3
x x x mqq intersect@0.0.3
x x tqq bower-logger@0.2.2
x x tqw bower-registry-client@0.2.4
x x x tqq async@0.2.10
x x x tqq graceful-fs@2.0.3
x x x tqq lru-cache@2.3.1
x x x tqq mkdirp@0.3.5
x x x tqw request@2.51.0
x x x x tqq aws-sign2@0.5.0
x x x x tqq caseless@0.8.0
x x x x tqw combined-stream@0.0.7
x x x x x mqq delayed-stream@0.0.5
x x x x tqq forever-agent@0.5.2
x x x x tqw form-data@0.2.0
x x x x x tqq async@0.9.2
x x x x x mqw mime-types@2.0.14
x x x x x   mqq mime-db@1.12.0
x x x x tqw hawk@1.1.1
x x x x x tqq boom@0.4.2
x x x x x tqq cryptiles@0.2.2
x x x x x tqq hoek@0.9.1
x x x x x mqq sntp@0.2.4
x x x x tqw http-signature@0.10.1
x x x x x tqq asn1@0.1.11
x x x x x mqq assert-plus@0.1.5
x x x x tqq mime-types@1.0.2
x x x x tqq node-uuid@1.4.8
x x x x tqq oauth-sign@0.5.0
x x x x tqq qs@2.3.3
x x x x mqq tunnel-agent@0.4.3
x x x tqq request-replay@0.2.0
x x x mqq rimraf@2.2.8
x x tqw cardinal@0.4.0
x x x mqw redeyed@0.4.4
x x x   mqq esprima@1.0.4
x x tqw chalk@0.5.0
x x x tqq ansi-styles@1.1.0
x x x tqw has-ansi@0.1.0
x x x x mqq ansi-regex@0.2.1
x x x tqq strip-ansi@0.3.0
x x x mqq supports-color@0.2.0
x x tqq chmodr@0.1.0
x x tqw decompress-zip@0.0.8
x x x tqw binary@0.3.0
x x x x tqq buffers@0.1.1
x x x x mqw chainsaw@0.1.0
x x x x   mqq traverse@0.3.9
x x x tqq graceful-fs@3.0.11
x x x tqq mkpath@0.1.0
x x x tqq nopt@2.2.1
x x x tqw readable-stream@1.1.14
x x x x tqq isarray@0.0.1
x x x x mqq string_decoder@0.10.31
x x x mqw touch@0.0.2
x x x   mqq nopt@1.0.10
x x tqw fstream@1.0.11
x x x mqw rimraf@2.6.2
x x x   mqq glob@7.1.2
x x tqq fstream-ignore@1.0.5
x x tqw glob@4.0.6
x x x mqq minimatch@1.0.0
x x tqw graceful-fs@3.0.11
x x x mqq natives@1.1.0
x x tqw handlebars@2.0.0
x x x tqq optimist@0.3.7
x x x mqw uglify-js@2.3.6
x x x   tqq async@0.2.10
x x x   mqw source-map@0.1.43
x x x     mqq amdefine@1.0.1
x x tqw inquirer@0.7.1
x x x tqw cli-color@0.3.3
x x x x tqq d@0.1.1
x x x x tqw memoizee@0.3.10
x x x x x tqq d@0.1.1
x x x x x tqw es6-weak-map@0.1.4
x x x x x x tqq es6-iterator@0.1.3
x x x x x x mqq es6-symbol@2.0.1
x x x x x tqq lru-queue@0.1.0
x x x x x mqq next-tick@0.2.2
x x x x mqw timers-ext@0.1.2
x x x x   mqq next-tick@1.0.0
x x x tqq lodash@2.4.2
x x x tqq mute-stream@0.0.4
x x x tqw readline2@0.1.1
x x x x mqw strip-ansi@2.0.1
x x x x   mqq ansi-regex@1.1.1
x x x mqq rx@2.5.3
x x tqw insight@0.4.3
x x x tqq async@0.9.2
x x x tqw chalk@0.5.1
x x x x tqq ansi-styles@1.1.0
x x x x tqw has-ansi@0.1.0
x x x x x mqq ansi-regex@0.2.1
x x x x tqq strip-ansi@0.3.0
x x x x mqq supports-color@0.2.0
x x x tqw configstore@0.3.2
x x x x tqq graceful-fs@3.0.11
x x x x tqq object-assign@2.1.1
x x x x tqq user-home@1.1.1
x x x x tqq uuid@2.0.3
x x x x mqw xdg-basedir@1.0.1
x x x x   mqq user-home@1.1.1
x x x tqw inquirer@0.6.0
x x x x tqq lodash@2.4.2
x x x x tqq mute-stream@0.0.4
x x x x mqw readline2@0.1.1
x x x x   mqw strip-ansi@2.0.1
x x x x     mqq ansi-regex@1.1.1
x x x tqw lodash.debounce@2.4.1
x x x x tqq lodash.isfunction@2.4.1
x x x x tqw lodash.isobject@2.4.1
x x x x x mqq lodash._objecttypes@2.4.1
x x x x mqw lodash.now@2.4.1
x x x x   mqq lodash._isnative@2.4.1
x x x tqq object-assign@1.0.0
x x x tqw os-name@1.0.3
x x x x tqq osx-release@1.1.0
x x x x mqq win-release@1.1.1
x x x mqq tough-cookie@0.12.1
x x tqq is-root@1.0.0
x x tqq junk@1.0.3
x x tqq lockfile@1.0.3
x x tqq lru-cache@2.5.2
x x tqw mkdirp@0.5.0
x x x mqq minimist@0.0.8
x x tqq mout@0.9.1
x x tqq opn@1.0.2
x x tqq osenv@0.1.0
x x tqw p-throttler@0.1.0
x x x mqq q@0.9.7
x x tqw promptly@0.2.0
x x x mqq read@1.0.7
x x tqq q@1.0.1
x x tqw request@2.42.0
x x x tqq aws-sign2@0.5.0
x x x tqw bl@0.9.5
x x x x mqw readable-stream@1.0.34
x x x x   tqq isarray@0.0.1
x x x x   mqq string_decoder@0.10.31
x x x tqq caseless@0.6.0
x x x tqq forever-agent@0.5.2
x x x tqw form-data@0.1.4
x x x x tqq async@0.9.2
x x x x tqw combined-stream@0.0.7
x x x x x mqq delayed-stream@0.0.5
x x x x mqq mime@1.2.11
x x x tqw hawk@1.1.1
x x x x tqq boom@0.4.2
x x x x tqq cryptiles@0.2.2
x x x x tqq hoek@0.9.1
x x x x mqq sntp@0.2.4
x x x tqw http-signature@0.10.1
x x x x tqq asn1@0.1.11
x x x x tqq assert-plus@0.1.5
x x x x mqq ctype@0.5.3
x x x tqq mime-types@1.0.2
x x x tqq node-uuid@1.4.8
x x x tqq oauth-sign@0.4.0
x x x tqq qs@1.2.2
x x x mqq tunnel-agent@0.4.3
x x tqw request-progress@0.3.0
x x x mqq throttleit@0.0.2
x x tqq retry@0.6.0
x x tqq rimraf@2.2.8
x x tqq semver@2.3.2
x x tqw shell-quote@1.4.3
x x x tqq array-filter@0.0.1
x x x tqq array-map@0.0.0
x x x mqq array-reduce@0.0.0
x x tqq stringify-object@1.0.1
x x tqw tar-fs@0.5.2
x x x tqw pump@0.3.5
x x x x tqw end-of-stream@1.0.0
x x x x x mqq once@1.3.3
x x x x mqq once@1.2.0
x x x mqw tar-stream@0.4.7
x x x   mqw readable-stream@1.1.14
x x x     tqq isarray@0.0.1
x x x     mqq string_decoder@0.10.31
x x tqq tmp@0.0.23
x x mqw update-notifier@0.2.0
x x   tqw chalk@0.5.1
x x   x tqq ansi-styles@1.1.0
x x   x tqw has-ansi@0.1.0
x x   x x mqq ansi-regex@0.2.1
x x   x tqq strip-ansi@0.3.0
x x   x mqq supports-color@0.2.0
x x   tqw latest-version@0.2.0
x x   x mqw package-json@0.2.0
x x   x   tqw got@0.3.0
x x   x   x mqq object-assign@0.3.1
x x   x   mqw registry-url@0.1.1
x x   x     mqw npmconf@2.1.2
x x   x       tqw config-chain@1.1.11
x x   x       x mqq proto-list@1.2.4
x x   x       tqq ini@1.3.4
x x   x       tqq once@1.3.3
x x   x       tqq semver@4.3.6
x x   x       mqq uid-number@0.0.5
x x   tqw semver-diff@0.1.0
x x   x mqq semver@2.3.2
x x   mqw string-length@0.1.2
x x     mqw strip-ansi@0.2.2
x x       mqq ansi-regex@0.1.0
x tqq colors@0.6.2
x tqq lodash@0.10.0
x tqw rimraf@2.0.3
x x mqq graceful-fs@1.1.14
x mqq wrench@1.4.4
tqw grunt-cli@1.2.0
x tqw findup-sync@0.3.0
x x mqq glob@5.0.15
x tqq grunt-known-options@1.1.0
x tqq nopt@3.0.6
x mqq resolve@1.1.7
tqw helmet@2.3.0
x tqw connect@3.4.1
x x tqw debug@2.2.0
x x x mqq ms@0.7.1
x x tqq finalhandler@0.4.1
x x mqq utils-merge@1.0.0
x tqq dns-prefetch-control@0.1.0
x tqq dont-sniff-mimetype@1.0.0
x tqq frameguard@2.0.0
x tqw helmet-csp@1.2.2
x x tqq camelize@1.0.0
x x tqw content-security-policy-builder@1.0.0
x x x mqq dashify@0.2.2
x x tqq lodash.reduce@4.5.0
x x mqq platform@1.3.1
x tqq hide-powered-by@1.0.0
x tqq hpkp@1.2.0
x tqw hsts@1.0.0
x x mqq core-util-is@1.0.2
x tqq ienoopen@1.0.0
x tqw nocache@1.0.1
x x mqq depd@1.1.0
x tqq referrer-policy@1.0.0
x mqq x-xss-protection@1.0.0
tqw i18n@0.8.3
x tqq make-plural@3.0.6
x tqw math-interval-parser@1.1.0
x x mqq xregexp@2.0.0
x tqw messageformat@0.3.1
x x tqq async@1.5.2
x x tqq glob@6.0.4
x x mqw watchr@2.4.13
x x   tqq eachr@2.0.4
x x   tqw extendr@2.1.0
x x   x mqq typechecker@2.0.8
x x   tqw extract-opts@2.2.0
x x   x mqq typechecker@2.0.8
x x   tqw ignorefs@1.2.0
x x   x tqq editions@1.3.3
x x   x mqq ignorepatterns@1.1.0
x x   tqq safefs@3.2.2
x x   tqq scandirectory@2.5.0
x x   tqw taskgroup@4.3.1
x x   x tqw ambi@2.5.0
x x   x x mqq typechecker@4.4.1
x x   x mqw csextends@1.1.1
x x   x   mqq coffee-script@1.12.7
x x   mqq typechecker@2.1.0
x tqq mustache@2.3.0
x mqq sprintf-js@1.0.3
tqw js-yaml@3.10.0
x mqq esprima@4.0.0
tqw less@2.7.3
x tqw errno@0.1.4
x x mqq prr@0.0.0
x tqq graceful-fs@4.1.11
x tqq image-size@0.5.5
x tqq promise@7.3.1
x tqw request@2.81.0
x x tqq aws-sign2@0.6.0
x x tqq aws4@1.6.0
x x tqq caseless@0.12.0
x x tqw combined-stream@1.0.5
x x x mqq delayed-stream@1.0.0
x x tqq extend@3.0.1
x x tqq forever-agent@0.6.1
x x tqw form-data@2.1.4
x x x mqq asynckit@0.4.0
x x tqw har-validator@4.2.1
x x x mqq har-schema@1.0.5
x x tqw hawk@3.1.3
x x x tqq boom@2.10.1
x x x tqq cryptiles@2.0.5
x x x tqq hoek@2.16.3
x x x mqq sntp@1.0.9
x x tqw http-signature@1.1.1
x x x tqq assert-plus@0.2.0
x x x tqw jsprim@1.4.1
x x x x tqq assert-plus@1.0.0
x x x x tqq extsprintf@1.3.0
x x x x tqq json-schema@0.2.3
x x x x mqw verror@1.10.0
x x x x   mqq assert-plus@1.0.0
x x x mqw sshpk@1.13.1
x x x   tqq asn1@0.2.3
x x x   tqq assert-plus@1.0.0
x x x   tqq bcrypt-pbkdf@1.0.1
x x x   tqw dashdash@1.14.1
x x x   x mqq assert-plus@1.0.0
x x x   tqq ecc-jsbn@0.1.1
x x x   tqw getpass@0.1.7
x x x   x mqq assert-plus@1.0.0
x x x   tqq jsbn@0.1.1
x x x   mqq tweetnacl@0.14.5
x x tqq is-typedarray@1.0.0
x x tqq isstream@0.1.2
x x tqq json-stringify-safe@5.0.1
x x tqq oauth-sign@0.8.2
x x tqq performance-now@0.2.0
x x tqq qs@6.4.0
x x tqq stringstream@0.0.5
x x tqw tough-cookie@2.3.3
x x x mqq punycode@1.4.1
x x mqq tunnel-agent@0.6.0
x mqq source-map@0.5.7
tqq lodash@4.17.4
tqw md5@2.2.1
x tqq charenc@0.0.2
x tqq crypt@0.0.2
x mqq is-buffer@1.1.6
tqq moment@2.19.2
tqw mongoose@4.13.2
x tqq async@2.1.4
x tqq bson@1.0.4
x tqq hooks-fixed@2.0.2
x tqq kareem@1.5.0
x tqq lodash.get@4.4.2
x tqq mpath@0.3.0
x tqq mpromise@0.5.5
x tqw mquery@2.3.2
x x mqq sliced@0.0.5
x tqq ms@2.0.0
x tqq muri@1.3.0
x tqq regexp-clone@0.0.1
x mqq sliced@1.0.1
tqw mongoose-unique-validator@1.0.6
x mqq lodash.foreach@4.5.0
tqw mongoose-validate@0.0.5
x mqq validator@0.4.28
tqw multer@1.3.0
x tqq append-field@0.1.0
x tqw busboy@0.2.14
x x tqw dicer@0.2.5
x x x tqw readable-stream@1.1.14
x x x x tqq isarray@0.0.1
x x x x mqq string_decoder@0.10.31
x x x mqq streamsearch@0.1.2
x x mqw readable-stream@1.1.14
x x   tqq isarray@0.0.1
x x   mqq string_decoder@0.10.31
x tqq object-assign@3.0.0
x mqq xtend@4.0.1
tqw node-xmpp-server@2.2.7
x tqq hat@0.0.3
x tqw node-xmpp-core@5.0.9
x x tqq @xmpp/jid@0.0.2
x x tqw @xmpp/streamparser@0.0.6
x x x mqq ltx@2.7.1
x x tqq @xmpp/xml@0.1.3
x x tqq lodash.assign@4.2.0
x x tqq node-xmpp-tls-connect@1.0.1
x x mqw reconnect-core@0.0.1
x x   mqq backoff@2.3.0
x mqw ws@1.1.4
x   tqq options@0.0.6
x   mqq ultron@1.0.2
tqq node_hash@0.2.0
tqw nunjucks@2.5.2
x tqq asap@2.0.6
x tqw chokidar@1.7.0
x x tqw anymatch@1.3.2
x x x tqw micromatch@2.3.11
x x x x tqw arr-diff@2.0.0
x x x x x mqq arr-flatten@1.1.0
x x x x tqq array-unique@0.2.1
x x x x tqw braces@1.8.5
x x x x x tqw expand-range@1.8.2
x x x x x x mqw fill-range@2.2.3
x x x x x x   tqq is-number@2.1.0
x x x x x x   tqq isobject@2.1.0
x x x x x x   mqw randomatic@1.1.7
x x x x x x     tqw is-number@3.0.0
x x x x x x     x mqq kind-of@3.2.2
x x x x x x     mqq kind-of@4.0.0
x x x x x tqq preserve@0.2.0
x x x x x mqq repeat-element@1.1.2
x x x x tqw expand-brackets@0.1.5
x x x x x mqq is-posix-bracket@0.1.1
x x x x tqq extglob@0.3.2
x x x x tqq filename-regex@2.0.1
x x x x tqq kind-of@3.2.2
x x x x tqw object.omit@2.0.1
x x x x x tqw for-own@0.1.5
x x x x x x mqq for-in@1.0.2
x x x x x mqq is-extendable@0.1.1
x x x x tqw parse-glob@3.0.4
x x x x x tqq glob-base@0.3.0
x x x x x mqq is-dotfile@1.0.3
x x x x mqw regex-cache@0.4.4
x x x x   mqw is-equal-shallow@0.1.3
x x x x     mqq is-primitive@2.0.0
x x x mqw normalize-path@2.1.1
x x x   mqq remove-trailing-separator@1.1.0
x x tqq async-each@1.0.1
x x tqq glob-parent@2.0.0
x x tqw is-binary-path@1.0.1
x x x mqq binary-extensions@1.10.0
x x tqw is-glob@2.0.1
x x x mqq is-extglob@1.0.0
x x mqw readdirp@2.1.0
x x   mqq set-immediate-shim@1.0.1
x mqw yargs@3.32.0
x   tqq camelcase@2.1.1
x   tqw cliui@3.2.0
x   x mqq wrap-ansi@2.1.0
x   tqq decamelize@1.2.0
x   tqw os-locale@1.4.0
x   x mqw lcid@1.0.0
x   x   mqq invert-kv@1.0.0
x   tqq window-size@0.1.4
x   mqq y18n@3.2.1
tqw on-finished@2.3.0
x mqq ee-first@1.1.1
tqw passport@0.3.2
x tqq passport-strategy@1.0.0
x mqq pause@0.0.1
tqq passport-http@0.3.0
tqq passport-http-bearer@1.0.1
tqq passport-local@1.0.0
tqq passport.socketio@3.6.2
tqq require-directory@2.1.1
tqw require-tree@1.1.1
x tqq component-type@1.2.1
x mqq extend@2.0.1
mqq uuid@3.1.0

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"","arch":"x64"})

Let’s Chatを起動する

npm startで開始すると以下のようなメッセージが表示されます。この状態でLet’s Chatが起動したことになります。

# npm start

> lets-chat@0.4.8 start /root/lets-chat
> node app.js

(node:31658) DeprecationWarning: `open()` is deprecated in mongoose >= 4.11.0, use `openUri()` instead, or set the `useMongoClient` option if using `connect()` or `createConnection()`. See http://mongoosejs.com/docs/connections.html#use-mongo-client

ここにはLET'S CHATの文字が表示されています。

Release 0.4.8

注意

一度サーバを停止してから、再度Let’s Chatを起動する場合は、インストールディレクトリに移動してからnpm startを実行します

Webブラウザから確認する

WebブラウザからWebサーバにアクセスして動作を確認します。次のようなログイン画面が表示すればOKです。
https://サーバアドレス or ホスト名:5000

Let's Chat

Let’s Chatにログインする

  1. I need an accountリンクをクリックします
  2. Let's Chat

  3. 必要事項を入力して[Register]ボタンをクリックします
    成功するとSuccessが表示されます
  4. Let's Chat

  5. [OK]ボタンをクリックします
    ログイン画面に遷移します
  6. Let's Chat

  7. 登録したアカウントでログインします
    まだ何も設定していないので何も表示されませんがLet’s Chatにログインできます
  8. Let's Chat

チャットルームを作成する

ログインしたらチャットルームを作成してみます。

  1. 右上部にある”+”アイコン(赤枠)をクリックします
  2. Let's Chat

  3. Add Roomダイアログに必要事項を入力して[Save]ボタンをクリックします
  4. Let's Chat

  5. 左ペインにチャットルームが表示されます
  6. Let's Chat

  7. 左ペインにチャットルームが表示されます
  8. 別ユーザのALL ROOMSにも表示されます
  9. Let's Chat

  10. 左ペインにチャットルームが表示されます

チャットしてみる

作成したチャットルームでチャットしてみます。

  1. チャットルーム下部の「Got something o say?」にメッセージを入力して[Enter]キーを押します
  2. Let's Chat
    Let's Chat

  3. 別ユーザでチャットルーム(サンプルではChatroom1)のリンクをクリックします
    チャットルームが開きます
  4. Let's Chat
    Let's Chat

  5. 別ユーザでもメッセージを入力してみます
  6. Let's Chat

  7. 他のユーザ画面も同様に表示されます
  8. Let's Chat

  9. チャットルームに書き込まれるとチャットルーム名の横に数字が表示して書き込みがあったことを知らせます
  10. Let's Chat

  11. チャットルーム名をクリックしてチャットルームを開きます
  12. Let's Chat

簡単なテストチャットでした。使い方はまで書けずに申し訳ありません。

Let’s Chatをdaemonにする

Let’s Chatをdaemon化して自動でサービス起動できるようにします。

unitファイルを作成する

/lib/systemd/system以下にinitファイルを作成します。ここではletschatというファイルを作成しています。Let’s Chatは/root/letschatにインストールしています。本来はmongodbも依存しているのですが、mongodbがSysVサービスで/etc/rc.d/init.d/mongodで起動しているようなので、今回はそのままにしています。タイミングによってはLet’s Chatがエラーになるかも?なんて気もしてはいます。

letshchat.serviceを作る
# vi /lib/systemd/system/letschat

記述する内容

[Unit]
Descriptuon=Let's Chat Server
After=network.target httpd.service

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

[install]
WantedBy=multi-user.target

Let’s Chatの起動を確認する

作成したletschat.serivceを指定してLet’s Chatを起動します。

# systemctl daemon-reload
# systemctl start letschat.service
# systemctl status -l letschat.service
● letschat.service
   Loaded: loaded (/usr/lib/systemd/system/letschat.service; static; vendor preset: disabled)
   Active: active (running) since 木 2017-11-16 11:55:53 JST; 10s ago
 Main PID: 17877 (npm)
   CGroup: /system.slice/letschat.service
           tq17877 npm
           mq17887 letschat

11月 16 11:55:54 ホスト名 npm[17877]: > lets-chat@0.4.8 start /root/lets-chat
11月 16 11:55:54 ホスト名 npm[17877]: > node app.js
11月 16 11:55:57 ホスト名 npm[17877]: (node:17887) DeprecationWarning: `open()` is deprecated in mongoose >= 4.11.0, use `openUri()` instead, or set the `useMongoClient` option if using `connect()` or `createConnection()`. See http://mongoosejs.com/docs/connections.html#use-mongo-client
11月 16 11:55:57 ホスト名 npm[17877]: ??k     ???????k????????k???????k     ??????k??k  ??k ?????k ????????k
11月 16 11:55:57 ホスト名 npm[17877]: ??x     ??lqqqqjmqq??lqqj??lqqqqj    ??lqqqqj??x  ??x??lqq??kmqq??lqqj
11月 16 11:55:57 ホスト名 npm[17877]: ??x     ?????k     ??x   ???????k    ??x     ???????x???????x   ??x
11月 16 11:55:57 ホスト名 npm[17877]: ??x     ??lqqj     ??x   mqqqq??x    ??x     ??lqq??x??lqq??x   ??x
11月 16 11:55:57 ホスト名 npm[17877]: ???????k???????k   ??x   ???????x    m??????k??x  ??x??x  ??x   ??x
11月 16 11:55:57 ホスト名 npm[17877]: mqqqqqqjmqqqqqqj   mqj   mqqqqqqj     mqqqqqjmqj  mqjmqj  mqj   mqj
11月 16 11:55:57 ホスト名 npm[17877]: Release 0.4.8

# systemctl enable letschat.service
Created symlink from /etc/systemd/system/multi-user.target.wants/letschat.service to /usr/lib/systemd/system/letschat.service.
# systemctl status letschat.service

起動したことを確認して、Webブラウザからのアクセスも可能なことを確認します。

Proxy環境下で実施する場合

Proxy環境では、コマンドが使用できるようにProxy設定を行います。

yum

/etc/yum.confを編集します。次の内容を追記します。

proxy=http://proxy-server:port

git

# git config --global http.proxy http://proxy-server:port
# git config --global https.proxy http://proxy-server:port

npm

# npm config set proxy http://proxy-server:port
# npm config set https-proxy http://proxy-server:port