您在這裡

教你如何用Docker打造彈性的Piwik網路分析工具

在前一篇文章向Google Analysis宣戰!用Piwik建立企業級的網路分析服務裡面已經有提到Piwik的好處與GA等分析工具之間的比較,這一篇文章則在處理如何使用Docker來快速建立Piwik的服務,並且方便維護與備份。

若上述的你都看過而且也略懂了,那麼以下的步驟會非常的容易與簡單

基本環境準備

在開始安裝之前請先處理好以下兩個環境

  1. Docker環境
  2. docker-compose套件

若上述二個都好了,代表基本作業已經做完。

用docker-compose來建立Piwik環境

docker-compose可以通過一個yml檔案,來建立整個服務的環境。若想要知道詳細的指令與教學可以參考【官方文件】,這裡我們就簡單帶過。

在處理Piwik的環境過程中,我們主要需要兩個影像檔:

  1. Piwik官方影像檔:https://hub.docker.com/_/piwik/
  2. 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。另外,更新影像檔將環境也對應升級即可。