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

Как установить веб-аналитику Matomo (Piwik) на CentOS 8


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

  1. Предпосылки
  2. Установить сервер LAMP
  3. Создание базы данных для Piwik
  4. Установить Piwik
  5. Настройка SELinux и брандмауэра
  6. Настройка Apache для Piwik
  7. Доступ к веб-интерфейсу Piwik
  8. Защитите Matomo с помощью Lets Encrypt SSL

Matomo, ранее известный как Piwik, представляет собой аналитическое приложение с открытым исходным кодом для операционной системы Linux. Он очень похож на Google Analytics, который помогает отслеживать и отображать местоположение посещений пользователей. Он был разработан командой международных разработчиков, работающих на веб-сервере PHP/MySQL. Он предлагает множество функций, некоторые из них перечислены ниже:

  • Гибкость, надежность и безопасность
  • Размещение на собственном хостинге, простота и удобство использования
  • 100% владение данными
  • Соответствие GDPR
  • Веб- и мобильная аналитика

В этом руководстве мы покажем вам, как установить и настроить аналитическое приложение Piwik на сервере CentOS 8.

Предпосылки

  • Сервер под управлением CentOS 8.
  • Действительное доменное имя, указанное с IP-адресом вашего сервера.
  • На вашем сервере настроен пароль root.

Установить LAMP-сервер

Piwik работает на сервере LAMP, поэтому вам потребуется установить Apache, MariaDB, PHP и другие расширения PHP в вашей системе. Вы можете установить их все с помощью следующей команды:

dnf install httpd mariadb-server php php-mysqlnd php-fpm unzip wget php-json php-dom php-gd php-mbstring -y

После установки всех пакетов отредактируйте файл php.ini и установите нужные значения:

nano /etc/php.ini

Измените следующие значения:

upload_max_filesize = 10M
post_max_size = 10M
max_execution_time = 300
max_input_time = 300
memory_limit = 256M

Сохраните и закройте файл, затем запустите службы Apache и MariaDB и включите их запуск при перезагрузке системы:

systemctl start mariadb
systemctl start httpd
systemctl enable mariadb
systemctl enable httpd

Создать базу данных для Piwik

Далее вам нужно будет создать базу данных и пользователя для Piwik. Сначала войдите в MariaDB с помощью следующей команды:

mysql

После входа в систему создайте базу данных и пользователя с помощью следующей команды:

mysql> CREATE DATABASE matomo;
mysql> CREATE USER `matomo`@`localhost` IDENTIFIED BY 'password';

Затем предоставьте все привилегии базе данных с помощью следующей команды:

mysql> GRANT ALL ON matomo.* TO `matomo`@`localhost`;

Затем сбросьте привилегии и выйдите из MariaDB с помощью следующей команды:

mysql> FLUSH PRIVILEGES;
mysql> EXIT;

Установить Пивик

Далее вам нужно будет загрузить последнюю версию Piwik с их официального сайта. Сначала измените каталог на веб-корневой каталог Apache с помощью следующей команды:

cd /var/www/html

Затем загрузите Piwik с помощью следующей команды:

wget https://builds.matomo.org/matomo-latest.zip

После завершения загрузки разархивируйте загруженный файл с помощью следующей команды:

unzip matomo-latest.zip

Затем установите правильное разрешение и право собственности на корневой веб-сайт с помощью следующей команды:

chown -R apache:apache /var/www/html/matomo
chmod -R 775 /var/www/html/matomo

Как только вы закончите, вы можете перейти к следующему шагу.

Настройте SELinux и брандмауэр

Затем вам нужно будет разрешить порты 80 и 443 через брандмауэр. Вы можете разрешить их с помощью следующей команды:

firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https

Затем перезагрузите firewalld, чтобы применить изменения:

firewall-cmd --reload

Далее вам также потребуется настроить SELinux для Piwik. Вы можете настроить его с помощью следующей команды:

chcon -R -t httpd_sys_rw_content_t /var/www/html/matomo/
setsebool httpd_can_network_connect on -P

Как только вы закончите, вы можете перейти к следующему шагу.

Настройте Apache для Piwik

Далее вам необходимо настроить веб-сервер Apache для размещения веб-сайта Piwik. Вы можете сделать это, создав новый файл конфигурации виртуального хоста Apache:

nano /etc/httpd/conf.d/piwik.conf

Добавьте следующие строки:

<VirtualHost *:80>
ServerAdmin 
DocumentRoot "/var/www/html/matomo"
ServerName piwik.example.com
<Directory "/var/www/html/matomo/">
Options MultiViews FollowSymlinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
TransferLog /var/log/httpd/matomo_access.log
ErrorLog /var/log/httpd/matomo_error.log

</VirtualHost>

Сохраните и закройте файл, когда закончите. Затем перезапустите веб-сервер Apache, чтобы изменения вступили в силу:

systemctl restart httpd

Теперь вы можете проверить статус Apache с помощью следующей команды:

systemctl status httpd

Вы должны получить следующий результат:

? httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
  Drop-In: /usr/lib/systemd/system/httpd.service.d
           ??php-fpm.conf
   Active: active (running) since Sun 2020-12-27 05:38:29 EST; 5s ago
     Docs: man:httpd.service(8)
 Main PID: 4228 (httpd)
   Status: "Started, listening on: port 80"
    Tasks: 213 (limit: 12523)
   Memory: 36.8M
   CGroup: /system.slice/httpd.service
           ??4228 /usr/sbin/httpd -DFOREGROUND
           ??4229 /usr/sbin/httpd -DFOREGROUND
           ??4230 /usr/sbin/httpd -DFOREGROUND
           ??4231 /usr/sbin/httpd -DFOREGROUND
           ??4232 /usr/sbin/httpd -DFOREGROUND

Dec 27 05:38:28 centos8 systemd[1]: Stopped The Apache HTTP Server.
Dec 27 05:38:28 centos8 systemd[1]: Starting The Apache HTTP Server...

Как только вы закончите, вы можете перейти к следующему шагу.

Доступ к веб-интерфейсу Piwik

Теперь откройте веб-браузер и войдите в веб-интерфейс Piwik, используя URL-адрес http://piwik.example.com. Вы будете перенаправлены на следующую страницу:

Нажмите NEXT, вы должны увидеть страницу проверки системы:

Нажмите NEXT, вы должны увидеть страницу настройки базы данных:

Укажите имя пользователя базы данных, имя базы данных, пароль и нажмите «ДАЛЕЕ». Вы должны увидеть следующую страницу:

Нажмите «ДАЛЕЕ», вы должны увидеть страницу создания пользователя-администратора:

Введите имя пользователя администратора, пароль, адрес электронной почты, затем нажмите «ДАЛЕЕ». Вы должны увидеть страницу настройки сайта:

Укажите данные своего веб-сайта и нажмите «ДАЛЕЕ». Вы должны увидеть свой код отслеживания на следующей странице:

Нажмите ДАЛЕЕ. После завершения установки. Вы должны увидеть следующую страницу:

Нажмите ПРОДОЛЖИТЬ К МАТОМО. Вы должны увидеть страницу входа в систему MATOMO:

Укажите имя пользователя и пароль администратора и нажмите ВХОД. Вы должны увидеть панель инструментов MATOMO на следующей странице:

Защитите Matomo с помощью Lets Encrypt SSL

Затем вам нужно будет установить утилиту Certbot в вашей системе, чтобы загрузить и установить Lets Encrypt SSL для вашего веб-сайта Piwik.

Вы можете установить клиент Certbot с помощью следующей команды:

wget https://dl.eff.org/certbot-auto
mv certbot-auto /usr/local/bin/certbot-auto
chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-auto

Затем получите и установите SSL-сертификат для своего веб-сайта Mantis с помощью следующей команды:

certbot-auto --apache -d piwik.example.com
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): 

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y 


Obtaining a new certificate
Performing the following challenges:
http-01 challenge for piwik.example.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/httpd/conf.d/piwik.conf

Затем вам нужно будет выбрать, следует ли перенаправлять HTTP-трафик на HTTPS, как показано ниже:

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Введите 2 и нажмите Enter, чтобы продолжить. После завершения установки вы должны увидеть следующий вывод:

Redirecting all traffic on port 80 to ssl in /etc/httpd/conf.d/piwik.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://piwik.example.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=piwik.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/piwik.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/piwik.example.com/privkey.pem
   Your cert will expire on 2020-03-23. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot-auto
   again with the "certonly" option. To non-interactively renew *all*
   of your certificates, run "certbot-auto renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

На данный момент ваш сайт защищен с помощью Lets Encrypt SSL.

Заключение Поздравляем! вы успешно установили и настроили Piwik с Apache и Lets Encrypt SSL на CentOS 8. Теперь вы можете добавить свой код отслеживания на свой веб-сайт и начать отслеживать посетителей вашего веб-сайта с панели управления Piwik. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.