Содержание

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

Добавьте следующие строки в файл и убедитесь, что имя домена изменено на ваш домен

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName localhost
    DocumentRoot /var/www/matomo/
    <Directory /var/www/matomo>
        DirectoryIndex index.php
        Options FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
    <Files "console">
        Options None
        Require all denied
    </Files>
    <Directory /var/www/matomo/misc/user>
        Options None
        Require all granted
    </Directory>
    <Directory /var/www/matomo/misc>
        Options None
        Require all denied
    </Directory>
    <Directory /var/www/matomo/vendor>
        Options None
        Require all denied
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/matomo_error.log
    CustomLog ${APACHE_LOG_DIR}/matomo_access.log combined
</VirtualHost>

Активация проверка конфигурации

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 сервера

<IfModule mod_remoteip.c>
# RemoteIPHeader X-Forwarded-For
RemoteIPHeader X-Real-IP
RemoteIPInternalProxy 127.0.0.1 <Ваши IP адреса серверов>
</IfModule>

Перезапустить 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

Источники