slackクローンの一つRocket.Chatを作ってみた
本家様https://rocket.chat/
参照先https://docs.rocket.chat/installation/manual-installation/centos/

既に数多くの構築例がネットに掲示されてます.
ここではdockerを使わず、単体マシンに入れてみた
入れ物はCentOS 7です

nodejsら

まずCentOS7標準リポジトリには含まれていない「nodejs」、「npm」、「GraphicsMagick」パッケージを使用するので、epelリポジトリを登録します。

[root@rocketchat ~]# yum install epel-release
[root@rocketchat ~]# sed -i 's/enabled=1/enabled=0/' /etc/yum.repos.d/epel.repo

そしてこれらのパッケージと「gcc-c++」をインストールします

[root@rocketchat ~]# yum --enablerepo=epel install nodejs npm GraphicsMagick gcc-c++

MongoDB

次に、NoSQLのMongoDBをインストールします。
本家様で示す手順ではどうやら古いバージョンのMongoDBがインストールされる 2.6.12とか
MongoDBの本家様で示されている手順を使えば最新版がりようできる.
参照先https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/

っで、最新バージョンのMongoDBでRocket.Chatが動くのか?となるがどうやら大丈夫みたいなので使ってみた.

[root@rocketchat ~]# cat /etc/yum.repos.d/mongodb.repo
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=0
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
 
[root@rocketchat ~]#

このリポジトリで何が配布されているかを一応確認してみる

[root@rocketchat ~]# yum --enablerepo=mongodb-org-3.4 list |grep -i mongodb-org-3.4
mongodb-org.x86_64                          3.4.9-1.el7                mongodb-org-3.4
mongodb-org-mongos.x86_64                   3.4.9-1.el7                mongodb-org-3.4
mongodb-org-server.x86_64                   3.4.9-1.el7                mongodb-org-3.4
mongodb-org-shell.x86_64                    3.4.9-1.el7                mongodb-org-3.4
mongodb-org-tools.x86_64                    3.4.9-1.el7                mongodb-org-3.4
[root@rocketchat ~]#

っでMongoDBをインストール

[root@rocketchat ~]# yum --enablerepo=mongodb-org-3.4 install mongodb-org-server mongodb-org

npmでインストール

npmを使ってアプリをインストールします

[root@rocketchat ~]# npm install -g inherits n
npm: relocation error: npm: symbol SSL_set_cert_cb, version libssl.so.10 not defined in file libssl.so.10 with link time reference
 
[root@rocketchat ~]#

とエラーが発生.
どうやら「openssl-libs」をupdateする必要があるみたいで

[root@rocketchat ~]# yum update openssl-libs
 
[root@rocketchat ~]# npm install -g inherits n
/usr/bin/n -> /usr/lib/node_modules/n/bin/n
/usr/lib
tqq inherits@2.0.3
mqq n@2.1.8
 
[root@rocketchat ~]#

と成功
コマンド「n」で

[root@rocketchat ~]# n 4.8.4
 
     install : node-v4.8.4
       mkdir : /usr/local/n/versions/node/4.8.4
       fetch : https://nodejs.org/dist/v4.8.4/node-v4.8.4-linux-x64.tar.gz
######################################################################## 100.0%
   installed : v4.8.4
 
[root@rocketchat ~]#

この辺が分からない...

本体 Rocket.Chatのインストール

インストール先は /opt で、最新版を取得、展開します

[root@rocketchat ~]# cd /opt
[root@rocketchat opt]# curl -L https://rocket.chat/releases/latest/download -o rocket.chat.tgz
 
[root@rocketchat opt]# gzip -cd rocket.chat.tgz | tar xf -
[root@rocketchat opt]# mv bundle Rocket.Chat
[root@rocketchat opt]# cd Rocket.Chat/programs/server
[root@rocketchat server]# npm install

これでインストールは完了。次に起動スクリプトを作る。ここで環境設定も行う

[root@rocketchat ~]# vi /usr/lib/systemd/system/rocketchat.service
[Unit]
Description=The Rocket.Chat server
After=network.target remote-fs.target nss-lookup.target mongod.target
[Service]
ExecStart=/usr/local/bin/node /opt/Rocket.Chat/main.js
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=rocketchat
User=root
Environment=MONGO_URL=mongodb://localhost:27017/rocketchat ROOT_URL=http://rocketchat.sybyl.local:3000/ PORT=3000
[Install]
WantedBy=multi-user.target
 
[root@rocketchat ~]# systemctl daemon-reload

注意点は「Environment」の設定
MONGO_URL=mongodb://localhost:27017/rocketchat」にてmongoDBの場所を指定。続いて
ROOT_URL=http://rocketchat.sybyl.local:3000/」は外見上のURL。ここではプライベートアドレスを定義しているが、内部に置いたままでリバースプロキシで外部にも公開させる際には、ここを外部からのアクセス可能な名称にする。
PORT=3000」はRocket.Chatで使用するport。

起動

[root@rocketchat ~]# systemctl enable mongod.service rocketchat.service
[root@rocketchat ~]# systemctl start mongod.service rocketchat.service

update

最新版のRocket.Chatに変更したい場合には

Upgrading is much the same as installing Rocket.Chat
 
Shutdown Rocket.Chat
Goto the installation folder in this case: cd /opt/
Remove or move the Rocket.Chat folder.
Follow the installation section

とある

めも

起動直後に始めにログインしたユーザが管理者になる
管理権限は複数に与えられる
1サイト1コミュニティーな感じ

デフォルトでは不特定多数の方に登録が許される形であるが、秘密の扉とか登録させないとか可能

mongodとrocketchatが常時稼働する環境が必要なのでVPSが最低限必要かな
https://web.arena.ne.jp/vps-cloud/とか
https://vps.sakura.ad.jp/かな
AWSでリザーブドインスタンスを使えばもっと安くなる感じかな

最新の60件
2024-12-08 2024-12-05 2024-12-04 2024-11-28 2024-11-23 2024-11-22 2024-11-15 2024-11-14 2024-11-12 2024-11-06 2024-11-05 2024-11-04 2024-11-02 2024-11-01 2024-10-29 2024-10-28 2024-10-27 2024-10-23 2024-10-18 2024-10-17 2024-10-15 2024-10-14 2024-10-13 2024-10-11 2024-10-10 2024-10-09 2024-10-08 2024-10-05 2024-10-04 2024-10-03 2024-10-02 2024-10-01 2024-09-30 2024-09-29 2024-09-28 2024-09-27 2024-09-22 2024-09-20 2024-09-17

edit


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-12-20 (水) 17:14:49