Поиск по сайту:

Как установить Matomo Web Analytics с Nginx на FreeBSD 12.0


На этой странице

  1. Требования
  2. Предпосылки
  3. Начальные шаги
  4. Шаг 1. Установите MySQL и создайте базу данных для Matomo.
  5. Шаг 2. Установите PHP и необходимые расширения PHP
  6. Шаг 3. Установите клиент acme.sh и получите Let\>)
  7. Шаг 3. Установите NGINX и настройте NGINX для Matomo
  8. Шаг 4. Установите Matomo Analytics
  9. Шаг 5. Завершите настройку Matomo Analytics
  10. Ссылки

Matomo (ранее Piwik) – это бесплатное приложение для веб-аналитики с открытым исходным кодом, разработанное командой международных разработчиков и работающее на веб-сервере PHP/MySQL. Он отслеживает онлайн-посещения одного или нескольких веб-сайтов и отображает отчеты об этих посещениях для анализа. Вы можете думать об этом как об альтернативе Google Analytics. Matomo — это продукт с открытым исходным кодом, и его код общедоступен на Github. Вот некоторые из его функций: A/B-тестирование, тепловые карты, воронки, API отслеживания и отчетности, Google AdWords, реклама в Facebook, реклама Bing, цена за клик (CPC) и т. д. В этом руководстве показано, как установить Matomo на система FreeBSD 12.0, использующая Nginx в качестве веб-сервера, и мы защитим веб-сайт с помощью SSL-сертификата Lets Encrypt.

Требования

Чтобы запустить Matomo (Piwik) в системе FreeBSD 12.0, вам потребуется несколько вещей:

  • Веб-сервер, например Apache, Nginx, IIS.
  • PHP версии 5.5.9 или выше с расширениями pdo и pdo_mysql или mysqli, gd, xml, curl и mbsting. Рекомендуется PHP 7+.
  • MySQL версии 5.5 или выше или эквивалентная версия MariaDB. Рекомендуется MySQL 5.7+.

Предпосылки

  • Операционная система под управлением FreeBSD 12.0.
  • Пользователь без полномочий root с привилегиями sudo.

Начальные шаги

Проверьте свою версию FreeBSD:

uname -ro
# FreeBSD 12.0-RELEASE

Настройте часовой пояс:

tzsetup

Обновите пакеты операционной системы (программное обеспечение). Это важный первый шаг, поскольку он гарантирует наличие последних обновлений и исправлений безопасности для пакетов программного обеспечения вашей операционной системы по умолчанию:

freebsd-update fetch install
pkg update && pkg upgrade -y

Установите несколько основных пакетов, необходимых для базового администрирования операционной системы FreeBSD 12.0:

pkg install -y sudo vim unzip wget bash

Шаг 1. Установите MySQL и создайте базу данных для Matomo.

Matomo поддерживает базы данных MySQL и MariaDB. В этом руководстве мы будем использовать MySQL в качестве сервера базы данных.

Установите сервер базы данных MySQL:

sudo pkg install -y mysql57-server

Проверьте версию MySQL:

mysql --version
# mysql  Ver 14.14 Distrib 5.7.26, for FreeBSD12.0 (amd64) using  EditLine wrapper

Включите и запустите службу MySQL:

sudo sysrc mysql_enable="yes"
sudo service mysql-server start

Запустите скрипт установки mysql_secure, чтобы повысить безопасность MySQL, и установите пароль для пользователя MySQL root:

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

Подключитесь к оболочке MySQL как пользователь root:

sudo mysql -u root -p
# Enter password

Создайте пустую базу данных MySQL и пользователя для Matomo и запомните учетные данные:

CREATE DATABASE dbname;
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

Выход из MySQL:

exit

Замените dbname, username и password своими именами.

Шаг 2 - Установите PHP и необходимые расширения PHP

Установите PHP, а также необходимые расширения PHP:

sudo pkg install -y php73 php73-ctype php73-curl php73-dom php73-hash php73-iconv php73-gd php73-json php73-mbstring php73-openssl php73-session php73-simplexml php73-xml php73-zip php73-zlib php73-pdo php73-pdo_mysql php73-mysqli php73-filter php73-ftp php73-tokenizer php73-calendar php73-pecl-APCu php73-opcache

Проверьте версию PHP:

php --version

# PHP 7.3.7 (cli) (built: Jul 25 2019 01:28:53) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.3.7, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.3.7, Copyright (c) 1999-2018, by Zend Technologies

Включите и запустите службу PHP-FPM:

sudo sysrc php_fpm_enable=yes
sudo service php-fpm start

Мы можем перейти к следующему шагу — получению бесплатных сертификатов SSL от Lets Encrypt CA.

Шаг 3. Установите клиент acme.sh и получите сертификат Lets Encrypt (необязательно)

Защита вашего веб-сайта с помощью HTTPS не является обязательной, но это хорошая практика для защиты трафика вашего сайта. Чтобы получить сертификат TLS от Lets Encrypt, мы будем использовать клиент Acme.sh. Acme.sh — это чистое программное обеспечение оболочки UNIX для получения сертификатов TLS от Lets Encrypt без каких-либо зависимостей.

Загрузите и установите Acme.sh:

sudo pkg install -y acme.sh

Проверьте версию Acme.sh:

acme.sh --version
# v2.8.2

Получите сертификаты RSA и ECC/ECDSA для своего домена/имени хоста:<br>

# RSA
sudo acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --keylength 2048
# ECDSA
sudo 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 из репозитория FreeBSD:

sudo pkg install -y nginx-devel

Проверьте версию Nginx:

nginx -v
# nginx version: nginx/1.17.2

Включите и запустите Nginx:

sudo sysrc nginx_enable=yes
sudo service nginx start

Настройте Nginx для Matomo, выполнив:

sudo vim /usr/local/etc/nginx/matomo.conf

И заполните файл следующей конфигурацией:

server {
  
listen [::]:443 ssl;
listen 443 ssl; listen [::]:80; listen 80;
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;
server_name example.com; root /usr/local/www/matomo; index index.php; 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; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; 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; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; 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 ~ /\.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; expires 1h; add_header Pragma public; add_header Cache-Control "public"; } location ~ /(libs|vendor|plugins|misc/user) { deny all; return 403; } location ~/(.*\.md|LEGALNOTICE|LICENSE) { default_type text/plain; } }

ПРИМЕЧАНИЕ. Полную и готовую к работе конфигурацию Nginx для Matomo можно найти на https://github.com/matomo-org/matomo-nginx.

Запустите sudo vim /usr/local/etc/nginx/nginx.conf и добавьте приведенную ниже строку в блок http {}, чтобы включить конфигурацию Matomo.

include matomo.conf;

Проверьте конфигурацию Nginx на наличие синтаксических ошибок:

sudo nginx -t

Перезагрузите сервис Nginx:

sudo service nginx reload

Шаг 4 — Установите Matomo Analytics

Перейдите в каталог /usr/local/www :

cd /usr/local/www/

Загрузите последнюю версию Matomo через wget и разархивируйте ее:

sudo wget https://builds.matomo.org/matomo.zip && sudo unzip matomo.zip

Удалите загруженный файл matomo.zip:

sudo rm matomo.zip

Измените владельца каталога /usr/local/www/matomo на www user:

sudo chown -R www:www /usr/local/www/matomo

Шаг 5. Завершите настройку Matomo Analytics.

Откройте свой сайт в веб-браузере и следуйте указаниям мастера веб-установки Matomo.

Сначала должно появиться приветственное сообщение Matomo. Нажмите на кнопку «Далее»:

После этого вы увидите страницу \Проверка системы\. Если чего-то не хватает, вы увидите предупреждение. Если все отмечено зеленой галочкой, нажмите кнопку «Далее», чтобы перейти к следующему шагу:

Затем заполните данные базы данных и нажмите кнопку \Далее\:

Если все прошло успешно с настройкой базы данных, вы должны увидеть сообщение \Таблицы успешно созданы!\:

Создайте учетную запись суперпользователя Matomo и нажмите кнопку «Далее»:

Затем настройте первый веб-сайт, который вы хотите отслеживать и анализировать с помощью Matomo. Позже вы можете добавить больше сайтов для отслеживания с помощью Matomo:

Далее вам будет предоставлен код отслеживания JavaScript для вашего сайта, который необходимо добавить, чтобы начать отслеживание.

Далее вы должны увидеть, что установка Matomo завершена.

Поздравляем! Ваша установка Matomo завершена.

Ссылки

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