GNU/Linux >> Belajar Linux >  >> Cent OS

Cara Menginstal Matomo Web Analytics di CentOS 7

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 CentOS 7 menggunakan Nginx sebagai server web dan kami akan mengamankan situs web dengan sertifikat SSL Let's Encrypt.

Persyaratan

Untuk menjalankan Matomo (Piwik) di sistem CentOS 7, 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 CentOS 7.
  • Pengguna non-root dengan hak istimewa sudo.

Langkah awal

Periksa versi CentOS Anda:

cat /etc/centos-release

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 yum update -y

Instal beberapa paket penting yang diperlukan untuk administrasi dasar sistem operasi CentOS:

sudo yum install -y curl wget vim git unzip socat epel-release

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.

Buat repositori MariaDB 10.2 YUM untuk CentOS:

sudo vim /etc/yum.repos.d/MariaDB.repo

Salin dan tempel teks berikut ke dalamnya:

# MariaDB 10.2 CentOS repository list - created 2017-12-11 23:19 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name=MariaDB
baseurl=https://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

Setelah file berada di tempatnya, instal MariaDB dengan menjalankan:

sudo yum install -y MariaDB-server MariaDB-client

Periksa versi MariaDB:

mysql --version
# mysql  Ver 15.1 Distrib 10.2.21-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:

Enter current password for root (enter for none): Press Enter
Set root password? [Y/n] Y
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 MariaDB shell sebagai pengguna root:

sudo mysql -u root -p
# Enter password

Buat database MariaDB dan pengguna kosong untuk Matomo dan ingat kredensialnya:

MariaDB [(none)]> CREATE DATABASE dbname;
MariaDB [(none)]> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
MariaDB [(none)]> FLUSH PRIVILEGES;

Keluar dari MariaDB:

MariaDB [(none)]> exit

Ganti dbnameusername dan password dengan nama Anda sendiri.

Langkah 2 - Instal PHP dan ekstensi PHP yang diperlukan

Siapkan repo Webtatic YUM:

sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Instal PHP, serta ekstensi PHP yang diperlukan:

sudo yum install -y php72w php72w-cli php72w-fpm php72w-common php72w-curl php72w-gd php72w-xml php72w-mbstring php72w-mysqlnd php72w-json

Untuk menampilkan PHP yang dikompilasi dalam modul, Anda dapat menjalankan:

php -m

ctype
curl
exif
fileinfo
. . .
. . .

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 CentOS:

sudo yum install -y nginx

Periksa versi Nginx:

sudo nginx -v

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 127.0.0.1:9000;
}

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 127.0.0.1:9000;
}

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;
}

}

CATATANUntuk 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.

  • https://matomo.org/
  • https://github.com/matomo-org/matomo
  • https://github.com/matomo-org/matomo-nginx

Cent OS
  1. Cara Instal Apache Web Server di CentOS 7

  2. Cara Menginstal Matomo Web Analytics di Ubuntu 20.04

  3. Cara Memasang Konsol Web Cockpit di CentOS/RHEL 8

  1. Cara Menginstal MariaDB di CentOS 7

  2. Cara Menginstal Vagrant di CentOS 7

  3. Cara Menginstal Gitea di CentOS 8

  1. Cara Menginstal Memcached di CentOS 8

  2. Cara Menginstal Nginx di CentOS 7

  3. Cara Menginstal Apache di CentOS 7