Как установить Matomo Web Analytics с Nginx на FreeBSD 12.0
На этой странице
- Требования
- Предпосылки
- Начальные шаги
- Шаг 1. Установите MySQL и создайте базу данных для 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 на система 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