GNU/Linux >> Belajar Linux >  >> Ubuntu

Instal Matomo Web Analytics (Piwik) di Ubuntu 18.04 dengan Apache/Nginx

Tutorial ini akan menunjukkan cara menginstal Matomo web analytics (sebelumnya dikenal sebagai Piwik) di Ubuntu 18.04 dengan server web Apache atau Nginx. Matomo adalah alternatif sumber terbuka untuk analisis Google, yang merupakan perangkat lunak analisis web yang paling banyak digunakan.

Apa itu Analisis Web?

Perangkat lunak analisis web digunakan oleh situs web untuk mengetahui berapa banyak pengunjung di situs dalam sehari/minggu/bulan, browser web apa yang mereka gunakan, dll. Ini adalah perangkat lunak penting untuk membantu mengembangkan situs web mereka. Analisis Google sangat bagus, tetapi data pengunjung situs web disimpan di server Google. Jika Anda tidak ingin membagikan data pengunjung situs web Anda ke pihak ketiga, Anda dapat menjalankan analisis web Anda sendiri. Mereka adalah banyak alternatif yang dihosting sendiri untuk analisis Google dan Matomo adalah salah satu yang hebat.

Fitur Matomo

Edisi Matomo yang dihosting sendiri (berlisensi GPL v3+) open-source (berlisensi GPL v3+) dapat menampilkan laporan berikut.

  • Kata kunci dan mesin telusur teratas, situs web, situs web media sosial.
  • URL halaman teratas, judul halaman, negara pengguna, penyedia, sistem operasi, pangsa pasar browser, resolusi layar, desktop VS seluler.
  • Keterlibatan (waktu di situs, halaman per kunjungan, kunjungan berulang).
  • Kampanye teratas, variabel khusus, halaman masuk/keluar teratas, file yang diunduh, dan banyak lagi.
  • Diklasifikasikan ke dalam empat kategori laporan analitik utama – Pengunjung, Tindakan, Perujuk, Sasaran/E-niaga (30+ laporan).
  • Statistik laporan Email.
  • Analisis log server web.
  • Lacak pengunjung yang menonaktifkan JavaScript.
  • Alat untuk mematuhi GDPR (seperti izin cookie)
  • Instal plugin gratis atau premium untuk memperluas dan memperluas fungsionalitas Matomo.
  • Dan banyak lagi.

Untuk daftar fitur lengkap, silakan periksa halaman fitur Matomo. Saya sangat menyukai fakta bahwa Matomo dapat membuat daftar semua halaman web saya berdasarkan tampilan halaman dan menunjukkan rasio pentalan dan rasio keluar untuk setiap halaman web. Dan juga peta pengunjung waktu nyata.

Peta Pengunjung Waktu Nyata Matomo

Manfaat Matomo yang dihosting sendiri

  • Kontrol data sepenuhnya. Data disimpan hanya di server Anda dan Anda dapat memilih negara mana server tersebut berada.
  • Tidak ada batasan data. Anda dapat menyimpan data sebanyak yang dapat ditampung oleh server Anda.
  • Sepenuhnya dapat disesuaikan dan diperluas.
  • Firefox mulai memblokir cookie pelacakan lintas situs, termasuk analitik Google. Dengan menghosting perangkat lunak analitik di bawah nama domain Anda sendiri, cookie pelacakan Anda tidak akan diblokir.

Matomo yang dihosting di awan memiliki fitur tambahan, tetapi Anda dapat menginstal plugin premium pada instans yang dihosting sendiri untuk mendapatkan fungsi yang sama.

Prasyarat Instalasi Matomo Web Analytics (Piwik) di Ubuntu 18.04

Untuk mengikuti tutorial ini, Anda memerlukan nama domain dan server. Saya mendaftarkan nama domain saya di NameCheap karena harganya rendah dan mereka memberikan perlindungan privasi whois gratis seumur hidup. Server dengan RAM 512MB sudah cukup untuk menjalankan Matomo dan berikut adalah penyedia hosting yang saya rekomendasikan. Saya telah menggunakan semuanya.

  • Vultr (Mulai dari $2,5/bulan. Diperlukan kartu kredit)
  • DigitalOcean (Mulai dari $5/bulan. Tidak diperlukan kartu kredit. Anda dapat menggunakan Paypal).

Setelah Anda memiliki server, instal Ubuntu di server tersebut dan ikuti petunjuk di bawah ini.

Matomo ditulis dalam PHP dan menggunakan database MySQL/MariaDB. Untuk mengikuti tutorial ini, diasumsikan bahwa Anda telah menyiapkan LAMP atau LEMP stack di Ubuntu 18.04. Jika tidak, silakan lihat salah satu tutorial berikut:

  • Cara menginstal LAMP stack di server Ubuntu 18.04
  • Cara menginstal LEMP stack di server Ubuntu 18.04

Setelah Anda selesai menyiapkan tumpukan LAMP atau LEMP, kembali ke sini dan baca terus.

Langkah 1:Unduh Matomo di Ubuntu 18.04

Masuk ke server Anda melalui SSH. Anda selalu dapat menggunakan perintah berikut untuk mengunduh Matomo versi terbaru di server Anda. Pada saat penulisan ini, versi terbaru jika Matomo 3.7, yang hadir dengan fitur baru – tag manager. Ini adalah salah satu pencapaian terbesar bagi Matomo dalam beberapa tahun terakhir.

wget https://builds.matomo.org/matomo-latest.zip

Setelah diunduh, ekstrak arsip dengan unzip .

sudo apt install unzip

sudo unzip matomo-latest.zip -d /var/www/

-d opsi menentukan direktori target. File web Matomo akan diekstrak ke /var/www/matomo/ . Kemudian kita perlu mengubah pemilik direktori ini menjadi www-data sehingga server web (Nginx) dapat menulis ke direktori ini.

sudo chown www-data:www-data /var/www/matomo/ -R

Langkah 2:Buat Database dan Pengguna di MariaDB

Masuk ke server database MariaDB dengan perintah berikut. Karena MariaDB sekarang menggunakan unix_socket plugin untuk otentikasi login pengguna, tidak perlu memasukkan kata sandi root MariaDB. Kita hanya perlu mengawali mysql perintah dengan sudo .

sudo mysql

Atau, Anda juga dapat menggunakan perintah ini untuk login.

sudo mariadb

Kemudian buat database untuk Matomo. Tutorial ini beri nama database matomo . Anda dapat menggunakan nama apa pun yang Anda suka.

create database matomo;

Buat pengguna basis data. Sekali lagi, Anda dapat menggunakan nama pilihan Anda untuk pengguna ini. Ganti your-password dengan kata sandi pilihan Anda.

create user matomouser@localhost identified by 'your-password';

Berikan pengguna ini semua hak istimewa di matomo basis data.

grant all privileges on matomo.* to matomouser@localhost identified by 'your-password';

Hapus hak istimewa dan keluar.

flush privileges;

exit;

Langkah 3:Buat File Konfigurasi Apache atau Nginx

Apache

Jika Anda lebih suka menggunakan server web Apache, buat file konfigurasi host virtual di /etc/apache2/sites-available/ direktori.

sudo nano /etc/apache2/sites-available/matomo.conf

Masukkan teks berikut ke dalam file. Ganti teks berwarna merah dengan data Anda yang sebenarnya. Jangan lupa untuk menetapkan A record untuk nama domain.

<VirtualHost *:80>
        ServerAdmin [email protected]
        ServerName analytics.example.com
        DocumentRoot /var/www/matomo/

        <Directory /var/www/matomo>
           DirectoryIndex index.php
           Options FollowSymLinks
           AllowOverride All
           Require all granted
        </Directory>

        <Files "console">
           Options None
           Require all denied
        </Files>

        <Directory /var/www/matomo/misc/user>
           Options None
           Require all granted
        </Directory>

        <Directory /var/www/matomo/misc>
           Options None
           Require all denied
        </Directory>

        <Directory /var/www/matomo/vendor>
           Options None
           Require all denied
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/matomo_error.log
        CustomLog ${APACHE_LOG_DIR}/matomo_access.log combined

</VirtualHost>

Simpan dan tutup file. Kemudian aktifkan host virtual ini.

sudo a2ensite matomo.conf

Muat ulang server web Apache agar perubahan diterapkan.

sudo systemctl reload apache2

Nginx

Jika Anda lebih suka menggunakan server web Nginx, buat matomo.conf file di /etc/nginx/conf.d/ direktori.

sudo nano /etc/nginx/conf.d/matomo.conf

Masukkan teks berikut ke dalam file. Ganti teks berwarna merah dengan data Anda yang sebenarnya. Jangan lupa untuk menetapkan A record untuk nama domain.

server {
    listen [::]:80; # remove this if you don't want Matomo to be reachable from IPv6
    listen 80;
    server_name analytics.example.com;

    access_log /var/log/nginx/matomo.access.log;
    error_log /var/log/nginx/matomo.error.log;

    root /var/www/matomo/; 
    
    index index.php;
        
    ## only allow accessing the following php files
    location ~ ^/(index|matomo|piwik|js/index).php {
        include snippets/fastcgi-php.conf;
        fastcgi_param HTTP_PROXY ""; # prohibit httpoxy: https://httpoxy.org/
        fastcgi_pass unix:/run/php/php7.2-fpm.sock; 
    }
    
    ## needed for HeatmapSessionRecording plugin
    location = /plugins/HeatmapSessionRecording/configs.php { 
        include snippets/fastcgi-php.conf;
        fastcgi_param HTTP_PROXY "";
        fastcgi_pass unix:/run/php/php7.2-fpm.sock; 
    }
    
    ## deny access to all other .php files
    location ~* ^.+\.php$ {
        deny all;
        return 403;
    }

    ## serve all other files normally 
    location / {
        try_files $uri $uri/ =404;
    }
    
    ## disable all access to the following directories 
    location ~ /(config|tmp|core|lang) {
        deny all;
        return 403; # replace with 404 to not show these directories exist
    }
    location ~ /\.ht {
        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;
        ## Cache images,CSS,JS and webfonts for an hour
        ## Increasing the duration may improve the load-time, but may cause old files to show after an Matomo upgrade
        expires 1h;
        add_header Pragma public;
        add_header Cache-Control "public";
    }

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

    ## properly display textfiles in root directory
    location ~/(.*\.md|LEGALNOTICE|LICENSE) {
        default_type text/plain;
    }
}

Simpan dan tutup file. Uji konfigurasi Nginx, lalu muat ulang Nginx agar perubahan diterapkan.

sudo nginx -t

sudo systemctl reload nginx

Langkah 4:Instal dan Aktifkan Modul PHP

Jalankan perintah berikut untuk menginstal modul PHP yang diperlukan atau direkomendasikan oleh Matomo.

sudo apt install php-imagick php7.2-mysql php7.2-fpm php7.2-common php7.2-gd php7.2-json php7.2-curl  php7.2-zip php7.2-xml php7.2-mbstring php7.2-bz2 php7.2-intl

Jika Anda menggunakan server web Apache, Anda perlu memuat ulang untuk menjalankannya dengan modul PHP ini.

sudo systemctl reload apache2

Pengguna Nginx tidak perlu memuat ulang.

Sekarang Anda seharusnya dapat mengunjungi wizard pemasangan berbasis web Matomo di http://analytics.example.com , tetapi sebelum memasukkan informasi apa pun, mari aktifkan HTTPS.

Langkah 5:Aktifkan HTTPS

Untuk mengenkripsi lalu lintas HTTP saat Anda mengunjungi antarmuka web Matomo, kami dapat mengaktifkan HTTPS dengan memasang sertifikat TLS gratis yang dikeluarkan dari Let's Encrypt. Jalankan perintah berikut untuk menginstal klien Let's Encrypt (certbot) di Ubuntu 18.04.

sudo apt install software-properties-common
sudo add-apt-repository ppa:certbot/certbot
sudo apt update
sudo apt install certbot

Jika Anda menggunakan Nginx, Anda juga perlu menginstal plugin Certbot Nginx.

sudo apt install python3-certbot-nginx

Kemudian jalankan perintah berikut untuk mendapatkan dan menginstal sertifikat TLS.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d analytics.example.com

Jika Anda menggunakan Apache, Anda juga perlu menginstal plugin Certbot Apache.

sudo apt install python3-certbot-apache

Kemudian jalankan perintah ini untuk mendapatkan dan menginstal sertifikat TLS.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d analytics.example.com

Penjelasan:

  • --nginx :Gunakan plugin nginx.
  • --apache :Gunakan plugin Apache.
  • --agree-tos :Menyetujui persyaratan layanan.
  • --redirect :Memaksa HTTPS dengan pengalihan 301.
  • --hsts : Tambahkan header Strict-Transport-Security ke setiap respons HTTP. Memaksa browser untuk selalu menggunakan TLS untuk domain. Mempertahankan dari SSL/TLS Stripping.
  • --staple-ocsp : Mengaktifkan Stapel OCSP. Respons OCSP yang valid ditempelkan ke sertifikat yang ditawarkan server selama TLS.

Sertifikat sekarang harus diperoleh dan diinstal secara otomatis.

Langkah 6:Selesaikan Instalasi di Browser Web Anda

Buka https://analytics.example.com untuk meluncurkan wizard penginstalan berbasis web. Kemudian klik Next tombol.

Ini akan memeriksa apakah sistem Anda memenuhi persyaratan seperti ekstensi PHP. Jika semua persyaratan sudah terpenuhi, maka klik Next .

Pada langkah selanjutnya, masukkan nama pengguna MariaDB, kata sandi dan nama database yang Anda buat sebelumnya. Anda dapat menggunakan nilai default di bidang lain.

Setelah mengklik Next, wizard penginstalan akan secara otomatis membuat beberapa tabel di database. Klik Next untuk melanjutkan.

Di layar berikutnya, buat pengguna admin untuk antarmuka web Matomo.

Setelah membuat pengguna admin, Anda perlu menambahkan situs web untuk mengumpulkan data analitik.

Kemudian Anda perlu menambahkan kode pelacakan JavaScript ke situs web Anda.

Setelah itu selesai. Klik tombol Next dan instalasi Matomo Anda selesai. Sekarang Anda dapat masuk ke dasbor Matomo dan melihat data pengunjung.

Menyiapkan Pekerjaan Cron untuk Situs Web dengan Traffic Sedang dan Tinggi

Jika situs web Anda memiliki ribuan tampilan halaman per hari, Anda perlu menyiapkan tugas cron untuk mengarsipkan laporan Matomo secara otomatis. Buat file pekerjaan Cron dengan perintah berikut.

sudo nano /etc/cron.d/matomo-archive

Kemudian tambahkan baris berikut ke file.

MAILTO="[email protected]"
5 * * * * www-data /usr/bin/php /var/www/matomo/console core:archive --url=https://analytics.example.com > /dev/null

Output standar akan dikirim ke /dev/null dan kesalahan standar akan dikirim ke alamat email Anda. Simpan dan tutup file. Pekerjaan Cron ini akan berjalan setiap jam pada 5 menit yang lalu.

Cara Mengatur Notifikasi Email

Jika ada lebih dari satu pengguna, maka ada baiknya Matomo bisa mengirimkan email notifikasi seperti email reset password. Untuk cara setting email server silahkan simak tutorial berikut ini. Catatan bahwa saya sangat merekomendasikan menjalankan server email iRedMail pada OS bersih yang baru. Menginstal iRedMail pada OS yang memiliki aplikasi web lain dapat gagal, dan kemungkinan merusak aplikasi yang ada.

  • Cara mudah menyiapkan server email berfitur lengkap di Ubuntu 18.04 dengan iRedMail

Jika Anda tidak ingin menjalankan server email Anda sendiri, Anda dapat mengatur relai SMTP. Silakan lihat tutorial berikut.

  • Cara menyiapkan relai SMTP Postfix di server Ubuntu 18.04

Cara Mengatur Geolokasi Akurat dengan GeoIP

Secara default, Matomo menebak lokasi pengunjung berdasarkan bahasa yang mereka gunakan. Ini tidak akurat. Misalnya, banyak pengunjung non-AS memilih En-US sebagai bahasa default untuk OS mereka, sehingga akan ada lebih banyak “pengunjung AS” dalam laporan Matomo.

Untuk mendapatkan geolokasi yang lebih baik, klik ikon roda gigi (Administrasi) di Matomo, buka System -> Geolocation . Kemudian unduh database Maxmind GeoIP terbaru ke server Anda.

wget https://geolite.maxmind.com/download/geoip/database/GeoLite2-City.tar.gz

Ekstrak tarballnya.

tar xvf GeoLite2-City.tar.gz

Tarball akan diekstrak ke direktori bernama seperti ini GeoLite2-City_20190226 . Kemudian pindahkan file GeoLite2-City.mmdb ke /var/www/matomo/misc/ direktori.

sudo mv GeoLite2-City_20190226/GeoLite2-City.mmdb /var/www/matomo/misc/

Sekarang muat ulang halaman pengaturan Geolokasi Matomo. Pilih penyedia lokasi kedua:GeoIP 2 (Php)

Klik tombol Simpan untuk menyimpan pengaturan Anda. Di bagian bawah halaman ini, Anda juga dapat memasukkan URL Unduhan agar Matomo dapat memperbarui database GeoIP secara otomatis.

Hal Lain yang Dapat Dilakukan

  • Berlangganan feed RSS changelog Matomo untuk mendapatkan notifikasi saat versi baru keluar.
  • Periksa tips keamanan Matomo.
  • Baca tips penyetelan performa Matomo.

Itu dia! Saya harap tutorial ini membantu Anda menginstal Matomo di server Ubuntu 18.04 dengan Apache atau Nginx. Seperti biasa, jika menurut Anda postingan ini bermanfaat, berlangganan newsletter gratis kami untuk mendapatkan lebih banyak tips dan trik. Hati-hati


Ubuntu
  1. Instal server web Apache di Ubuntu 12.10

  2. Cara Menginstal Matomo Web Analytics di Ubuntu 20.04

  3. Instal phpMyAdmin di Ubuntu 20.04 dengan Nginx

  1. Cara Menginstal Server Web Nginx di Ubuntu 18.04

  2. Cara Instal Jenkins Automation Server dengan Apache di Ubuntu 16.04

  3. Cara Instal Caddy Web Server dengan PHP-FPM di Ubuntu 16.04

  1. Cara Menginstal Piwik dengan Nginx di Ubuntu 15.10

  2. Cara Menginstal Matomo Web Analytics di Ubuntu 20.04

  3. Cara Menginstal FileRun di Ubuntu 20.04 dengan Apache/Nginx