====== Установка Matomo на AstraLinux ======
===== Установка и настройка MariaDB =====
Установка
apt install mariadb-server
Старт и автозапуск БД
systemctl start mariadb
systemctl enabled mariadb
Защиты установки сервера MariaDB
mariadb-secure-installation
или
mysql_secure_installation
>Тестовый пароль: 11111111
>Change the root password? [Y/n] y
>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 \\
Тестовый пароль: 11111111
mariadb -u root -p
Запросы для создания новой базы данных MariaDB и пользователя \\
Тестовый логин и пароль для БД matomo: matomo\22222222
CREATE DATABASE matomo;CREATE USER 'matomo'@'localhost' IDENTIFIED BY '22222222';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, INDEX, DROP, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON matomo.* TO 'matomo'@'localhost';
FLUSH PRIVILEGES;
Запрос для проверки списка привилегий пользователя
SHOW GRANTS FOR 'matomo'@'localhost';quit
Примерный вывод информации:
+----------------------------------------------------------------------------------------------------------------------------------------------+
| Grants for matomo@localhost |
+----------------------------------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO `matomo`@`localhost` IDENTIFIED BY PASSWORD '*7FC65A1C57B7E6B94A69C99F30E1DB7B15C6923D' |
| GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON `matomo`.* TO `matomo`@`localhost` |
+----------------------------------------------------------------------------------------------------------------------------------------------+
Выход из оболочки
**[Ctrl]** + **[D]**
===== Установка и настройка Apache2 и PHP 8 =====
Установка необходимых пакетов
apt install apache2 php8.1 php8.1-cli libapache2-mod-php8.1 php8.1-common php8.1-curl php8.1-gd php8.1-mbstring php8.1-mysql php8.1-xml php8.1-intl php8.1-zip wget unzip
Старт и автозапуск Apache2
systemctl start apache2
systemctl enabled apache2
Настройка php.ini
nano /etc/php/8.1/apache2/php.ini
Отредактировать
;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;
max_execution_time = 300
memory_limit = 256M
;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;
upload_max_filesize = 16M
;;;;;;;;;;;;;;;;;;;
; Module Settings ;
;;;;;;;;;;;;;;;;;;;
date.timezone = Europe/Moscow
Настройка apache2.conf
nano /etc/apache2/apache2.conf
Раскомментировать строку и изменить параметр
AstraMode off
Отключить виртуальный хост по умолчанию
a2dissite 000-default.conf
Перезапуск Apache2
systemctl restart apache2
Проверка версии и включенные модули PHP
php --version
php -m
===== Matomo =====
Переход в каталог www
cd /var/www/
Скачивание Matomo
wget https://builds.matomo.org/matomo.zip
Распаковка архива
unzip matomo.zip
Изменение прав к каталогу с Matomo
chown -R www-data:www-data /var/www/matomo
===== Создание нового файла виртуального хоста Apache2 =====
nano /etc/apache2/sites-available/matomo.conf
Добавьте следующие строки в файл и убедитесь, что имя домена изменено на ваш домен
ServerAdmin webmaster@localhost
ServerName localhost
DocumentRoot /var/www/matomo/
DirectoryIndex index.php
Options FollowSymLinks
AllowOverride All
Require all granted
Options None
Require all denied
Options None
Require all granted
Options None
Require all denied
Options None
Require all denied
ErrorLog ${APACHE_LOG_DIR}/matomo_error.log
CustomLog ${APACHE_LOG_DIR}/matomo_access.log combined
Активация проверка конфигурации
a2ensite matomo.conf
apachectl configtest
Перезапуск Apache2
systemctl restart apache2
===== SSL/TLS через Certbot и Letsencrypt =====
(нужен тест с доменом)
Подставить свои параметры
apt install certbot python3-certbot-apache2
certbot --apache2 --agree-tos --redirect --hsts --staple-ocsp --email webmaster.itshaman.ru -d analytics.itshaman.ru
===== Настройка Matomo =====
Перейти на сайт
http://matomo-server/
Установки базы данных
>Сервер баз данных: **127.0.0.1**
>Логин: **matomo**
>Пароль: **22222222**
>Имя базы данных: **matomo**
>Префикс таблиц: **matomo_**
>Адаптер: **PDO\MYSQL**
Суперпользователь
>Логин суперпользователя: **admin**
>Пароль: **33333333**
>Email: **webmaster@localhost.localhost**
===== Настройка IP пользователей в Apache2 (за прокси Nginx) =====
Активировать модуль mod_remoteip
a2enmod remoteip
Создать файл remoteip.conf
nano /etc/apache2/mods-enabled/remoteip.conf
Вместо <Ваши IP адреса> необходимо указать IP адреса NGINX сервера
# RemoteIPHeader X-Forwarded-For
RemoteIPHeader X-Real-IP
RemoteIPInternalProxy 127.0.0.1 <Ваши IP адреса серверов>
Перезапустить Apache
systemctl restart apache2
===== Решение проблемы с отправкой почты =====
Посмотреть какой сертификат используется на почтовом сервере \\
Сервер и порт указать необходимые
openssl s_client -crlf -starttls smtp -connect mx.post-server.ru:467
Скопировать сертификат:
>-----BEGIN CERTIFICATE-----
>...
>-----END CERTIFICATE-----
Вставить данные сертификата в файл
nano /etc/ssl/certs/mx.post-server.ru.crt
Настроить php.ini
nano /etc/php/8.1/apache2/php.ini
Добавить в конце строку после [curl]
curl.cainfo = /etc/ssl/certs/mx.post-server.ru.crt
Добавить в конце строки после [openssl]
openssl.cafile = /etc/ssl/certs/mx.post-server.ru.crt
openssl.capath = /etc/ssl/certs/
Перезапустить Apache2
systemctl restart apache2
===== Источники =====
* [[https://matomo.org/faq/on-premise/installing-matomo/]]
* [[https://itshaman.ru/articles/898/kak-ustanovit-matomo-web-analytics-na-ubuntu-2204]]
* [[https://ru.stackoverflow.com/questions/444412/Настройка-apache2-на-astra-linux]]
* [[https://itshaman.ru/articles/898/kak-ustanovit-matomo-web-analytics-na-ubuntu-2204]]
* [[https://neosy.ru/operacionnye-sistemy/linux/nginx-apache-poluchenie-realnogo-ip-adresa-real-ip-address/]]