有時有需求會是需要在一些靜態網站上加上留言板提供討論的需求,例如 gitlab 或 github 上產生的靜態文件頁面,這時其中一個選擇是 Disqus,不過如果是公司內部使用的頁面可能會就因為商業資訊不能外流的疑慮,不適合使用 Disqus,本篇介紹一個類似並且可自行伺服器的替代工具 Commento。
Commento 是一個輕量,可建立快速建立的留言工具伺服器,只需要一個伺服器便可支援多網站的使用,並且統一帳號使用訪客不需在每個網站都註冊。
官方網站:https://commento.io/
原始碼:https://gitlab.com/commento/commento
官方文件:https://docs.commento.io/
Commento 提供多種方式安裝使用:
– 在 Linux 系統上安裝執行
前置條件:
- 已安裝 postgreSQL
postgresql 安裝
安裝 postgresql
$ sudo apt-get update $ sudo apt-get install -y postgresql postgresql-contrib
啟動 postgresql
$ sudo /etc/init.d/postgresql start
接著建立 postgresql 使用者帳號密碼與 database
下面的 commento_account, commento_password 與 commento_db 設定成自己要的資料庫帳號、密碼以及資料庫名稱
$ sudo su - postgres $ psql -c "create role commento_account with login password 'commento_password';" $ createdb -O commento_account commento_db
設定系統環境變數:
接著輸入指令設定環境變數 (commento_account, commento_password 與 commento_db 要修改成剛剛建立的資料庫帳號密碼,而 COMMENTO_ORIGIN 則是管理介面要安裝所在的 domain)
※ 可設定的環境變數可參考官方文件 : https://docs.commento.io/configuration/backend/
$ export COMMENTO_ORIGIN=commento.example.com $ export COMMENTO_PORT=80 $ export COMMENTO_POSTGRES=postgres://commento_account:commento_password@postgres.example.com:5432/commento_db?sslmode=disable $ export COMMENTO_BIND_ADDRESS=0.0.0.0
下載 commento 與啟動:
(/path/to/installation/ 看自己要安裝到哪個位置)
$ wget https://commento-release.s3.amazonaws.com/commento-linux-amd64-v1.7.0.tar.gz $ tar xvf commento-linux-amd64-v1.7.0.tar.gz -C /path/to/installation/ $ /path/to/installation/commento
– Docker 方式執行
前置條件:
- 已安裝 postgreSQL (可參考前面的 postgreSQL 安裝教學)
- 已安裝 docker
指令執行:
$ docker run -it \ -p 80:8080 \ -e COMMENTO_ORIGIN=http://commento.example.com \ -e COMMENTO_POSTGRES=postgres://username:password@ipaddr:port/commento \ registry.gitlab.com/commento/commento
– Docker Compose 方式執行
前置條件:
- 已安裝 docker
- 已安裝 docker-compose
docker-compose.yml 設定:
version: '3' services: server: image: registry.gitlab.com/commento/commento ports: - 8087:8080 environment: COMMENTO_ORIGIN: http://localhost:8087 COMMENTO_PORT: 8080 COMMENTO_POSTGRES: postgres://postgres:postgres@db:5432/commento?sslmode=disable depends_on: - db db: image: postgres environment: POSTGRES_DB: commento POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres volumes: - postgres_data_volume:/var/lib/postgresql/data volumes: postgres_data_volume:
使用 docker-compose 指令啟動:
docker-compose up
管理介面使用
開啟網頁後,需要先註冊帳號,點結下方 [Sign up] 的連結
接著填寫帳號密碼註冊
這註冊完之後登入會看到如下的畫面,只有有被加入的 domain 可以嵌入 commento 使用
這時點左邊的 [New Domain] 可以增加允許嵌入留言版網站的 domain
接著要填寫名稱與 domain
加入完畢後,在 [Installation Guide] 內會有一段 HTML 程式碼,只需要把此段 HTML 複製到網站中想要嵌入留言板的位置便可
留言板使用
嵌入後的留言板會如下所示
在留言時會需要登入帳號密碼使用,並且不同網站之間會共用相同的帳號