對於開源聊天系統來說,筆者最推薦的是RocketChat,主要因爲其使用十分方便並且功能極其豐富。
Rocket.Chat使用Meteor框架做的開源消息應用。是領先的免費開源團隊聊天Slack的替代品,功能強大,它支持羣組聊天,直接通信,私聊羣,桌面通知,媒體嵌入,鏈接預覽,文件上傳,語音/視頻聊天,截圖等等,還支持實時翻譯,實現用戶之間的自動實時消息轉換。使用Rocket.Chat可以完全控制交流通信。
一、關於這套系統,三種解決方案
1.直接訪問:
然後註冊賬號即可用,這種跟使用QQ基本沒有區別。
2.單單部署WEB端,關於頁面樣式我們自己DIY,重在不是使用功能,主要是折騰的快樂。其服務器依舊使用的是riot.im自身的服務器。
3.部署WEB還有後端,這種很麻煩,但已經完全從官方獨立出來了。
筆者建議:如果非生產環境,部署WEB端已經很快樂了。自己部署服務器最大問題不好管理,數據備份也是問題。
然而生命不息,折騰不止,本文把從服務端到WEB所有部署全部講解一遍,供大家自行抉擇!
二、開源聊天系統正式安裝
雲服務器使用:新睿雲CentOS7X64
最先安裝開發工具包:
yum -y groupinstall "Development Tools"
安裝程序所需依賴:
yum -y install libtiff-devel libjpeg-devel libzip-devel freetype-devel lcms2-devel libwebp-devel tcl-deve
安裝pip:
easy_install pip
創建虛擬運行環境:
virtualenv ~/.synapse
激活運行環境:
source ~/.synapse/bin/activate
升級pip到最新版本:
pip install --upgrade pip
升級setuptools:
pip install --upgrade setuptools
使用pip安裝Matrix:
pip install https://github.com/matrix-org/synapse/tarball/master
確認安裝成功是類似如下圖的回顯,如果有錯誤就要根據自己的錯誤信息來排查解決了:
現在進入到程序目錄
cd ~/.synapse
執行如下命令創建一個配置文件:
python -m synapse.app.homeserver --server-name biubiubiu --config-path homeserver.yaml --generate-config
注:–server-name這裏最好填寫一個你的站點域名,如果是測試的話,填寫你的系統主機名即可。
運行Matrix:
synctl start
因爲是初次運行,我們需要創建一個管理員賬號,執行:
register_new_matrix_user -c homeserver.yaml http://localhost:8008
如圖所示:
編輯homeserver.yaml
vi homeserver.yaml
開啓用戶註冊:
enable_registration: True
如圖所示:
然後重啓Matrix:
synctl restart
現在服務已經成功跑在機器的本地了,要對外網提供訪問,必然要配置一個反向代理。這裏我使用Nginx。
新建一個repo:
vi /etc/yum.repos.d/nginx.repo
寫入:
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
執行:
yum -y install nginx
設置Nginx開機啓動並運行Nginx:
systemctl enable nginx
systemctl start nginx
新建一個站點conf:
vi /etc/nginx/conf.d/riot.conf
寫入:
server {
listen 80;
server_name 你的站點域名;
location / {
proxy_pass http://localhost:8008;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
重啓Nginx:
systemctl restart nginx
這樣,我們就部署好了一臺Riot的聊天服務器。其實現在已經有一個簡陋的WEBUI可以提供最基礎的聊天功能了,此時,你訪問你的網站域名可以看到如下圖的頁面。但這個WEBUI太簡陋了,很顯然不適合讓用戶去使用:
所以Riot爲Matrix專門開發了一套全新的WEBUI。現在,我們就來部署這個全新的WEB端。(不部署後端服務器,就直接看這裏)
下載WEB端源碼:
進入到Nginx的站點目錄內:
cd /usr/share/nginx/
解壓壓縮包:
tar -xzvf riot-v0.15.0-rc.4.tar.gz
重命名目錄:
mv riot-v0.15.0-rc.4 riot
將目錄的所有者改爲nginx:
chown -R nginx:nginx riot
新建一個站點conf:
vi /etc/nginx/conf.d/riot-web.conf
寫入:
server {
listen 80;
server_name 你的站點域名;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
location / {
root /usr/share/nginx/riot;
index index.html index.htm;
}
}
重啓Nginx:
systemctl restart nginx
關閉防火牆:
systemctl stop firewalld.service
這樣,我們就完成了WEB端和服務器端的部署。下面簡要說一下使用方法。
RocketChat註冊管理員賬號
註冊界面
添加bot賬號
管理員界面
聊天使用
聊天界面
點擊查看往期內容回顧
雲宕機事件盤點:IBM雲服務全球宕機四小時,安全穩定成空話?
長按二維碼,關注我們
新睿雲,讓雲服務觸手可及
雲主機|雲存儲|雲數據庫|雲網絡
看都看完了,還不點這裏試試