Matomo (sebelumnya Piwik) adalah aplikasi analisis web gratis dan open source yang dikembangkan oleh tim developer internasional, yang berjalan di server web PHP/MySQL. Ini melacak kunjungan online ke satu atau beberapa situs web dan menampilkan laporan tentang kunjungan ini untuk analisis. Anda dapat menganggapnya sebagai alternatif untuk Google Analytics. Matomo adalah open source dan kodenya tersedia untuk umum di Github. Beberapa fitur yang dimilikinya adalah: A/B Testing, Heatmaps, Funnels, Tracking and Reporting API, Google AdWords, Facebook Ads, Bing Ads, Cost Per Click (CPC), dll. Tutorial ini akan menunjukkan cara menginstal Matomo di sistem Fedora 29 menggunakan Nginx sebagai server web dan kami akan mengamankan situs web dengan sertifikat SSL Let's Encrypt.
Persyaratan
Untuk menjalankan Matomo (Piwik) di sistem Fedora 29, Anda memerlukan beberapa hal:
- Server web seperti Apache, Nginx, IIS.
- PHP versi 5.5.9 atau lebih tinggi dengan ekstensi pdo dan pdo_mysql atau mysqli, gd, xml, curl, dan mbsting. PHP 7+ direkomendasikan.
- MySQL versi 5.5 atau lebih tinggi, atau versi MariaDB yang setara. MySQL 5.7+ direkomendasikan.
Prasyarat
- Sistem operasi yang menjalankan Fedora 29.
- Pengguna non-root dengan hak istimewa sudo.
Langkah awal
Periksa versi Fedora Anda:
cat /etc/fedora-release
# Fedora release 29 (Twenty Nine)
Siapkan zona waktu:
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
Perbarui paket sistem operasi Anda (perangkat lunak). Ini adalah langkah pertama yang penting karena memastikan Anda memiliki pembaruan dan perbaikan keamanan terbaru untuk paket perangkat lunak default sistem operasi Anda:
sudo dnf check-update; sudo dnf update -y
Instal beberapa paket penting yang diperlukan untuk administrasi dasar sistem operasi Fedora:
sudo dnf install -y curl wget vim git unzip socat
Langkah 1 - Instal MariaDB dan buat database untuk Matomo
Matomo mendukung database MySQL dan MariaDB. Dalam tutorial ini, kita akan menggunakan MariaDB sebagai server database.
Instal server database MariaDB:
sudo dnf install -y mariadb-server
Periksa versi MariaDB:
mysql --version
# mysql Ver 15.1 Distrib 10.3.11-MariaDB, for Linux (x86_64) using readline 5.1
Mulai dan aktifkan layanan MariaDB:
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
Jalankan mysql_secure installation
skrip untuk meningkatkan keamanan MariaDB dan menyetel sandi untuk MariaDB root
pengguna:
sudo mysql_secure_installation
Jawab setiap pertanyaan:
Would you like to setup VALIDATE PASSWORD plugin? N
New password: your_secure_password
Re-enter new password: your_secure_password
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
Hubungkan ke Shell MariaDB sebagai pengguna root:
sudo mysql -u root -p
# Enter password
Buat database dan pengguna MariaDB kosong untuk Matomo dan ingat kredensialnya:
MariaDB> CREATE DATABASE dbname;
MariaDB> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
MariaDB> FLUSH PRIVILEGES;
Keluar dari MariaDB:
mysql> exit
Ganti dbname
, username
dan password
dengan nama Anda sendiri.
Langkah 2 - Instal PHP dan ekstensi PHP yang diperlukan
Instal PHP, serta ekstensi PHP yang diperlukan:
sudo dnf install -y php php-cli php-fpm php-common php-curl php-gd php-xml php-mbstring php-mysqlnd php-json
Periksa versi PHP:
php --version
# PHP 7.2.14 (cli) (built: Jan 8 2019 09:59:17) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
Mulai dan aktifkan layanan PHP-FPM:
sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service
Kita dapat melanjutkan ke langkah berikutnya, yaitu mendapatkan sertifikat SSL gratis dari Let's Encrypt CA.
Langkah 3 - Instal acme.sh
klien dan dapatkan sertifikat Let's Encrypt (opsional )
Mengamankan situs web Anda dengan HTTPS tidak diperlukan, tetapi ini adalah praktik yang baik untuk mengamankan lalu lintas situs Anda. Untuk mendapatkan sertifikat TLS dari Let's Encrypt, kami akan menggunakan klien Acme.sh. Acme.sh adalah software shell UNIX murni untuk mendapatkan sertifikat TLS dari Let's Encrypt tanpa ketergantungan.
Unduh dan instal Acme.sh:
sudo mkdir /etc/letsencrypt
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail [email protected]
cd ~
Periksa versi Acme.sh :
/etc/letsencrypt/acme.sh --version
# v2.8.0
Dapatkan RSA dan ECC/ECDSA sertifikat untuk domain/hostname Anda:
# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --keylength 2048
# ECDSA
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --keylength ec-256
Setelah menjalankan perintah di atas, sertifikat your Anda dan kunci akan di:
- Untuk RSA :
/etc/letsencrypt/example.com
direktori. - Untuk ECC/ECDSA :
/etc/letsencrypt/example.com_ecc
direktori.
Langkah 3 - Instal NGINX dan konfigurasikan NGINX untuk Matomo
Matomo dapat bekerja dengan baik dengan banyak software server web populer. Dalam tutorial ini, kami memilih Nginx.
Download dan instal Nginx dari repositori Fedora:
sudo dnf install -y nginx
Periksa versi Nginx:
sudo nginx -v
# nginx version: nginx/1.14.1
Mulai dan aktifkan layanan Nginx:
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
Konfigurasikan Nginx untuk Matomo dengan menjalankan:
sudo vim /etc/nginx/conf.d/matomo.conf
Dan isi file dengan konfigurasi berikut:
server {
listen [::]:443 ssl http2;
listen 443 ssl http2;
listen [::]:80;
listen 80;
server_name example.com;
root /var/www/matomo/;
index index.php;
ssl_certificate /etc/letsencrypt/example.com/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/example.com/example.com.key;
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/example.com.key;
location ~ ^/(index|matomo|piwik|js/index).php {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
try_files $fastcgi_script_name =404;
set $path_info $fastcgi_path_info;
fastcgi_param PATH_INFO $path_info;
fastcgi_index index.php;
include fastcgi.conf;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param HTTP_PROXY "";
fastcgi_pass unix:/run/php-fpm/www.sock;
}
location = /plugins/HeatmapSessionRecording/configs.php {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
try_files $fastcgi_script_name =404;
set $path_info $fastcgi_path_info;
fastcgi_param PATH_INFO $path_info;
fastcgi_index index.php;
include fastcgi.conf;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param HTTP_PROXY "";
fastcgi_pass unix:/run/php-fpm/www.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;
}
}
CATATAN : Untuk konfigurasi Nginx yang lengkap dan siap produksi untuk Matomo, kunjungi https://github.com/matomo-org/matomo-nginx.
Periksa konfigurasi Nginx untuk kesalahan sintaks:
sudo nginx -t
Muat ulang layanan Nginx:
sudo systemctl reload nginx.service
Langkah 4 - Instal Matomo Analytics
Buat /var/www
direktori:
sudo mkdir -p /var/www/
Buka /var/www
direktori:
cd /var/www/
Unduh rilis terbaru Matomo melalui wget dan unzip:
sudo wget https://builds.matomo.org/matomo.zip && sudo unzip matomo.zip
Hapus hasil matomo.zip
berkas:
sudo rm matomo.zip
Ubah kepemilikan /var/www/matomo
direktori ke nginx
pengguna:
sudo chown -R nginx:nginx /var/www/matomo
Jalankan sudo vim /etc/php-fpm.d/www.conf
dan setel pengguna dan grup ke nginx
. Awalnya, ini akan disetel ke pengguna dan grup apache
.
sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx
Mulai ulang layanan PHP-FPM.
sudo systemctl restart php-fpm.service
Langkah 5 - Selesaikan penyiapan Matomo Analytics
Buka situs Anda di browser web dan ikuti wizard penginstalan web Matomo.
Pertama, pesan selamat datang Matomo akan muncul. Klik "Berikutnya" tombol:
Setelah itu, Anda akan melihat "Pemeriksaan Sistem" halaman. Jika ada sesuatu yang hilang, Anda akan melihat peringatan. Jika semuanya ditandai dengan tanda centang hijau, klik "Berikutnya" tombol untuk melanjutkan ke langkah berikutnya:
Selanjutnya, isi detail database dan klik "Berikutnya" tombol:
Jika semuanya berjalan lancar dengan penyiapan basis data, Anda akan melihat " Tabel dibuat dengan sukses!" pesan:
Buat akun pengguna super Matomo dan klik "Berikutnya" tombol:
Selanjutnya, siapkan situs web pertama yang ingin Anda lacak dan analisis dengan Matomo. Nanti, Anda dapat menambahkan lebih banyak situs untuk dilacak dengan Matomo:
Selanjutnya, Anda akan diberikan kode pelacakan JavaScript untuk situs Anda yang perlu Anda tambahkan untuk memulai pelacakan.
Selanjutnya, Anda akan melihat bahwa instalasi Matomo telah selesai.
Selamat! Instalasi Matomo Anda selesai.
Tautan
- https://matomo.org/
- https://github.com/matomo-org/matomo
- https://github.com/matomo-org/matomo-nginx