ChatLuckの更新

ChatLuck (Linux+PostgreSQL) のChatLuck V4.5R1.2への更新についての説明です。

ここではChatLuck V4.5R1.2への更新について説明します。

ご注意

・ここではPostgreSQL 13の稼働ポートが"5433"であることを前提に説明します。ご利用になる環境によって稼働ポートを適宜変更してください。

1.各プロセスの停止

1-1. 以下のコマンドを実行し、リアルタイムサーバーを停止します。

[root@xxxxxx ~]# systemctl stop chatluck
chatluck-rserver を停止中:          [ OK ]
[root@xxxxxx ~]#

"chatluck-rserver を停止中: [ OK ]"のように表示されれば停止されています。

1-2. 以下のコマンドを実行し、Redisサーバーを停止します。

[root@xxxxxx ~]# systemctl stop redis
Stopping ...
Redis stopped
[root@xxxxxx ~]#

"Redis stopped"のように表示されれば停止されています。

1-3. 以下のコマンドを実行し、スケジューラーを停止します。

[root@xxxxxx ~]# pkill -9 -f chatBatScheduler
[root@xxxxxx ~]#

 

2.パッケージの展開

ここでは、ダウンロードしたファイルをFTPにて、"guest"ユーザーのホームディレクトリに転送済みとし、/tmpディレクトリを作業用ディレクトリとして使用する前提で説明します。
引き続き、"root"ユーザーで作業を行います。

2-1. /tmpディレクトリに、前回インストール時のファイルが残っている場合は削除します。

[root@xxxxxx ~]# cd /tmp
[root@xxxxxx tmp]# rm -rf cgi-bin htdocs
[root@xxxxxx tmp]#

 

2-2. 次に、/tmpディレクトリにパッケージを展開します。

[root@xxxxxx tmp]# tar zxvf /home/guest/chatluckupdate_4.5.1.2_pg13_linux_x64.tar.gz
(中略)
[root@xxxxxx tmp]#

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

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

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

2-4.データベース更新スクリプトのディレクトリのオーナーをpostgresユーザーに変更します。

[root@xxxxxx tmp]# chown -R postgres:postgres cgi-bin/chatlk/sqlupd
[root@xxxxxx tmp]#

 

3.SQLの適用

3-1.postgresユーザーにスイッチ後、以下の手順にてSQLの適用を実施してください。

[root@xxxxxx tmp]# su - postgres
[postgres@xxxxxx ~]$ cd /tmp/cgi-bin/chatlk/sqlupd/chatlkdb
[postgres@xxxxxx chatlkdb]$ ./install.sh chatlk localhost chatlkdb 5433
==========================start create table
(中略)
========================== end register Data
[postgres@xxxxxx chatlkdb]$

コマンドパラメータは以下の通りとなります。
./install.sh chatlk localhost chatlkdb 5433
       ①   ②    ③    ④

chatlk ・・・ PostgreSQL上のChatLuck用のロール名
localhost ・・・ PostgreSQL DBサーバーが動作しているサーバーのホスト名
chatlkdb ・・・ ChatLuckのDB名
5433 ・・・ PostgreSQL DBサーバーが動作しているサーバーのポート番号

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

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

 

4.パッケージの上書き

4-1.展開されたディレクトリ内に静的コンテンツを、WebサーバーのドキュメントルートにあるChatLuckのイメージディレクトリに上書きコピーします。

[root@xxxxxx tmp]# /bin/cp -rp htdocs/chatres /var/www/html/.
[root@xxxxxx tmp]# /bin/cp -rp htdocs/chatsares /var/www/html/.
[root@xxxxxx tmp]#

4-2.展開された「chatlk」「chatlksa」ディレクトリ内のファイルとディレクトリを、ChatLuck本体のインストール先に上書きコピーします。

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

 

4-3.不要ファイルの削除を行います。

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

 

5.設定ファイルの編集

5-1.設定ファイルを開きます。

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

5-2.3行目のポート番号を、「5432」から「5433」に変更します。また、「logdbport」の設定を追加します。以下のように、赤い個所を修正または追記してください。

{
	"DB" : {
		"dbport"		:	5433,
		"dbs"			:	"localhost",
		"dbname"		:	"chatlkdb",
		"dbuser"		:	"chatlk",
		"dbpwd"			:	"chatlk",
		"logdbport"		:	5433
	},
	"node"	:	{
		"port" : "3000",
		"log" : {
			"appenders": [
			    {
			    	"category" : "info",
			    	"filename" : "log/rserver.log"
			    },
			    {
			    	"category" : "error",
			    	"filename" : "log/error.log"
			    }
			]
		}
	}
}

編集が完了したら、viコマンドの":wq"(保存して閉じる)を実行してください。

 

6.リアルタイムサーバーの起動

V4.0 R2.0からV4.5 R1.0以降にアップデートすると、リアルタイムサーバーがNode.jsのアプリケーションからGoのアプリケーションに変更されます。
そのため新しくリアルタイムサーバーのサービスを登録し直す必要があります。

6-1.旧バージョン(V4.0 R2.0)のリアルタイムサーバーのサービスを停止します。

V4.0 R2.0のリアルタイムサーバーのサービス停止方法は、以下をご覧ください。
https://www.chatluck.com/download/doc/install/ja_JP/Linux/v45r10/realtime_server_service_stop.html

6-2. 以下のコマンドを実行し、新バージョン(V4.5 R1.1)のリアルタイムサーバーの自動起動の設定をします。

[root@xxxxxx tmp]# /var/www/cgi-bin/chatlk/rserver/wsserver install

6-3.同時接続数が多い(1000以上の)場合、リアルタイムサーバーのサービスファイルを編集します。
同時接続数が少ない場合は、「6-4」に進んでください。

以下のコマンドを実行し、リアルタイムサーバーのサービス情報を確認します。

※以下のコマンドでサービスファイルの保存先を確認することができます。(赤字の箇所)
ご利用になるサーバーによってサービスファイルの保存先が異なる場合がございます。必要に応じて、適宜読み替えてください。

[root@xxxxxx tmp]# systemctl status chatluckws
● chatluckws.service - Real-time server used in some functions of ChatLuck
    Loaded: loaded (
/etc/systemd/system/chatluckws.service; enabled; vendor preset: disabled)
(略)

サービスファイルを開きます。

[root@xxxxxx tmp]# vi /etc/systemd/system/chatluckws.service

 

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

LimitNOFILE=8192

 

上記1行を以下の位置に追加してください。追加後は以下の内容になります。

[Unit]
Description=Real-time server used in some functions of ChatLuck
ConditionFileIsExecutable=/var/www/cgi-bin/chatlk/rserver/wsserver


[Service]
StartLimitInterval=5
StartLimitBurst=10
ExecStart=/var/www/cgi-bin/chatlk/rserver/wsserver
LimitNOFILE=8192

User=chatluck




Restart=always

RestartSec=120
EnvironmentFile=-/etc/sysconfig/chatluckws

[Install]
WantedBy=multi-user.target

 

6-4. 以下のコマンドを実行し、リアルタイムサーバーを起動します。

[root@xxxxxx tmp]# systemctl start chatluckws
[root@xxxxxx tmp]# cat /var/www/cgi-bin/chatlk/rserver/log/rserver.log
[2021-12-01T09:00:00.000+09:00] Start the server with the address "[::]:3000"

"rserver.log"に"Start the server with the address "[::]:3000""のように表示されていれば、リアルタイムサーバーの起動は完了です。

 

以上でChatLuck (Linux+PostgreSQL版) のアップデートは完了です。
システム管理者権限のユーザーでChatLuckにログインし、「システム管理者設定」画面の「運用管理 > ログ管理 > ログ削除」画面を表示できることを確認してください。

 

続いて『PostgreSQL 11の停止』を行います。

 

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