*概要 [#j8b0592a]
-CentOs 7にRocket.Chatをインストールしてチャットサーバーにする
*手順 [#k3e3e34e]
**CentOSの環境構築 [#g3ae1332]
+CentOSをインストールする。今回はCentOS-7-x86_64-Minimal-1810.isoを使用
+バージョンを確認
$ cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
+IPアドレスを手動割り当て
$ nmtui
#ref(VirtualBox_CentOS-7-x86_64-Minimal-1810_02_01_2019_22_58_56.png)
+再起動
$ reboot
**IPアドレスの確認 [#k9d2835e]
$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:ce:ca:d8 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.222/24 brd 192.168.1.255 scope global noprefixroute enp0s3
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fece:cad8/64 scope link
valid_lft forever preferred_lft forever
**依存パッケージ等の環境構築 [#t4fa1971]
+基本的には公式サイトの「[[Rocket.Chat in CentOS>https://rocket.chat/docs/installation/manual-installation/centos/]]」に従ってインストールを進める
+エンタープライズ Linux 用の拡張パッケージEPEL(Extra Packages for Enterprise Linux)のリポジトリをインストール
# yum -y install epel-release
+アップデート
# yum clean all; yum -y update
+MongoDBのリポジトリファイルを作成
$ echo -e "[mongodb-org-3.6]\nname=MongoDB Repository\nbaseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/3.6/x86_64/\ngpgcheck=1\nenabled=1\ngpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc" | sudo tee /etc/yum.repos.d/mongodb-org-3.6.repo
+node.jsの設定
$ sudo yum install -y curl && curl -sL https://rpm.nodesource.com/setup_8.x | sudo bash -
+ビルドツール(gcc)、MongoDB、node.js、graphicsmagickなどをインストール
$ sudo yum install -y gcc-c++ make mongodb-org nodejs
$ sudo yum install -y epel-release && sudo yum install -y GraphicsMagick
+Node.jsの推奨バージョンをインストール
$ sudo npm install -g inherits n && sudo n 8.11.3
**Rocket.Chatのインストール [#a3978e7e]
+最新のRocket.Chatをダウンロード
$ curl -L https://releases.rocket.chat/latest/download -o /tmp/rocket.chat.tgz
+/tmpに解凍
$ tar -xzf /tmp/rocket.chat.tgz -C /tmp
+インストール
$ cd /tmp/bundle/programs/server && npm install
+フォルダ名変更
$ sudo mv /tmp/bundle /opt/Rocket.Chat
**Rocket.Chatの設定 [#g428241e]
+ユーザー作成
$ sudo useradd -M rocketchat && sudo usermod -L rocketchat
+パーミッション変更
$ sudo chown -R rocketchat:rocketchat /opt/Rocket.Chat
+設定ファイル作成
$ echo -e "[Unit]\nDescription=The Rocket.Chat server\nAfter=network.target remote-fs.target nss-lookup.target nginx.target mongod.target\n[Service]\nExecStart=/usr/local/bin/node /opt/Rocket.Chat/main.js\nStandardOutput=syslog\nStandardError=syslog\nSyslogIdentifier=rocketchat\nUser=rocketchat\nEnvironment=LD_PRELOAD=/opt/Rocket.Chat/programs/server/npm/node_modules/sharp/vendor/lib/libz.so NODE_ENV=production MONGO_URL=mongodb://localhost:27017/rocketchat ROOT_URL=http://your-host-name.com-as-accessed-from-internet:3000/ PORT=3000\n[Install]\nWantedBy=multi-user.target" | sudo tee /usr/lib/systemd/system/rocketchat.service
+設定ファイルを編集
$ sudo vi /usr/lib/systemd/system/rocketchat.service
MONGO_URL=mongodb://localhost:27017/rocketchat
ROOT_URL=http:192.168.1.222:3000
PORT=3000
+MongoDBとRocket.Chatのサービスを開始
$ sudo systemctl enable mongod && sudo systemctl start mongod
$ sudo systemctl enable rocketchat && sudo systemctl start rocketchat
Created symlink from /etc/systemd/system/multi-user.target.wants/rocketchat.service to /usr/lib/systemd/system/rocketchat.service.
***ファイアウォールの設定 [#e8abee1e]
+TCPの3000番を開ける
$ sudo firewall-cmd --permanent --add-port=3000/tcp
$ sudo systemctl reload firewalld
***Rocket.Chatへのアクセス [#q9e6196b]
+ブラウザでアクセスする
http://192.168.1.222:3000
#ref(rc.png)
*補足 [#d1345a5b]
-サービスの開始でエラーが出る場合
$ sudo systemctl enable mongod && sudo systemctl start mongod
Failed to execute operation: Access denied
$ sudo systemctl daemon-reexec
*参考 [#see94647]
-[[Rocket.Chat in CentOS>https://rocket.chat/docs/installation/manual-installation/centos/]]
-[[Rocket.ChatをCentOS7.3にインストール>https://www.ringosan.net/?p=173]]
-[[ RocketChat in CentOS7 インストール| itcore 2017年>https://www.itcore.jp/tips/rocketchat.php]]
-[[systemd でサービス起動しようとしたら Access denied>https://qiita.com/snaka/items/af9afb310ce621780c13]]
----
CentOS Rocket.Chat ロケットチャット インストール 環境構築~
&size(12){Total:&counter(total); / Today:&counter(today); / Yesterday:&counter(yesterday);};