十月 10, 2017 | 伺服器和Devops
教你如何用Docker打造彈性的Piwik網路分析工具
在前一篇文章向Google Analysis宣戰!用Piwik建立企業級的網路分析服務裡面已經有提到Piwik的好處與GA等分析工具之間的比較,這一篇文章則在處理如何使用Docker來快速建立Piwik的服務,並且方便維護與備份。
在開始前,如果你不懂Docker,可以參考下面這篇文章
若你是懂Docker,但是不是很熟悉docker-composer,則可以參考這篇文章
若上述的你都看過而且也略懂了,那麼以下的步驟會非常的容易與簡單
基本環境準備
在開始安裝之前請先處理好以下兩個環境
- Docker環境
- docker-compose套件
若上述二個都好了,代表基本作業已經做完。
用docker-compose來建立Piwik環境
docker-compose可以通過一個yml檔案,來建立整個服務的環境。若想要知道詳細的指令與教學可以參考【官方文件】,這裡我們就簡單帶過。
在處理Piwik的環境過程中,我們主要需要兩個影像檔:
- Piwik官方影像檔:https://hub.docker.com/_/piwik/
- Mysql官方影像檔:https://hub.docker.com/_/mysql/
以下是docker-compose.yml的寫法:
version: "2"
services:
db:
image: mysql:5.7.17
volumes:
- ./db/:/var/lib/mysql
- ./conf/:/etc/mysql/conf.d
environment:
- MYSQL_ROOT_PASSWORD=piwik
- MYSQL_USER=piwik
- MYSQL_DATABASE=piwik
- MYSQL_PASSWORD=piwik
restart: always
piwik:
image: piwik
ports:
- "80:80"
volumes:
- ./www:/var/www/html
links:
- db:mysql
以上的環境配置主要是建立兩個容器。
Database資料庫:db
目前的寫法是預設當服務建立時,自動建立一個叫做piwik的DB,帳號:piwik。密碼:piwik的服務,並且為了方便,把data同步到host端。Piwik服務:piwik 這個容器主要是通過piwik的官方影像檔而來,其實他本身就是一個網頁伺服器,並且把最新的程式放在影像檔裡面了。這裡為了未來更新維護方便,將所有的程式檔案同步到host端。
以下為實際資料夾配置,給大家參考
- 建立並啟動環境
docker-compose up -d
若你已經啟動成功了,那麼這個時候就可以在瀏覽器上打上你的URL,即可看到Piwik的服務安裝畫面。
安裝Piwik
STEP1: 資料庫設定
由於使用的是官方提供的影像檔產生的環境,所以基本上系統檢查是沒有問題的。這裡就可以直接跳到資料庫的位置。資料庫的名稱帳號密碼則是docker-compose的yml檔案裡面所描述的,直接照貼即可。另外,資料庫處理器的位置預設可能是127.0.0.1。這裡則是填寫mysql即可(注1)。
注1: 這裡填寫mysql的原因主要是docker-compose裡面的piwik的服務設定檔,裡面有一個參數link:"db:mysql",這裡主要是說piwik的容器可以連到db的容器,並且在容器內有定義連線名稱為mysql。因此,資料庫的地方寫mysql即可連到資料庫的容器。
STEP2: 資料表建立成功
STEP3: 建立管理者帳號
STEP4: 設定基本網站
STEP5: 將要檢測的網站加入Javascript
在安裝到這個步驟,系統預設會產出一組js的程式碼讓你加入到想要加入的特定網站,在網站內加入了這一段js追蹤碼後,你的Piwik就可以開始接收統計網站的資料STEP6: 設定完畢
結論
以上這篇文章主要是建立Piwik的環境,通過使用docker compose的方式進行部署,查過了google大神,發現大家用docker來建立環境的教學並不多,因此這篇文章分享,若是有更好的方法或有任何的問題也歡迎留言給我們,可以一起分享一起學習 :)
ps: 1. 2017/10/13 更新版本至3.2,只需要在後台按下自動更新,一切ok。另外,更新影像檔將環境也對應升級即可。