圖片來源

任何公司成功的關鍵部分是與客戶和合作夥伴進行有效的內部和外部溝通,無論公司規模如何。但是,當然,溝通需要平衡。

通信解決方案不能佔用公司資源。它必須可靠和安全,但也必須在經濟上可行。最好的解決方案之一是 Rocket.Chat。這是一個類似於 Slack 的通信服務,但可以部署在 CentOS 7 服務器上。

什麼是 Rocket.Chat?

Rocket.Chat 是一個開源聊天套件,專為專注於集中化和降低運營成本的團隊打造。

這些被定義為全渠道平台。這意味著它支持通用數據保護條例 (GDPR)、健康保險流通與責任法案 (HIPAA) 等,並以高安全標準集成到任何項目需求中。該軟件還與大多數主要平台兼容。

安裝 Rocket.Chat

我需要

在開始安裝過程之前,該過程要成功有一些要求。

  1. SSH 訪問。
  2. 根權限。
  3. Enterprise Linux (EPEL) 存儲庫和開發人員工具的附加軟件包。
  4. 圖形魔術。
  5. 節點 JS 12.18.4。
  6. MongoDB(3.x 及更高版本)。

第 1 步:設置環境

檢查您的本地軟件包是否已更新是個好主意。所以使用 yum update 命令。

LiquidWeb_Centos # yum update
No packages marked for update

讓我們安裝 EPEL、GraphicsMagick 和標準構建工具包。使用以下語法:

yum install -y epel-release && yum install -y GraphicsMagick gcc-c++ make
yum groupinstall ‘Development Tools'

第 2 步:安裝 NodeJS

要安裝 NodeJS,您需要添加存儲庫,安裝包,並使用以下命令使用 npm 安裝適當的版本。

yum install -y curl && curl -sL https://rpm.nodesource.com/setup_12.x | bash -
yum install -y nodejs
npm install -g inherits n && n 12.18.4

在某些情況下,使用 /usr/local 的應用程序需要創建符號鏈接才能正常工作。 ln -s 命令可以幫助您做到這一點。

ln -s /usr/bin/node /usr/local/bin/node

第 3 步:安裝 MongoDB

要安裝 MongoDB(在本例中為 MongoDB 4.0.9),您需要使用以下命令添加適當的存儲庫:

touch /etc/yum.repos.d/mongodb-org-4.0.repo && tee -a $_ << END
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
END

然後繼續安裝軟件包。

yum install -y mongodb-org-4.0.9 mongodb-org-server-4.0.9 mongodb-org-shell-4.0.9 mongodb-org-mongos-4.0.9 mongodb-org-tools-4.0.9 checkpolicy

如果 SELinux 處於強制模式, 配置 SELinux 對於 MongoDB。接下來,我們需要啟用並啟動該服務。 您可以使用 –version 標誌來驗證安裝是否成功。

systemctl enable mongod
systemctl start mongod

mongod --version
db version v5.0.2
Build Info: {
    "version": "5.0.2",
...
    }
}

啟動 MongoDB 時,您可能會看到以下錯誤:

exception in initAndListen: NonExistentPath: Data directory /data/db not found., terminating

如果遇到上述錯誤,請運行以下命令來配置 MongoDB,創建相應的目錄,然後重新啟動服務。

rm -f /tmp/mongodb-27017.sock
rm -f /var/lib/mongo/mongod.lock
rm -f /var/run/mongodb/mongod.pid
mkdir -p  /var/run/mongodb/
touch /var/run/mongodb/mongod.pid
chown -R  mongod:mongod /var/run/mongodb/
chown mongod:mongod /var/run/mongodb/mongod.pid
systemctl restart mongod

第 4 步:安裝 Rocket.Chat

現在你已經擁有了所有必要的工具,你可以在 CentOS 7 上安裝 Rocket.Chat。下載最新版本,解壓縮文件,然後使用 npm 安裝 CentOS 7。

curl -L https://releases.rocket.chat/latest/download -o rocket.chat.tgz
tar -xzf rocket.chat.tgz
cd bundle/programs/server/
npm install

安裝完成後,需要將bundle目錄移動到安裝目錄。在這種情況下,請使用 /opt/Rocket.Chat。

mv ../../../bundle/ /opt/Rocket.Chat

讓我們添加 Rocket.Chat 用戶並修復權限。

useradd -M rocketchat && usermod -L rocketchat
chown -R rocketchat:rocketchat /opt/Rocket.Chat

您還需要創建一個 Rocket.Chat 服務文件。在將此代碼粘貼到終端之前,請使用您的實際域和端口更新 ROOT_URL 和 PORT。默認端口為 3000。如果該端口已在使用中,您可以將其移至另一個端口。本教程使用端口 3080。

此外,如果您為 MongoDB 使用自定義傳輸控制 (TCP) 端口,則應將默認 TCP 端口從 27017 更改為首選 TCP 端口。

tee -a /lib/systemd/system/rocketchat.service << END
[Unit]
Description=The Rocket.Chat server
After=network.target remote-fs.target nss-lookup.target nginx.service mongod.service
[Service]
ExecStart=/usr/local/bin/node /opt/Rocket.Chat/main.js
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=rocketchat
User=rocketchat
Environment=MONGO_URL=mongodb://localhost:27017/rocketchat?replicaSet=rs01 MONGO_OPLOG_URL=mongodb://localhost:27017/local?replicaSet=rs01 ROOT_URL=https://your.domain.com:3080/ PORT=3080
[Install]
WantedBy=multi-user.target
END

接下來,設置 MongoDB 複製。

sudo sed -i "s/^#replication:/replication:n  replSetName: rs01/" /etc/mongod.conf

mongo --eval "printjson(rs.initiate())"

現在您可以啟用並啟動該服務。

LiquidWeb_Centos # systemctl enable rocketchat && systemctl start rocketchat
Created symlink from /etc/systemd/system/multi-user.target.wants/rocketchat.service to /usr/lib/systemd/system/rocketchat.service.

使用 systemctl status 命令檢查狀態。

LiquidWeb_Centos # systemctl status rocketchat
● rocketchat.service - The Rocket.Chat server
   Loaded: loaded (/usr/lib/systemd/system/rocketchat.service; enabled; vendor preset: disabled)
   Active: active (running)

打開 Web 瀏覽器並輸入您的域和提供的端口號 (https://www.yourdomain.com:3080) 以訪問 Rocket.Chat 服務進行初始設置。設置頁面如下所示:

填寫完表格後,您就可以出發了。

第 5 步:反向代理(可選)

如果您使用沒有端口號的域,請設置反向代理。

對於 Nginx,將規則添加到您的域的配置文件(通常是 /etc/nginx/sites-available/your.domain.com.conf)(將您的域替換為 your.domain.com)。

server {
        listen 80;
        listen [::]:80;

        root /var/www/your.domain.com/html;
        index index.html index.php index.nginx-debian.html;

        server_name your.domain.com www.your.domain.com;

        location / {
               proxy_pass https://127.0.0.1:3080;
        }
}

對於 Apache,它看起來像這樣:

ServerName your.domain.com
ProxyPreserveHost On
ProxyPass /  https://your.domain.com:3080/
ProxyPassReverse /  https://your.domain.com:3080/

常見位置是 /etc/apache2/sites-available/ 或 /etc/httpd/sites-available/ 。

如果您使用的是 cPanel,/etc/apache2/conf.d/userdata/std/2_4/some_user/your.domain.com/ 和 /etc/apache2/conf.d/userdata/ssl/2_4/some_user/your .domain .com / 是要走的路。

結論是

這包括安裝指南。在自己的實例中運行此軟件可為您提供很大的靈活性。一些設置提供了增強的安全性和可用性(災難恢復),而公司數據永遠不會離開服務器。

如果您需要 24/7 全天候支持,請聯繫 Liquid Web 最有幫助的主持人之一。我們是來幫忙的!

kb-banner-lw-託管