DEV Community

Cover image for Cara instalasi Matomo Web Analytics di Ubuntu 18.04
Erol Joudy for Kawanua Indie Developer

Posted on • Updated on • Originally published at blog.erol.dev

Cara instalasi Matomo Web Analytics di Ubuntu 18.04

Matomo (sebelumnya bernama Piwik) adalah sebuah aplikasi untuk web analytics, yang saat ini populer digunakan sebagai alternatif untuk menggantikan Google Analytics. Matamo dapat melacak data pengunjung website, dan kemudian menampilkan hasilnya dalam sebuah laporan untuk di analisa.

Matomo adalah sebuah aplikasi open source, dan progress pengembangannya bisa dilihat di Github.

GitHub logo matomo-org / matomo

Liberating Web Analytics. Star us on Github? +1. Matomo is the leading open alternative to Google Analytics that gives you full control over your data. Matomo lets you easily collect data from websites & apps and visualise this data and extract insights. Privacy is built-in. We love Pull Requests!

Fitur yang dimiliki Matomo beberapa diantaranya adalah, A/B Testing, Heatmaps, Funnels, Tracking & Reporting API, Google AdWords, Facebook Ads, Bing Ads, Cost Per Click (CPC), dan masih banyak lagi.

Dalam tutorial ini akan dikupas cara instalasi Matomo web analytics di Ubuntu 18.04, dengan menggunakan Nginx sebagai web server-nya, PHP7.4, MariaDB, dan untuk sertifikat SSL akan menggunakan Let’s Encrypt.


Instalasi dasar

Pilih timezone tempat Anda tinggal, dengan menjalankan perintah dibawah ini.

sudo dpkg-reconfigure tzdata
Enter fullscreen mode Exit fullscreen mode

Selanjutnya lakukan instalasi beberapa dependencies.

sudo apt install curl wget vim git unzip socat -y
Enter fullscreen mode Exit fullscreen mode

Instalasi MariaDB

Jalankan perintah berikut untuk melakukan instalasi MariaDB.

sudo apt install mariadb-server -y
Enter fullscreen mode Exit fullscreen mode

Untuk mengecek apakah MariaDB sudah berjalan dengan normal, cek dengan perintah berikut.

sudo systemctl status mariadb
Enter fullscreen mode Exit fullscreen mode
● mariadb.service - MariaDB 10.1.44 database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
   Active: active (running) since 46s ago
     Docs: man:mysqld(8)
           https://mariadb.com/kb/en/library/systemd/
 Main PID: 1975 (mysqld)
   Status: "Taking your SQL requests now..."
    Tasks: 27 (limit: 658)
   CGroup: /system.slice/mariadb.service
           └─1975 /usr/sbin/mysqld
Enter fullscreen mode Exit fullscreen mode

Selanjutnya jalankan perintah berikut untuk mengamankan instalasi MariaDB.

sudo mysql_secure_installation
Enter fullscreen mode Exit fullscreen mode

Lalu jawablah semua pertanyaan yang muncul dengan konfigurasi berikut.

Enter current password for root (enter for none): isi_password
Change the root password? [Y/n] n
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
Enter fullscreen mode Exit fullscreen mode

Buat database untuk Matomo

Login ke MariaDB dengan menggunakan perintah,

sudo mysql -u root -p
Enter fullscreen mode Exit fullscreen mode

Isi password MariaDB untuk user root ketika diminta, dan setelah masuk jalankan perintah berikut.

CREATE DATABASE matomodba;
CREATE USER 'matomo'@'localhost' IDENTIFIED BY 'isi-password-disini';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, INDEX, DROP, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON matomodba.* TO 'matomo'@'localhost';
GRANT FILE ON *.* TO 'matomo'@'localhost';
FLUSH PRIVILEGES;
exit
Enter fullscreen mode Exit fullscreen mode

Untuk nama database matomodba bisa diganti sesuai selera, namun untuk database user disarankan tetap menggunakan matomo.


Instalasi PHP

Sebelum melakukan instalasi PHP 7.4, jalankan perintah dibawah ini untuk mengaktifkan repository-nya.

sudo apt install software-properties-common -y
sudo add-apt-repository ppa:ondrej/php
Enter fullscreen mode Exit fullscreen mode

Lakukan instalasi PHP 7.4 dengan perintah berikut.

sudo apt install php7.4 php7.4-cli php7.4-curl php7.4-fpm php7.4-gd php7.4-intl php7.4-json php7.4-mbstring php7.4-mysql php7.4-opcache php7.4-readline php7.4-xml php7.4-xsl php7.4-zip php7.4-bz2 libapache2-mod-php7.4 -y
Enter fullscreen mode Exit fullscreen mode

Cek versi PHP dengan perintah ini.

php --version
Enter fullscreen mode Exit fullscreen mode
PHP 7.4.5 (cli) (built: Apr 19 2020 07:36:30) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.5, Copyright (c), by Zend Technologies
Enter fullscreen mode Exit fullscreen mode

Aktifkan firewall

Pada tutorial ini menggunakan firewall bawaan Ubuntu yaitu ufw. Aktifkan dengan perintah berikut.

sudo ufw allow OpenSSH
sudo ufw enable
Enter fullscreen mode Exit fullscreen mode

Instalasi sertifikat SSL

Tindakan mengamankan website dengan sertifikat SSL, sangatlah disarankan. Untuk memperoleh sertifikat SSL dari Let’s Encrypt, pada artikel ini akan menggunakan acme.sh dan mesti diinstall terlebih dulu, dengan menjalankan perintah berikut ini secara berurutan.

sudo mkdir /etc/letsencrypt
sudo curl https://get.acme.sh | sh
Enter fullscreen mode Exit fullscreen mode

Tutup terminal yang sedang digunakan, kemudian buka kembali dan lakukan pengecekan versinya,

acme.sh --version
Enter fullscreen mode Exit fullscreen mode
https://github.com/acmesh-official/acme.sh
v2.8.7
Enter fullscreen mode Exit fullscreen mode

Selanjutnya, jalankan perintah dibawah ini untuk registrasi sertifikat RSA dan ECC/ECDSA untuk domain yang akan digunakan, disini akan menggunakan contoh.com. Pastikan domain Anda sudah diarahkan ke server ini.

sudo acme.sh --issue --standalone --home /etc/letsencrypt -d contoh.com --keylength 2048
sudo acme.sh --issue --standalone --home /etc/letsencrypt -d contoh.com --keylength ec-256
Enter fullscreen mode Exit fullscreen mode

Ingat, ganti contoh.com diatas dengan nama domain dari Matomo Anda.

Langkah ini selesai apabila kode certificate-nya sudah muncul. Tampilannya mirip seperti dibawah ini.

-----BEGIN CERTIFICATE-----
MIIEjDCCA3SgAwIBAgISBN92sUegDEJB8biuLJRE52LRMA0GCSqGSIb3DQEBCwUA
...
FEZiTnEu5NFMfLAWZuKKYg==
-----END CERTIFICATE-----
Enter fullscreen mode Exit fullscreen mode

Instalasi Nginx

Untuk cara instalasi Nginx, silahkan baca artikel berikut.

Selanjutnya, buat konfigurasi Matomo untuk Nginx, dengan menjalankan perintah berikut.

sudo vim /etc/nginx/sites-available/matomo.conf
Enter fullscreen mode Exit fullscreen mode

Isi dengan baris konfigurasi dibawah ini. Jangan lupa mengganti contoh.com dengan nama domain Anda sebelum konfigurasi dibawah ini disimpan.

server {

  listen [::]:443 ssl http2;
  listen 443 ssl http2;
  listen [::]:80;
  listen 80;

  server_name contoh.com;
  root /var/www/matomo/;
  index index.php;

  ssl_certificate /etc/letsencrypt/contoh.com/fullchain.cer; 
  ssl_certificate_key /etc/letsencrypt/contoh.com/contoh.com.key; 
  ssl_certificate /etc/letsencrypt/contoh.com_ecc/fullchain.cer;
  ssl_certificate_key /etc/letsencrypt/contoh.com_ecc/contoh.com.key;

  location ~ ^/(index|matomo|piwik|js/index).php {
    include snippets/fastcgi-php.conf;
    fastcgi_param HTTP_PROXY ""; 
    fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; 
  }

  location = /plugins/HeatmapSessionRecording/configs.php {
    include snippets/fastcgi-php.conf;
    fastcgi_param HTTP_PROXY "";
    fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
  }

  location ~* ^.+\.php$ {
    deny all;
    return 403;
  }

  location / {
    try_files $uri $uri/ =404;
  }

  location ~ /(config|tmp|core|lang) {
    deny all;
    return 403;
  }

  location ~ \.(gif|ico|jpg|png|svg|js|css|htm|html|mp3|mp4|wav|ogg|avi|ttf|eot|woff|woff2|json)$ {
    allow all;
  }

  location ~ /(libs|vendor|plugins|misc/user) {
    deny all;
    return 403;
  }

}
Enter fullscreen mode Exit fullscreen mode

Aktifkan dengan perintah berikut.

sudo ln -s /etc/nginx/sites-available/matomo.conf /etc/nginx/sites-enabled
Enter fullscreen mode Exit fullscreen mode

Tambahkan Nginx ke firewall.

sudo ufw allow "Nginx Full"
sudo ufw reload
Enter fullscreen mode Exit fullscreen mode

Lakukan pengecekan konfigurasi Nginx.

sudo nginx -t
Enter fullscreen mode Exit fullscreen mode
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Enter fullscreen mode Exit fullscreen mode

Langkah terakhir pada bagian ini, adalah dengan me-restart Nginx.

sudo systemctl reload nginx
Enter fullscreen mode Exit fullscreen mode

Instalasi Matomo Web Analytics

Instalasi Matomo dilakukan dengan cara menjalankan perintah berikut ini secara berurutan.

cd /var/www/
sudo wget https://builds.matomo.org/matomo.zip && sudo unzip matomo.zip
sudo rm matomo.zip
sudo chown -R root:root /var/www/matomo
Enter fullscreen mode Exit fullscreen mode

Sampai pada langkah ini, Matomo sudah berhasil terpasang dan siap untuk dilakukan pengaturan, supaya dapat segera digunakan.


Pengaturan Matomo Web Analytics

Akses domain Matomo dari browser. Tekan Next pada langkah 1 pengaturan Matomo.

Langkah 1

Pada langkah 2, adalah pengecekan konfigurasi sistem. Jika semuanya sudah memiliki tanda centang, maka konfigurasi sudah benar dan bisa dilanjutkan ke langkah selanjutnya. Tekan tombol Next.

Langkah 2

Pada langkah 3, isilah detil login database yang sudah diatur sebelumnya pada waktu pembuatan database. Klik Next untuk melanjutkan.

Langkah 3

Pada langkah 4 ini, apabila detil login database sudah benar, maka akan muncul pesan

Tables created with success!

dan klik Next untuk lanjut ke langkah selanjutnya.

Langkah 4

Langkah 5 adalah membuat login Super User (admin) untuk Matomo. Isilah dengan login yang diinginkan, lanjutkan dengan menekan tombol Next.

Langkah 5

Langkah 6 adalah langkah awal untuk mulai melakukan tracking menggunakan Matomo. Masukkan detil website pertama yang mau di tracking, tekan Next untuk melanjutkan ke langkah selanjutnya.

Langkah 6

Langkah 7 menyediakan tracking code untuk disertakan pada website yang akan di-track dengan Matomo. Kode harus ditempelkan sebelum tag </head> pada halaman website.

Langkah 7

Pada langkah 8 adalah langkah terakhir untuk proses pengaturan Matomo, selanjutnya tekan tombol Continue to Matomo untuk segera masuk ke dashboard Matomo.

Langkah 8

Selamat, proses instalasi Matomo selesai.

Homepage Matomo


Tautan berguna

Top comments (0)