ChatLuckのインストールとデータベース構築

ChatLuck (Linux+PostgreSQL) のインストールについての説明です。

Linux+PostgreSQL版のChatLuckをインストールします。

インストール前にご一読ください

ChatLuck Linux+PostgreSQL版をご利用いただく場合、PostgreSQLが正常に稼動している必要があります。PostgreSQLが稼動していない場合、事前にPostgreSQLのインストールを行っていただきますようお願いいたします。

データベースサーバー(PostgreSQL)のインストールと設定

 

1.パッケージの展開

1-1.ダウンロードしたファイルを展開します。

ここでは、ダウンロードしたファイルをFTPにて、"guest"ユーザーのホームディレクトリに転送しているという前提で説明します。

"guest"ユーザーのホームディレクトリの下にtmpディレクトリがない場合、作成します。

[guest@xxxxxx guest]$ mkdir tmp

次にrootユーザーにスイッチし、tmpディレクトリにChatLuckパッケージを展開します。

[guest@xxxxxx guest]$ su -
Password:

[root@xxxxxx guest]# cd tmp

[root@xxxxxx tmp]# tar zxvf /home/guest/chatluckVxxRxxpg96lRE6.tar.gz

展開が完了すると、tmpディレクトリ下に「cgi-bin」、「contrib」、「htdocs」ディレクトリが作成されます。

1-2.展開された「cgi-bin」、「htdocs」ディレクトリのオーナーをApacheのサービス実行ユーザーに変更します。

[root@xxxxxx tmp]# chown -R apache:apache cgi-bin htdocs

1-3.展開されたディレクトリ内の実行ファイルディレクトリを、ApacheのCGIディレクトリに移動します。

[root@xxxxxx tmp]# mv cgi-bin/chatlk cgi-bin/chatlksa /var/www/cgi-bin/.

1-4.展開されたディレクトリ内の静的コンテンツ(イメージ、JSなど)ディレクトリを、Apacheのドキュメントルートディレクトリに移動します。

[root@xxxxxx tmp]# mv htdocs/chatres htdocs/chatsares /var/www/html/.


2.ChatLuckデータベースの作成

※本インストール手順に従ってPostgreSQL 11を構成している場合、パスワードは「postgres」です。

※PostgreSQLの稼働ポート番号が"5432"でない場合は、本項の代わりに以下をご覧ください。本インストール手順に従っている場合、PostgreSQLの稼働ポートは"5432"です。
 https://www.chatluck.com/download/doc/install/ja_JP/Linux/linuxpg_pgport.html

2-1.postgresユーザーで、PostgreSQLにChatLuck用のデータベースロールを作成します。

[root@xxxxxx tmp]# su - postgres
[postgres@xxxxxx ~]$ psql -d template1 -c "CREATE USER chatlk WITH PASSWORD 'chatlk' CREATEROLE"
Password:
CREATE ROLE
[postgres@xxxxxx ~]$

2-2.pg_restoreコマンドを使用し、ChatLuckデータベースを作成します。

[postgres@xxxxxx ~]$ pg_restore -C -Fc -d template1 /var/www/cgi-bin/chatlk/dump/chatlkdb.pgdmp
Password:
[postgres@xxxxxx ~]$

2-3.pg_restoreコマンドを使用し、ログ収集用データベースを作成します。

[postgres@xxxxxx ~]$ pg_restore -C -Fc -d template1 /var/www/cgi-bin/chatlk/dump/chatladdb.pgdmp
Password:
[postgres@xxxxxx ~]$

2-4.コマンドが正常に終了したら、exitコマンドにてrootユーザーに戻してください。

[postgres@xxxxxx ~]$ exit
[root@xxxxxx tmp]#

 

3.リアルタイムサーバーの設定

3-1.リアルタイムサーバーの自動起動の設定を行います。

展開されたディレクトリ内の自動起動用ファイルを、init.dディレクトリに移動し自動起動の設定をします。

[root@xxxxxx tmp]# mv contrib/chatluck.linux /etc/init.d/chatluck

[root@xxxxxx tmp]# chmod 0755 /etc/init.d/chatluck

[root@xxxxxx tmp]# chkconfig --add chatluck

 

3-2.同時接続数が多い(500以上の)場合、リアルタイムサーバーの起動スクリプトを編集します。
同時接続数が少ない場合は、「3-3」に進んでください。

[root@xxxxxx tmp]# vi /etc/init.d/chatluck

変更例)以下の行を追加します。同時接続数の倍以上の数を指定してください。

(略)
# pidfile: /var/run/chatluck.pid
#

NODE=/usr/local/bin/node
# この行を追加
ulimit -n 8192

USER="chatluck"
(略)

 

3-3.SSLの設定を行います。SSLを使用しない場合は不要です。
※Apacheでhttpsを使用する場合必須です。


[root@xxxxxx tmp]# vi /var/www/cgi-bin/chatlk/rserver/config/default.json

SSLに必要な証明書ファイルを指定します。
※証明書ファイルへのパスは適宜変更してください。(証明書はのちに作成するchatluckユーザーで参照ができるパスに配置してください)
※秘密鍵ファイルはパスフレーズが解除されているものをご利用ください。

変更例)以下の4行を追加します。

"ssl" : "on",
"sslkey" : "/etc/httpd/conf/ssl.key/privatekey.pem", ・・・ サーバーの秘密鍵
"sslcert" : "/etc/httpd/conf/ssl.crt/cert.pem",    ・・・サーバーの証明書
"sslca" : "/etc/httpd/conf/ssl.crt/inca.pem",     ・・・認証局の中間CA証明書

証明書ファイルは、Apacheのコンフィグディレクトリに存在するものとして記載されていますので適宜変更してください。

4行は以下の位置に追加して下さい。追加後は以下の内容になります。

{
    "DB" : {
        "dbport"        :    5432,
        "dbs"           :    "localhost",
        "dbname"        :    "chatlkdb",
        "dbuser"        :    "chatlk",
        "dbpwd"         :    "chatlk"
    },
    "node" : {
        "port"      : "3000",
        "ssl"       : "on",
        "sslkey"    : "/etc/httpd/conf/ssl.key/privatekey.pem",
        "sslcert"   : "/etc/httpd/conf/ssl.crt/cert.pem",
        "sslca"     : "/etc/httpd/conf/ssl.crt/inca.pem",
        "log"       : {
            "appenders": [
                {
                    "category" : "info",
                    "filename" : "log/rserver.log"
                },
                {
                    "category" : "error",
                    "filename" : "log/error.log"
                }
            ]
        }
    }
}

 

3-4.プロキシサーバーの設定を行います。プロキシサーバーを使用しないまたはスマートフォン/タブレットアプリを使用しない場合は不要です。


[root@xxxxxx tmp]# vi /var/www/cgi-bin/chatlk/rserver/config/default.json

プロキシサーバーの情報を指定してください。
※プロキシサーバーの基本認証には対応しておりません。

変更例)以下の4行を追加します。

"proxy" : {
   "host": "localhost", ・・・ プロキシサーバーのホスト
   "port": "3128"       ・・・ プロキシサーバーのポート
},

4行は以下の位置に追加して下さい。追加後は以下の内容になります。

{
    "DB" : {
        "dbport"        :    5432,
        "dbs"           :    "localhost",
        "dbname"        :    "chatlkdb",
        "dbuser"        :    "chatlk",
        "dbpwd"         :    "chatlk"
    },
    "node" : {
        "port"      : "3000",
        "ssl"       : "on",
        "sslkey"    : "/etc/httpd/conf/ssl.key/privatekey.pem",
        "sslcert"   : "/etc/httpd/conf/ssl.crt/cert.pem",
        "sslca"     : "/etc/httpd/conf/ssl.crt/inca.pem",
        "proxy" : {
            "host": "localhost",
            "port": "3128"
        },
        "log"       : {
            "appenders": [
                {
                    "category" : "info",
                    "filename" : "log/rserver.log"
                },
                {
                    "category" : "error",
                    "filename" : "log/error.log"
                }
            ]
        }
    }
}

3-5.リアルタイムサーバー用ユーザー"chatluck"(以下、"chatluck"ユーザー)を作成します。

※必要に応じて、ユーザーパスワードを設定してください。

[root@xxxxxx tmp]# useradd chatluck

[root@xxxxxx tmp]# passwd chatluck

Password:


3-6.リアルタイムサーバー用のログディレクトリに書き込み権を追加します。

[root@xxxxxx tmp]# chmod 0777 /var/www/cgi-bin/chatlk/rserver/log

3-7.以下のコマンドで、リアルタイムサーバーを起動します。

"rserver.log"に"listening on port 9000"のように表示されていれば起動に成功しています。
※サーバーマシンのCPUコア数に応じて複数行表示されます。

[root@xxxxxx tmp]# service chatluck start
[root@xxxxxx tmp]# cat /var/www/cgi-bin/chatlk/rserver/log/rserver.log
[2018-04-25 00:00:00.000] INFO - Chat Server listening on port=9000 pid=5084
[2018-04-25 00:00:00.003] INFO - Chat Server listening on port=9001 pid=7328

 

3-8.以下のコマンドで、リアルタイムサーバーのポートを解放します。
※コマンドは一例です。お客様のセキュリティポリシーにあった設定で、3000番ポートを解放してください。

RedHat Enterprise Linux/CentOS 6の場合

[root@xxxxxx tmp]# iptables -A INPUT -p tcp --dport 3000 -j ACCEPT
[root@xxxxxx tmp]# service iptables save
[root@xxxxxx tmp]# service iptables restart


RedHat Enterprise Linux 7/8 またはCentOS 7/8の場合

[root@xxxxxx tmp]# firewall-cmd --add-port=3000/tcp --zone=public --permanent
success
[root@xxxxxx tmp]# firewall-cmd --reload
success

 

3-9.リアルタイムサーバーの定期的な再起動の設定を行います。
リアルタイムサーバーの再起動手順

 

4.不要ファイルの削除

4-1.パッケージの展開で作成された不要ファイルを削除します。

[root@xxxxxx tmp]# rm -rf cgi-bin htdocs contrib

5.「zip」コマンドのインストール

5-1. 以下のコマンドを実行し、インストールします。

[root@xxxxxx ~]# yum install zip
読み込んだプラグイン:xxxxxxxx
 ・
 ・(中略)
 ・
インストール容量: xxx k
Is this ok [y/d/N]: y
Downloading packages:
 ・
 ・(中略)
 ・
完了しました!
[root@xxxxxx ~]# zip
Copyright (c) 1990-2008 Info-ZIP - Type 'zip "-L"' for software license.
 ・(後略)

zipコマンドが利用できれば、インストールは完了です。

 

 

以上で、パッケージの展開とデータベースの構築は完了です。

「ChatLuck(Linux+PostgreSQL)インストールガイド」に戻る

 

記載の製品名および商品名は、各社の商標、または登録商標です。