Как установить Matomo Web Analytics в Fedora 29
На этой странице
- Требования
- Предпосылки
- Начальные шаги
- Шаг 1. Установите MariaDB и создайте базу данных для Matomo
- Шаг 2. Установите PHP и необходимые расширения PHP
- Шаг 3. Установите клиент
acme.sh
и получите Let\>) - Шаг 3. Установите NGINX и настройте NGINX для Matomo
- Шаг 4. Установите Matomo Analytics
- Шаг 5. Завершите настройку Matomo Analytics
- Ссылки
Matomo (ранее Piwik) – это бесплатное приложение для веб-аналитики с открытым исходным кодом, разработанное командой международных разработчиков и работающее на веб-сервере PHP/MySQL. Он отслеживает онлайн-посещения одного или нескольких веб-сайтов и отображает отчеты об этих посещениях для анализа. Вы можете думать об этом как об альтернативе Google Analytics. У Matomo открытый исходный код, и его код общедоступен на Github. Вот некоторые из его функций: A/B-тестирование, тепловые карты, воронки, API отслеживания и отчетности, Google AdWords, реклама в Facebook, реклама Bing, цена за клик (CPC) и т. д. В этом руководстве показано, как установить Matomo на система Fedora 29, использующая Nginx в качестве веб-сервера, и мы защитим веб-сайт с помощью SSL-сертификата Lets Encrypt.
Требования
Чтобы запустить Matomo (Piwik) в вашей системе Fedora 29, вам понадобится несколько вещей:
- Веб-сервер, такой как Apache, Nginx, IIS.
- PHP версии 5.5.9 или выше с расширениями pdo и pdo_mysql или mysqli, gd, xml, curl и mbsting. Рекомендуется PHP 7+.
- MySQL версии 5.5 или выше или эквивалентная версия MariaDB. Рекомендуется MySQL 5.7+.
Предпосылки
- Операционная система под управлением Fedora 29.
- Пользователь без полномочий root с привилегиями sudo.
Начальные шаги
Проверьте свою версию Fedora:
cat /etc/fedora-release
# Fedora release 29 (Twenty Nine)
Настройте часовой пояс:
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
Обновите пакеты операционной системы (программное обеспечение). Это важный первый шаг, поскольку он гарантирует наличие последних обновлений и исправлений безопасности для пакетов программного обеспечения вашей операционной системы по умолчанию:
sudo dnf check-update; sudo dnf update -y
Установите несколько основных пакетов, необходимых для базового администрирования операционной системы Fedora:
sudo dnf install -y curl wget vim git unzip socat
Шаг 1. Установите MariaDB и создайте базу данных для Matomo.
Matomo поддерживает базы данных MySQL и MariaDB. В этом руководстве мы будем использовать MariaDB в качестве сервера базы данных.
Установите сервер базы данных MariaDB:
sudo dnf install -y mariadb-server
Проверьте версию MariaDB:
mysql --version
# mysql Ver 15.1 Distrib 10.3.11-MariaDB, for Linux (x86_64) using readline 5.1
Запустите и включите службу MariaDB:
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
Запустите скрипт mysql_secure install
, чтобы улучшить безопасность MariaDB, и установите пароль для пользователя root
MariaDB:
sudo mysql_secure_installation
Ответьте на каждый из вопросов:
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
Подключитесь к оболочке MariaDB как пользователь root:
sudo mysql -u root -p
# Enter password
Создайте пустую базу данных MariaDB и пользователя для Matomo и запомните учетные данные:
MariaDB> CREATE DATABASE dbname;
MariaDB> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
MariaDB> FLUSH PRIVILEGES;
Выход из MariaDB:
mysql> exit
Замените имя_базы_данных
, имя_пользователя
и пароль
своими именами.
Шаг 2 - Установите PHP и необходимые расширения PHP
Установите PHP, а также необходимые расширения PHP:
sudo dnf install -y php php-cli php-fpm php-common php-curl php-gd php-xml php-mbstring php-mysqlnd php-json
Проверьте версию 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
Запустите и включите службу PHP-FPM:
sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service
Мы можем перейти к следующему шагу — получению бесплатных сертификатов SSL от Lets Encrypt CA.
Шаг 3. Установите клиент acme.sh и получите сертификат Lets Encrypt (необязательно)
Защита вашего веб-сайта с помощью HTTPS не является обязательной, но это хорошая практика для защиты трафика вашего сайта. Чтобы получить сертификат TLS от Lets Encrypt, мы будем использовать клиент Acme.sh. Acme.sh — это чистое программное обеспечение оболочки UNIX для получения сертификатов TLS от Lets Encrypt без каких-либо зависимостей.
Загрузите и установите 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
cd ~
Проверьте версию Acme.sh:
/etc/letsencrypt/acme.sh --version
# v2.8.0
Получите сертификаты RSA и ECC/ECDSA для своего домена/имени хоста:<br>
# 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
После выполнения приведенных выше команд ваши сертификаты и ключи будут находиться в:
- Для RSA:
/etc/letsencrypt/example.com
каталог. - Для ECC/ECDSA:
/etc/letsencrypt/example.com_ecc
каталог.
Шаг 3. Установите NGINX и настройте NGINX для Matomo.
Matomo может нормально работать со многими популярными программами для веб-серверов. В этом уроке мы выбрали Nginx.
Загрузите и установите Nginx из репозитория Fedora:
sudo dnf install -y nginx
Проверьте версию Nginx:
sudo nginx -v
# nginx version: nginx/1.14.1
Запустите и включите службу Nginx:
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
Настройте Nginx для Matomo, выполнив:
sudo vim /etc/nginx/conf.d/matomo.conf
И заполните файл следующей конфигурацией:
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;
}
}
ПРИМЕЧАНИЕ. Полную и готовую к работе конфигурацию Nginx для Matomo можно найти на https://github.com/matomo-org/matomo-nginx.
Проверьте конфигурацию Nginx на наличие синтаксических ошибок:
sudo nginx -t
Перезагрузите сервис Nginx:
sudo systemctl reload nginx.service
Шаг 4 — Установите Matomo Analytics
Создайте каталог /var/www
:
sudo mkdir -p /var/www/
Перейдите в каталог /var/www
:
cd /var/www/
Загрузите последнюю версию Matomo через wget и разархивируйте ее:
sudo wget https://builds.matomo.org/matomo.zip && sudo unzip matomo.zip
Удалите загруженный файл matomo.zip
:
sudo rm matomo.zip
Измените владельца каталога /var/www/matomo
на nginx
user:
sudo chown -R nginx:nginx /var/www/matomo
Запустите sudo vim /etc/php-fpm.d/www.conf
и установите для пользователя и группы значение nginx
. Первоначально он будет установлен для пользователя и группы apache
.
sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx
Перезапустите службу PHP-FPM.
sudo systemctl restart php-fpm.service
Шаг 5. Завершите настройку Matomo Analytics.
Откройте свой сайт в веб-браузере и следуйте указаниям мастера веб-установки Matomo.
Сначала должно появиться приветственное сообщение Matomo. Нажмите кнопку \Далее\:
После этого вы увидите страницу \Проверка системы\. Если чего-то не хватает, вы увидите предупреждение. Если все отмечено зеленой галочкой, нажмите кнопку \Далее\, чтобы перейти к следующему шагу:
Затем заполните данные базы данных и нажмите кнопку \Далее\:
Если все прошло успешно с настройкой базы данных, вы должны увидеть сообщение \Таблицы успешно созданы!\:
Создайте учетную запись суперпользователя Matomo и нажмите кнопку \Далее\:
Затем настройте первый веб-сайт, который вы хотите отслеживать и анализировать с помощью Matomo. Позже вы можете добавить больше сайтов для отслеживания с помощью Matomo:
Далее вам будет предоставлен код отслеживания JavaScript для вашего сайта, который необходимо добавить, чтобы начать отслеживание.
Далее вы должны увидеть, что установка Matomo завершена.
Поздравляем! Ваша установка Matomo завершена.
Ссылки
- https://matomo.org/
- https://github.com/matomo-org/matomo-nginx