Как установить Umami Privacy Analytics на Ubuntu 24.04

Umami – это бесплатная платформа веб-аналитики с открытым исходным кодом, написанная на Nodejs. Она проста в использовании и установке и предоставляет удобный пользовательский интерфейс. Она построена на основе приватности как альтернатива таким сервисам, как Google Analytics. Позволяет развернуть веб-аналитику на своем сервере с собственным выбором базы данных, в качестве которой может выступать PostgreSQL или MySQL.

В этом руководстве вы узнаете, как установить аналитику Umami, ориентированную на конфиденциальность, на сервер Ubuntu 24.04.

Предварительные условия

Чтобы завершить работу над этим руководством, убедитесь, что у вас есть:

  • Сервер Ubuntu 24.04.
  • Некорневой пользователь с правами администратора.
  • Доменное имя, указывающее на IP-адрес сервера.

Установка зависимостей

Umami – это веб-аналитика, ориентированная на конфиденциальность, написанная на JavaScript и Node.js. Он поддерживает MySQL/MariaDB и PostgreSQL в качестве базы данных. В этом разделе вы установите зависимости для Umami, включая Node.js, NPM, PostgreSQL, веб-сервер Apache и Git.

Сначала выполните приведенную ниже команду, чтобы обновить список пакетов Ubuntu.

sudo apt update

Теперь выполните следующую команду для установки таких зависимостей, как Node.js, NPM, Python, Git и PostgreSQL. Введите Y , чтобы подтвердить установку.

sudo apt install nodejs npm git apache2 postgresql

установить зависимости

После завершения установки проверьте службу Apache, выполнив следующие действия.

sudo systemctl is-enabled apache2
sudo systemctl status apache2

В следующем окне видно, что Apache запущен и включен.

проверить apache2

Теперь проверьте сервер PostgreSQL с помощью следующей команды.

sudo systemctl is-enabled postgresql
sudo systemctl status postgresql

Вы увидите службу PostgreSQL enabled и active(exited).

проверить postgresql

И наконец, проверьте версию Node.js и NPM с помощью следующей команды:

nodejs –version
npm –version

Вы можете видеть, что Node.js 18.19 и NPM 9.2 установлены.

проверить node.js

Настройка базы данных PostgreSQL и пользователя

После установки зависимостей создайте новую базу данных PostgreSQL и пользователя для Umami. Вы будете использовать psql оболочку PostgreSQL для создания новой базы данных и пользователя.

Войдите на сервер PostgreSQL, выполнив следующую команду:

sudo -u postgres psql

Теперь выполните следующие запросы, чтобы создать нового пользователя umami и базы данных umamidb. Обязательно измените следующий пароль на свой.

CREATE ROLE umami LOGIN ENCRYPTED PASSWORD ‘password’;
CREATE DATABASE umamidb OWNER=umami;

создание базы данных и пользователя

Далее проверьте список доступных баз данных и пользователей с помощью запросов, приведенных ниже. Вы увидите пользователя umami с базой данных umamidb , имеющейся на вашем сервере PostgreSQL.

\du
\l

Наконец, введите q для выхода из сервера PostgreSQL.

список баз данных и пользователей

Установка umami

В этом разделе вы установите yarn менеджер пакетов, загрузите исходный код Umami и установите зависимости JavaScript с помощью yarn, а затем соберите и запустите Umami из командной строки.

Выполните приведенную ниже команду, чтобы установить yarn package manager.

npm install -g yarn

Создайте нового системного пользователя и группу umami с помощью следующей команды.

sudo adduser –system –group –no-create-home –shell /sbin/nologin umami

Теперь выполните команду git команду ниже, чтобы загрузить исходный код Umami на /var/www/umami каталог и перейти в него.

git clone https://github.com/umami-software/umami.git /var/www/umami
cd /var/www/umami

Далее выполните команду yarn команду ниже, чтобы установить JavaScript-зависимости для Umami.

yarn install

Ниже показана установка JavaScript-зависимостей для Umami.

установить зависимости

Теперь создайте новый .env файл со следующими данными nano редактор.

nano .env

Добавьте следующее, чтобы установить PostgreSQL в качестве базы данных Umami.

DATABASE_URL=postgresql://umami:StrongPasswordUmami@localhost:5432/umamidb

Сохраните и выйдите из файла после завершения работы.

Далее выполните следующую команду для сборки Umami.

yarn build

yarn build

После завершения запустите Umami следующей командой – Это запустит Umami на порту 3000:

yarn start

начало умами

Откройте веб-браузер и зайдите на сайт http://SERVER-IP:3000/. Если установка прошла успешно, вы увидите логин Umami, как показано ниже:

Вернитесь на терминальный сервер и нажмите Ctrl+c , чтобы завершить процесс.

страница входа

Наконец, выполните приведенную ниже команду, чтобы изменить права собственности на /var/www/umami на пользователя umami.

sudo chown -R umami:umami /var/www/umami

Запуск umami в качестве службы systemd

В этом руководстве вы будете запускать Umami как службу systemd в фоновом режиме. Поэтому сейчас вы создадите новый служебный файл для Umami.

Создание нового файла службы systemd /etc/systemd/system/umami.service со следующими параметрами nano командой редактора.

sudo nano /etc/systemd/system/umami.service

Вставьте в файл приведенную ниже конфигурацию.

[Unit]
Description=Umami Website Analytics
After=network.target postgresql.service

[Service]
Type=simple
ExecStart=/usr/bin/npm start
Restart=always
# Consider creating a dedicated user for umami here:
User=umami
Group=umami
#Environment=NODE_ENV=production
WorkingDirectory=/var/www/umami

[Install]
WantedBy=multi-user.target

После завершения сохраните файл и выйдите из него.

Теперь выполните приведенную ниже команду, чтобы перезагрузить менеджер systemd и применить новую службу umami.service.

sudo systemctl daemon-reload

systemd umami

Наконец, выполните следующую команду для запуска, включения и проверки umami.service статус.

sudo systemctl enable –now umami
sudo systemctl status umami

Как вы можете видеть ниже, в окне umami.service включен и работает. И по умолчанию работает на порту 3000.

проверка статуса

Настройка Apache в качестве обратного прокси-сервера

Теперь, когда Umami работает в фоновом режиме, вам нужно настроить Apache в качестве обратного прокси для Umami.

Сначала выполните приведенную ниже команду, чтобы включить модули Apache, которые будут использоваться в качестве обратного прокси.

sudo a2enmod proxy proxy_http ssl rewrite headers

модули apache

Теперь создайте новый файл виртуального хоста Apache /etc/apache2/sites-available/umami.conf с nano редактором.

sudo nano /etc/apache2/sites-available/umami.conf

Добавьте приведенную ниже конфигурацию и не забудьте изменить параметр ServerName на ваше доменное имя.


  ServerName analytics.local

  Options -Indexes
  ProxyRequests on

  ProxyPass / http://localhost:3000/
  ProxyPassReverse / http://localhost:3000/

После завершения работы сохраните и выйдите из файла.

Далее выполните приведенную ниже команду, чтобы включить файл виртуального хоста umami.conf и проверьте синтаксис вашего Apache. Если синтаксис правильный, вы увидите вывод Syntax is OK.

sudo a2ensite umami.conf
sudo apachectl configtest

Наконец, перезапустите веб-сервер Apache, чтобы применить изменения, используя следующую команду.

sudo systemctl restart apache2

настройка apache

Настройка UFW

Прежде чем настраивать UFW, убедитесь, что он запущен. В этом разделе вы включите Apache Full профиль, чтобы разрешить доступ по протоколам HTTP и HTTPS.

Выполните приведенную ниже команду, чтобы открыть порты HTTP и HTTPS через профиль UFW Apache Full.

sudo ufw allow ‘Apache Full’

Теперь перезагрузите UFW и проверьте его состояние с помощью команды ниже. Вы увидите, что UFW active с Apache Full профиль включен.

sudo ufw status

Защита Umami с помощью HTTPS

Чтобы защитить Umami, вы будете использовать HTTPS. В этом разделе вы сгенерируете SSL/TLS сертификаты через letsencrypt. Пользователи локального домена могут использовать самоподписанные сертификаты.

Установите certbot и python3-certbot-apache с помощью приведенной ниже команды. Ввод Y для подтверждения установки.

sudo apt install certbot python3-certbot-apache

Теперь запустите certbot команду ниже, чтобы сгенерировать SSL/TLS сертификаты для Umami. Не забудьте изменить доменное имя и адрес электронной почты на свои данные.

sudo certbot –apache –agree-tos –no-eff-email –redirect –hsts –staple-ocsp –email [email protected] -d analytics.local

После завершения процесса ваши SSL-сертификаты будут доступны в разделе /etc/letsencrypt/live/domain.com , и ваша установка Umami должна быть защищена HTTPS.

Доступ к Umami

Откройте веб-браузер и посетите сайт https://analytics.local/, чтобы получить доступ к своей установке Umami. Войдите в систему под пользователем по умолчанию admin и паролем umami.

вход

В случае успеха вы увидите приборную панель Umami, как показано ниже:

приборная панель

Чтобы добавить новые аналитические данные для ваших сайтов, нажмите кнопку Веб-сайты > Добавить сайты кнопку. Чтобы изменить пароль по умолчанию, нажмите на кнопку Настройки > Пользователи > Редактировать.

Заключение

Поздравляем! Вы установили аналитику Umami, ориентированную на конфиденциальность, на сервер Ubuntu 24.04. Umami работает с сервером PostgreSQL и Apache в качестве обратного прокси. Кроме того, вы обеспечили защиту Umami по HTTPS с помощью certbot и letsencrypt.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *