Как установить Matomo аналитика на host.

Введение.

Система аналитики позволяет контролировать и анализировать посещение сайта(ов), для выработки оптимальных решений при подборе материалов. Крупные поисковые компании Google и Yandex предостовляют свои средства построения журналов посещений и анализа трафика. Они без сомнения обладают широкими возможностями и мощным поисковым механизмом. В то же время некоторый функционал, перчисленных выше компаний, перегружен сложными настройками и визуализацией. Для тех владельцев сайтов, которые желают иметь под рукой простую, наглядную и удобную платформы для анализа трафика своих вэб ресурсов представляется — Matomo.

Подготовка Matomo.

Matomo — платформа веб-аналитики с открытым исходным кодом, рание имела название Piwik.

Прежде чем начать работать с аналитикой, требуется вэб-хостинг. Самым лучшим вариантом для владельца сайта — регистрация на надёжном и провереном хостинге SPACEWEB.

Безусловно системная аналитическая платформа, может работать и в локальной сети предприятия, собирая статистику с внутриних вэб-ресурсов. Но нам, для своих задач, требуется DNS видимый в Интернете. Можно конечно зарегестрировать отдельно имя своего сервера в Интернете, найти под него «железо» и т.д. Но проще и безопасней всё перенести на хостинг, где осущестляется грамотное обслуживание, резервное копирование, поддержка и многое другое.

  • Стенд:
  • Хостинг — SPACEWEB
    • Вэб-сервер; имя https://kabtim-trt.ru
    • Сайт — движок WordPres
    • БД — MySQL.; имя базы trt
  • Matomo

Для начала нам нужно скачать архив свежей версии c сайта.

Скачать Matomo.
Скачать актуальную версию архива.

Обратите внимание, требуется скачать архив серверной части, но не плагина.

Плагин без серверной части не работает.

осуществляет, ограниченно, просмотр аналитики из панели WP

Действия на хостинге SPACEWEB.

Дальнейшие манипуляции должны выполняться на хостинге, в панели управления. Если нет хостинга, нажмите банер сверху для регестрации.

Пройдя авторизацию, находясь в панеле хостинга, переходим на вкладку «Базы данных», нажимаем «Создать базу данных», заполняем поле в формате: логин_matomo.

Пустая БД требуется при установке аналитики.

логин — ваш логин при авторизации в SPACEWEB.

Теперь переходим на вкладку «Файловый менеджер», справа находим каталог public_html. С помощью кнопки «Загрузить файлы» загружаем архив, нажимаем кнопку «Распокавать архив» — в корне сайта содаётся папка «Матомо».

Настройка хостинга для Matomo.
Настройка хостинга для Matomo.

Установка.

Выполнив подготовительные действия, переходим к настроечным шагам. Открываем браузер и вводим адрес сайта https://url сайта/matomo, пример https://kabtim-trt.ru/matomo. Перед нами появляется первое окно пошаговой инструкции установки Matomo.

После ответа на все вопросы, открывается последнее, девятое окно, панели управления для регистрации.

Действия после установке Matomo.

Войдя в панель, необходимо на вкладке «Все проекты» создать сайт(ы) с которых требуется получать аналитику.

Добавление сайта для аналитики  Matomo.
Добавление сайта для аналитики.

Теперь необходимо скопировать код отслеживания и вставить его непосредственно перед закрывающим </head> тегом шаблона сайта.

Код Matomo для вставки на сайт.
Код Matomo для вставки на сайт.

Заключение.

Контроль и анализ трафика вэб ресурсов является важной частью работы вэб мастера. Правильная и своевременная аналитика позволяет ориентировать напрвление работы сайта, выделяя наиболие популярные страницы. Совместное использование аналитики и мониторига Zabbix повышает возможности ранжирования вэб ресурсов компании.

Полезные ссылки.

Работа сервера Linux Nginx WordPress.

Введение.

Продолжая публикации о использовании сервера Nginx, рассмотрим установку и настройку CMS Nginx WordPress. Ранние мы уже рассказывали о CMS Nginx Joomla, являющейся конкурентом WP. В статье не будет проводится сравнение этих двух CMS, желающие выберут то, что для них будет удобно. Объединять два приложения, в качестве движка, будет веб-сервер Nginx, базовую установка которого смотрите здесь.

Подготовка.

  • Стенд:
  • ALT Linux сервер, имя lin-nginx; ip-10.0.2.11;
  • mysql 8.0.xx
  • php8.0.x

Для правильной работы WordPress, установленного на сервере Nginx, требуется поддержка интерпретатора языка PHP — FastCGI.

GUI — графический интерфейс пользователя.

В модуль FastCGI входит пакет FPM — Fast Process Manager, управляющий PHP запросами с помощью FastCGI протокола. Менеджер PHP-FPM контролирует количество процессов PHP и частоту их создания.

Текущею версию PHP можно узнать с помощью команды.

# php -v

Настройка.

Установка и запуск менеджера php-fpm.

# apt-get update
# apt-get install php8.0-fpm-fcgi
# systemctl start|stop|restart|status php8.0-fpm
# systemctl enable php8.0-fpm

Конфигурация PHP находится /etc/php/8.0/fpm-fcgi/php.ini

Редактируем файл www.conf настроек PHP fpm.

# cd /etc/fpm8.0/php-fpm.d
# vim www.conf
...
listen = 127.0.0.1:9000
;listen=/var/run/php8.0-fpm/php8.0-fpm.sock
...
# systemctl restart php8.0-fpm 

Создаём отдельный каталог для wordpres.

# mkdir /var/www/html/wordpress

В /etc/nginx/sites-available.d/ поместим сценарий wordpress.conf.

server {
        ## Your website name goes here.
        server_name 10.0.2.11;
        ## Your only path reference.
        root /var/www/html/wordpress;
        ## This should be in your http block and if it is, it's not needed here.
        index index.php;

        location = /favicon.ico {
                log_not_found off;
                access_log off;
        }

        location = /robots.txt {
                allow all;
                log_not_found off;
                access_log off;
        }

        location / {
                # include the "?$args" part so non-default permalinks doesn't break when using query string
                try_files $uri $uri/ /index.php?$args;
        }

        location ~ \.php$ {
                #NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
                include fastcgi_params;
                fastcgi_intercept_errors on;
                fastcgi_pass php;
                #The following parameter can be also included in fastcgi_params file
                fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
        }

        location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
                expires max;
                log_not_found off;
        }
}

Обратите внимание на строки с жирным шрифтом.

Создаём символическую ссылку, выполняем рестарт Nginx.

# ln -s /etc/nginx/sites-available.d/wordpress.conf /etc/nginx/sites-enabled.d/wordpress.conf
# nginx -s reload

Для проверки работы PHP создаём сценарий.

# cd /var/www/html/wordpress
# vim index.php
<?php
phpinfo();
?>

При обращении к серверу, проверяем информацию о поддержке PHP.

Вид: Проверка работы Nginx c PHP
Вид: Фрагмент листинга работы Nginx c PHP

Вопросы БД.

Для успешной установки и запуска WP необходима БД. Обычно используют популярную, имеющею хорошею историю — MySQL. При установке MySQL, следует установить дополнительные пакеты для PHP.

# apt-get update
# apt-get install php8.0-mysqlnd
# apt-get install php8.0-mysqlnd-mysqli

Установка Nginx WordPress.

Развёртывание WordPress производим с помощью мастера установок, о чём уже рассказывалось ранние. Действия мастера настроек WP для Apache2, ни чем не отличаются от установок для Nginx. Единственное отличие — PHP, для Nginx большинство изменений следует производить с файлом настроек в /etc/fpm8.0/php-fpm.d/www.conf.

Права доступа Nginx WordPres.

От того, как выставлены права на каталоги, зависит безопасность WordPress. Защита каталогов с помощью ограничения прав доступа, является первым шагом защиты сайта. При установке WP, могут возникнуть разные ситуации, когда приходится менять уровень разрешения на каталоги. После того, как сайт WP начнёт работать, необходимо проверить права каталогов, в соответствии с рекомендацией сообщества WordPress.

# find /var/www/html/wordpress/ -type f -exec chmod 644 {} \;
# find /var/www/html/wordpress/ -type d -exec chmod 755 {} \;
  • -type f обычный файл
  • -exec выполнить команду
  • {} результат поиска
  • \; команда заканчивается

Заключение.

В статье показана возможность установки популярной CMS WordPress на веб сервер Nginx. В отличие от Apache2, сервер Nginx может работать на оборудовании с небольшими системными требованиями. Всё программное обеспечение, для работы сайта, допускает лицензионное соглашение GNU. Если в качестве сервера использовать дистрибутив ALT Simply Linux, без GUI, то затраты на сайт сведутся к минимуму, что положительно отразится на сам проект в целом.

Полезные ссылки.

Работа сервера Linux Nginx с Joomla.

Введение.

В предыдущей статье мы рассказали о базовых понятиях, структуре, установке и настройке веб сервера Nginx. Этот сервер может работать как самостоятельный узел, в коммуникационных сети предприятия, обслуживая приложения находящегося на его «борту». В статье будет показано управление CMS Joomla с помощью Nginx. Установка основных пакетов, необходимых для запуска Nginx, можно уточнить в предыдущей статье, здесь будут показана установка дополнительных расширений для запуска Joomla.

Подготовка.

  • Стенд:
  • ALT Linux сервер, имя lin-nginx; ip-10.0.2.11;
  • mysql 8.0.xx
  • php7

В своей работе CMS Joomla, использует язык программирования PHP. Для поддержки PHP в Nginx, потребуется установить интерфейс FastCGI, в качестве отдельного демона.

FastCGI — протокол взаимодействия веб-сервера и php приложения.

В FastCGI входит пакет FPM — Fast Process Manager, основная задача которого управлять PHP запросами с помощью FastCGI протокола. Менеджер PHP-FPM выполняет свою работу быстро, контролируя количество и частоту PHP процессов.

Текущею версию PHP можно узнать с помощью команды.

# php -version

Настройка.

Устанавливаем пакет php-fpm и запускаем его, как отдельный процесс.

# apt-get update
# apt-get install php7-fpm-fcgi
# systemctl start|stop|restart|status php7-fpm
# systemctl enable php7-fpm

Вносим изменения в настройки PHP для fpm, редактируем www.conf.

# cd /etc/fpm7/php-fpm.d
# vim www.conf
...
listen = 127.0.0.1:9000
;listen=/var/run/php7-fpm/php7-fpm.sock
...
# systemctl restart php7-fpm 

Создаём отдельный каталог для joomla.

# mkdir /var/www/html/joomla

В /etc/nginx/sites-available.d/ поместим сценарий joomla.conf.

server {
        listen 80;
        server_name lin-nginx;
        server_name_in_redirect off;

        access_log /var/log/nginx/localhost.access_log;
        error_log /var/log/nginx/localhost.error_log info;

        root /var/www/html/joomla;
        index index.php index.html index.htm default.html default.htm;
        # Support Clean (aka Search Engine Friendly) URLs
        location / {
                try_files $uri $uri/ /index.php?$args;
        }

        # add global x-content-type-options header
        add_header X-Content-Type-Options nosniff;

        # deny running scripts inside writable directories
        location ~* /(images|cache|media|logs|tmp)/.*\.(php|pl|py|jsp|asp|sh|cgi)$ {
                return 403;
                error_page 403 /403_error.html;
        }

        location ~ \.php$ {
            fastcgi_pass  127.0.0.1:9000;
            fastcgi_index index.php;
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include /etc/nginx/fastcgi.conf;
        }

        # caching of files 
        location ~* \.(ico|pdf|flv)$ {
                expires 1y;
        }

        location ~* \.(js|css|png|jpg|jpeg|gif|swf|xml|txt)$ {
                expires 14d;
        }

}

В joomla.conf, обратите внимание на строки с жирным шрифтом.

Указываем символическую ссылку, выполним рестарт Nginx.

# ln -s /etc/nginx/sites-available.d/joomla.conf /etc/nginx/sites-enabled.d/joomla.conf
# nginx -s reload

Вопросы БД.

Для успешной установки и запуска WP необходима БД. Обычно используют популярную и хорошо себя зарекомендовавшею в эксплуатации, MySQL. При установке, которой следует учитывать включение дополнительных пакетов для поддержки PHP.

# apt-get update
# apt-get install php7-mysqlnd
# apt-get install php7-mysqlnd-mysqli

В /var/www/html/joomla создадим проверочный index.php файл.

# cd /var/www/html/joomla
# vim index.php
<?php
echo <h1>'Hello Kabtim-t'</h1>;
?>

Смотрим ответ сервера Nginx на вызов PHP код.

Вид: проверка работы Nginx и PHP
Вид: проверка работы Nginx c PHP.

Установка Joomla.

Базовую установку Joomla можно посмотреть здесь, мы же рассмотрим некоторые особенности настройки Nginx для работы с Joomla. Когда все предварительные условия для установки CMS будут выполнены и Вы перейдёте к работе с графическим помощником мастера установки. Учитывайте, при переходе на страницу, шаг № 3, проверки совместимости значений PHP — редактирование следует проводить в файле www.conf расположенного в /etc/fpm7/php-fpm.d

Права доступа Joomla.

В процессе установки могут возникнуть коллизии и «непонятки», когда приходится устанавливать, временно, права на каталоги и файлы с доступом chmod 777. Следует строго помнить, после того, как сайт заработает необходимо вернутся и восстановить значения прав, как указанно в документации к Joomla.

# find /var/www/html/joomla/ -type f -exec chmod 644 {} \;
# find /var/www/html/joomla/ -type d -exec chmod 755 {} \;
  • -type f обычный файл
  • -exec выполнить команду
  • {} результат поиска
  • \; команда заканчивается

Заключение.

Выбор сервера для веб приложений организации является ответственным шагом, определяющий долгосрочную стратегию и политику коммуникационных технологий предприятия. В будущем, когда всё заработает и у пользователей появится хорошая привычка каждодневного общения с веб ресурсом, изменить что-то будет сложно. Необходимо сразу определится, какой программный веб двигатель использовать. Сервер Nginx имеет неплохую историю, основные ресурсы разработчика находятся в России, присутствует во многих программных продуктах Реестра программного обеспечения, рекомендован к использованию для организаций.

Полезные ссылки.

Установка и настройка сервера Nginx Linux.

Введение.

В операционной среде Linux существует несколько веб серверов для работы с приложениями, использующих в качестве клиентов браузеры. Одним из них является Nginx (энджи́нкс) — лёгкий и быстрый веб-сервер может работать как HTTP движок или в качестве прокси, для «тяжёлых» веб-серверов Apache, IIS. Сервер занимает, в ресурсном сегменте IT приложений, основное место для различных интернет площадок, работает под BSD лицензией. В статье блога рассмотрены вопросы базовой установки сервера для обслуживания HTTP запросов на «слабом» оборудовании.

Функциональность Nginx.

Сервер может использоваться для:

  • индексирования запросов
  • кеширования основного сервера
  • распределения нагрузки серверов
  • создания виртуальных серверов по IP адресам
  • узла выполняющего геолокацию по IP адресам
  • как ретранслятор для IMAP и POP3 запросов

Архитектура.

В качестве модели архитектуры, использует модульную систему — один главный и несколько рабочих процессов. Рабочие процессы, запускаются под непривилегированным пользователем. Самое простое использование сервера — отвечать на html запросы, с помощью одного модуля, как будет показанное ниже.

  • Стенд:
  • ALT Linux сервер, имя lin-nginx; ip-10.0.2.11;

Установка.

В качестве стенда, выберем сервер минимальной конфигурации на котором установим следующие пакеты.

# apt-get update
# apt-get install nginx

Настройка Nginx.

Основные настройки проводятся в файле конфигурации каталога Nginx. Мы сначала покажем классическую схему настройки сервера для ответов на запросы html.

Каталоги и файлы Nginx.

  • /etc/nginx/ — домашний каталог
  • /etc/nginx/nginx.conf — каталог настроек сервера
  • /usr/local/nginx/logs/nginx.pid — каталог главного процесса
  • /etc/nginx/sites-available.d — каталог настроек сайта
  • /etc/nginx/sites-enabled.d/ — каталог запуска сайта
  • /var/log/nginx — каталог журналов
  • ps -ax | grep nginx — процессы

Сценарий работы сайта.

Для начала рассмотрим базовый файл настроек сервера, расположенного в /etc/nginx/nginx.conf

# cat /etc/nginx/nginx.conf
# load dynamic nginx modules
include /etc/nginx/modules-enabled.d/*.conf;

# see http://nginx.net for info & docs

worker_processes  10;

error_log   /var/log/nginx/error.log;

events {
        worker_connections  1024;
}

include /etc/nginx/conf-enabled.d/*.conf;

http {
        proxy_temp_path /var/spool/nginx/tmp/proxy;
        fastcgi_temp_path /var/spool/nginx/tmp/fastcgi;
        client_body_temp_path /var/spool/nginx/tmp/client;

        include       /etc/nginx/mime.types;
        default_type  application/octet-stream;

        sendfile  on;

        gzip  on;

        # text/html doesn't need to be defined there, it's compressed always
        gzip_types text/plain text/css text/xml application/x-javascript application/atom+xml;

        # gzip_comp_level 9;
        include /etc/nginx/sites-enabled.d/*.conf;
}

Из файла видно, что основных процессов 10, число соединений 1024, так же указаны рабочие каталоги журналов и исполняемых файлов.

Теперь создадим простой стендовый сайт, для этого в /etc/nginx/sites-available.d поместим файл nglab.conf.

# cd /etc/nginx/sites-available.d/
# touch nglab.conf

Запишем в файл nglab.conf первый кодовый блок.

server {
  listen 80;
  server_name localhost .local 10.0.2.11;

  access_log /var/log/nginx/access.log;
  error_log /var/log/nginx/error.log;

  location / {
    root /var/www/html/;
    autoindex on;
   }
}

Создадим символическую ссылку для nglab.conf в рабочем каталоге /etc/nginx/sites-enabled.d/

ln -s /etc/nginx/sites-available.d/nglab.conf /etc/nginx/sites-enabled.d/nglab.conf

Управление Nginx.

Система управления сервером определяется стандартными командами Linux и «родными» командами Nginx, для исполняемого файла.

# systemctl start|stop|restart|status nginx
# systemctl enable|disable|is-enabled nginx
# ps -ax | grep nginx

Команды для исполняемого файла предполагают, что сервер работает и отвечает на запросы. Выделим из списка ряд практических команд, которые чаще всего используются в работе.

  • nginx -s stop остановка сервера
  • nginx -s reload перезапуск настроек сервера
  • nginx -T проверка конфигурации, полная
  • nginx -t проверка конфигурации, краткая
  • nginx -h справочная информация

Для примера приведём одну из команд.

# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successfu

Работа с сайтом.

Подготовительные действия выполнены, остаётся в рабочий каталог сервера, /var/www/html, поместить файл index.html.

<html><body><h1>It works! Nginx</h1></body></html>

Набрав нужный адрес в браузере убедимся, что всё работает.

Вид: Приветствие сервера Nginx
Вид1: Приветствие сервера Nginx.

Дополнив файл настроек секцией для фото, создадим галерею снимков.

# mkdir /var/www/html/images
# nginx -s reload
server {
  listen 80;
  server_name localhost .local 10.0.2.11;

  access_log /var/log/nginx/access.log;
  error_log /var/log/nginx/error.log;

  location / {
        root /var/www/html/;
    }

    location /images/ {
        root /var/www/html/;
    }
}

Поместим в каталог images файл foto.jpg и отредактируем index.html

<!DOCTYPE html>
<html>
<head>
     <meta charset="utf-8">
<title>Галерея</title>
</head>
<body>
<p><a href="images/foto.jpg" target="_blank" dir="ltr">Вид красивого моста через реку. </a></p>
</body>
</html>

Вызываем в браузере веб сервер и щёлкаем по надписи.

Права доступа.

Права доступ к каталогам и файлам веб-сервера.

# chmod 755 /var/www/html
# chmod 644 /var/www/html/index.html
# chmod 755 /var/www/html/images
# chmod 644 /var/www/html/images/foto.jpg
# chown -R _nginx._nginx /var/www/html

Заключение.

В статье были показаны основные, базовые понятия, установки и настройке веб сервера Nginx с помощью ALT Linux. Администратор или опытный пользователь может без труда повторить, все действия описанные выше. На базе изложенного можно создавать простой информационный сайт, обладающий надёжностью, низкой стоимостью и скоростью. Одно из достоинств такого сайта — возможность использования его на очень «слабых» компьютерах и серверах. В следующей статье блога, будет рассказано о работе сервера с CMS Joomla.

Полезные ссылки.