[Mattermost 教學#1] 團隊溝通工具Mattermost的Windows安裝指引

自從MSN終止並移轉到Skype後,我們開發團隊的即時通訊工具便改為QQ,但其他部門卻因種種原因沒有強制使用QQ,造成部門即時聯絡上的不便。最近花了點時間把號稱是開源版的私人Slack("Open source, private cloud
Slack-alternative")的Mattermost安裝起來,試著用Mattermost來當做即時通訊平台。其實即時通訊只是Mattermost諸多功能中的一個,它還具有其他的整合功能,能強化團隊成員間訊息的有效溝通。

Mattermost有Team edition、Enterprise E10和Enterprise E20等三種版本,版本功能差異可參考Product Pricing – Mattermost。我介紹的是可免費使用的Team edition,最可惜的是這個版本沒有LDAP/AD帳號的整合功能,所有的帳號皆須另行建立。

本篇著重於在Windows上安裝Mattermost的操作步驟。

Mattermost需要的軟體

要安裝Mattermost主要需要Mattermost與資料庫系統(MySQL或PostgreSQL),下載網址如下:

安裝步驟可參考Production Install on Windows Server (Unofficial) — Mattermost 4.8 documentation,有詳細的安裝指引。以下是我的備忘:

步驟1. 安裝MySQL Community Server 5.7.21

MySQL 5.7.21的安裝程式只有32-bit的版本,但安裝時可以選擇32-bit或64-bit的MySQL Server,同時安裝過程中會檢查你的Windows是否有Microsoft Visual C++ 2013 Redistributable,若沒有此套件則可按Execute執行下載與安裝Microsoft Visual C++ 2013 Redistributable。
安裝MySQL Server後用下列步驟建立mattermost資料庫:

d:\Program Files\MySQL\MySQL Server 5.7\bin>mysql -u root -p
Enter password: *****
mysql> CREATE DATABASE mattermost;
Query OK, 1 row affected (0.00 sec)
mysql> CREATE USER mmuser IDENTIFIED BY 'mmuser_password';
Query OK, 0 rows affected (0.01 sec)
mysql> GRANT ALL ON mattermost.* TO mmuser;
Query OK, 0 rows affected (0.00 sec) 

補充:使用MySQL 5.7卻造成Mattermost無法搜尋中文的問題,我找到了下列的重建索引解決方法:

mysql> use mattermost;
Database changed
mysql> DROP INDEX idx_posts_message_txt ON Posts;
Query OK, 0 rows affected (4.71 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> CREATE FULLTEXT INDEX idx_posts_message_txt ON Posts (Message) WITH PARSE
R ngram;
Query OK, 0 rows affected (16.40 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql>

步驟2. 安裝Mattermost Server 4.8.0

先將下載好的mattermost-team-4.8.0-windows-amd64.zip解壓縮到C:\,再編輯設定檔 c:\mattermost\config\config.json,搜尋 DataSource,將此行修改如下:

"DataSource": "mmuser:mmuser_password@tcp(localhost:3306)/mattermost?charset=utf8mb4,utf8

步驟3. 測試Mattermost Server

接著啟動Mattermost Server測試是否正確安裝了:

C:\Users\Jerry>cd /d d:\mattermost\bin

d:\mattermost\bin>platform.exe
[2018/04/07 18:32:41 CST] [INFO] Loaded system translations for 'en' from 'd:\mattermost\i18n/en.json'
[2018/04/07 18:32:41 CST] [INFO] Server is initializing...
[2018/04/07 18:32:42 CST] [INFO] Pinging SQL master database
[2018/04/07 18:32:42 CST] [INFO] Re-parsing templates because of modified file d:\mattermost\templates\email_change_body.html
....
[2018/04/07 18:33:41 CST] [EROR] failed to start up plugins: mkdir ./client/plugins: The system cannot find the path specified.
[2018/04/07 18:33:41 CST] [INFO] Starting workers
[2018/04/07 18:33:41 CST] [INFO] Starting schedulers.
[2018/04/07 18:33:42 CST] [EROR] /api/v4/plugins/webapp:GetActivePluginManifests code=501 rid=wozaw5fmf78idye8ykg981pkwc uid=ho9caz3ux3g5ir6e48m7s1gczh ip=::1 Plugins have been disabled. Please check your logs for details. [details: ]

由console看到ERROR是正常的,必須把platform.exe安裝到服務裡才不會出現這些與plugins相關的錯誤訊息。

用瀏覽器瀏覽 http://localhost:8065 檢視是否會出現Mattermost的Create Account,若能看到頁面則表示安裝成功。

步驟4. Mattermost初步設定

在Create Account頁面建立的帳號便會具備管理員權限。

create account

▼ 下一步是建立團隊(Team)→按【Create a new team】。

create team

▼ 輸入團隊名稱後按〔Next〕。
team name

▼ 再指定團隊的網址。

team URL

▼ 到此已能看到Mattermost首頁,並停在預設的公開頻道 Town Square(公眾大廳)裡。

home page

▼ 點擊左側中間的三橫線(主選單),再按Account Settings就能做帳號設定。

account settings

▼ 點擊【Display】將【Language】變更為【中文(繁體)】使網頁切換為繁體中文。

display settings

▼ 在主選單的選項或Town Square最開頭的連結都能取得邀請他入加入團隊的網址,只要將此邀請連結給別人,別人便能建立帳號而加入團隊。

invite team member

步驟5. 安裝為服務

最後把Mattermost Server安裝為服務即告安裝完成。安裝服務步驟如下:

  1. 把nssm.exe(win32或win64)複製到 d:\mattermost\bin
  2. 執行下列命令:
d:\mattermost\bin>cd \
d:\>cd d:\mattermost\bin
d:\mattermost\bin>nssm install mattermost d:\mattermost\bin\platform.exe
Service "mattermost" installed successfully!

d:\mattermost\bin>nssm set mattermost AppDirectory d:\mattermost
Set parameter "AppDirectory" for service "mattermost".

Mattermost的使用且待下回分解,接著再介紹Mattermost的整合框架(webhook與slash command的擴充方法)。

其實除了Mattermost,我也測試過Rocket.Chat - Free, Open Source, Enterprise Team Chat和對岸的簡聊,rocket.chat需要安裝我們不熟悉的MongoDB,在試用一會後就被棄用了。Mattermost成為我們的最終試用選擇。

##

您可能也會有興趣的類似文章

簡睿

服務於軟體業的資訊老兵。興趣廣泛,學習力佳,樂於分享所知所學。

您可能也會喜歡…

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *