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 запущен и включен.
Теперь проверьте сервер PostgreSQL с помощью следующей команды.
sudo systemctl is-enabled postgresql
sudo systemctl status postgresql
Вы увидите службу PostgreSQL enabled
и active(exited)
.
И наконец, проверьте версию Node.js и NPM с помощью следующей команды:
nodejs –version
npm –version
Вы можете видеть, что Node.js 18.19 и NPM 9.2 установлены.
Настройка базы данных 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
После завершения запустите 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
Наконец, выполните следующую команду для запуска, включения и проверки 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 /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
Настройка 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.