====== Установка 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/]]