Ubuntu создает сайт статистики Статистика Umami

Umami — простая, быстрая и ориентированная на конфиденциальность альтернатива Google Analytics.

Официальный адрес GitHub:https://github.com/umami-software/umami
официальныйЗеркальный адрес: https://docker.umami.dev/umami-software/umami:postgresql-latest

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

Официальная документация: Подробное руководство по началу работы можно найти по адресуhttps://umami.is/docs/оказаться

Самостоятельно созданный статистический сайт Umami Statistics-1

Функция:
  • : Umami может отслеживать и анализировать посещения веб-сайта, просмотры страниц, поведение пользователей и другие показатели, чтобы помочь вам понять, как пользователи взаимодействуют с вашим веб-сайтом.
  • Отслеживание событий: поддерживает отслеживание определенных событий, таких как нажатие кнопок, отправка форм, воспроизведение видео и т. д., что позволяет понять конкретные действия пользователей на веб-сайте.
  • Аналитика пользователей: с помощью Umami вы можете получить информацию о своих пользователях, например, частоту посещений, соотношение новых и вернувшихся пользователей и т. д., чтобы глубже понять свою пользовательскую базу.
  • Анализ источников: Umami может отслеживать источники посещений вашего веб-сайта пользователями, включая поисковые системы, социальные сети, прямые посещения и т. д., чтобы помочь вам оценить эффективность ваших маркетинговых каналов.
  • Пользовательские отчеты: в соответствии с вашими потребностями Umami позволяет создавать индивидуальные отчеты и диаграммы для лучшего анализа и визуализации данных.
  • Поддержка A/B-тестирования: Umami может помочь вам провести A/B-тестирование для сравнения различных версий страниц или функций с целью оптимизации пользовательского опыта вашего веб-сайта.
  • Экспорт данных: вы можете экспортировать данные в CSV или другие форматы для интеграции и дальнейшего анализа с помощью других инструментов или аналитических платформ.
Функции:
  • Простота использования: Umami имеет удобный интерфейс и простую настройку, что делает его использование сравнительно простым даже для нетехнических людей.
  • Открытый исходный код и бесплатность: Umami — проект с открытым исходным кодом, который можно использовать бесплатно, и вы можете настраивать и расширять его в соответствии со своими потребностями.
  • Конфиденциальность данных: Umami уделяет первостепенное внимание конфиденциальности данных пользователей и не будет собирать конфиденциальную информацию или использовать ее в рекламных целях.
  • Лёгкий: дизайн относительно прост и не окажет существенного влияния на производительность сайта. Подходит для небольших и средних сайтов и проектов.
  • Гибкая настройка: поскольку Umami имеет открытый исходный код, вы можете разрабатывать и настраивать его в соответствии со своими потребностями для удовлетворения конкретных требований к анализу.
  • Данные в реальном времени: Umami обеспечивает мониторинг данных и обратную связь в реальном времени, позволяя вам своевременно понимать динамику веб-сайта и поведение пользователей.

Требовать:

  • Сервер с Node.js версии 12 или выше
  •  Umami поддерживает базы данных MySQL и Postgresql.

Установите Node.js в Ubuntu и обновите npm до последней версии.

Установить Node.js

NodeSource продолжит поддерживать следующие архитектуры и может добавить другие в будущем.

  • amd64(64-бит)
  • армхф(ARM 32-битная аппаратная плавающая вычислительная техника, ARMv7 и выше:arm-linux-gnueabihf)
  • arm64(ARM 64-бит, ARMv8 и выше:aarch64-linux-gnu)

Сайт проекта Node:https://github.com/nodesource/distributions

Самостоятельно построенная статистика umami statistics-1

Обновите систему

sudo apt update && sudo apt upgrade

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

sudo apt install wget curl nano ufw software-properties-common dirmngr apt-transport-https gnupg2 ca-certificates lsb-release debian-archive-keyring unzip -y

Node.js v18.x

Установите последнюю версию пакета npm, предоставленную NodeSource.

В настоящее время Node.js имеет три версии: Node.js 18.x, Node.js 20.x и Node.js 21.x.

Ниже приведена установка Node.js 18.x, которую можно выполнить одной строкой кода. &&\ означает, что следующий код будет выполнен после корректного выполнения предыдущей команды.

curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - &&\ sudo apt-get install -y nodejs

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

curl -fsSL https://deb.nodesource.com/setup_18.x | bash - &&\ apt-get install -y nodejs

После завершения установки проверьте, успешно ли установилась версия.

узел -v

Если вы хотите установить другие версии, просто замените setup_20.x в приведенной выше команде на версию, которую вы хотите установить.

Примечание: После установки Node.js 20.x или Node.js 21.x в Ubuntu 22.4 умами станет пустым и недоступным. Это приведёт к ошибке 404.

Решение проблемы пустого экрана после установки Umami

Это тоже огромная проблема. После компиляции с Node.js 20.x и Node.js 21.x возникает ошибка. При открытии браузера появляется пустой экран, на котором нет содержимого. После нажатия F12 обнаруживается, что все js-файлы недоступны. При компиляции с Node.js 20.x и Node.js 21.x возникают подобные проблемы. После установки Node.js 18.x всё компилируется нормально, и проблем с запуском нет.

Примечание: Пожалуйста, используйте Node.js 18.x для компиляции. Пожалуйста, используйте Node.js 18.x для компиляции. Пожалуйста, используйте Node.js 18.x для компиляции. Важно повторить это три раза. Не рой себе яму!

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

----------------------------------------------------------------------------------------

Адрес для загрузки официального сайта Node:https://nodejs.org/en/download/

Есть другой путь, прямо вУстановка Node с помощью apt

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

Ошибка @clickhouse/client@0.2.10: Движок «node» несовместим с этим модулем. Ожидаемая версия ">=16". Получено «12.22.9».
ошибка Найден несовместимый модуль.
информация Посетить https://yarnpkg.com/en/docs/cli/install для получения документации по этой команде.

Эта ошибка означает, что ваша текущая версия Node.js не соответствует требованиям модуля @clickhouse/client. Для модуля @clickhouse/client требуется Node.js версии 16 или выше. Текущая версия Node.js — 12.22.9.

Чтобы решить эту проблему, вы можете рассмотреть возможность обновления версии Node.js до той, которая соответствует требованиям.

 

sudo apt update sudo apt install nodejs # не поставляется с npm, вам нужно установить его самостоятельно sudo apt install npm # Используйте инструмент управления версиями n Node для обновления до последней версии sudo npm install n -g # Загрузите последнюю стабильную версию sudo n stable # Загрузите последнюю версию sudo n lastest # Просмотреть загруженную версию sudo n ls # Переключить версию Node sudo n 18.21.1 # Обновить npm sudo npm install npm -g

Удаление пакетов nodejs Ubuntu и Debian

apt-get purge nodejs &&\ rm -rf /etc/apt/sources.list.d/nodesource.list &&\ rm -rf /etc/apt/keyrings/nodesource.gpg # удалить npm npm удалить npm -g

Если вы не можете установить npm во время процесса установки, вы можете использовать nvm для его установки.

Установка Node.js и npm с помощью nvm: Node Version Manager (nvm) упрощает управление версиями Node.js и npm. Вы можете установить nvm и использовать его для установки Node.js и npm, выполнив следующие действия:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash # Или используйте wget для установки wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash # Установите Node.js и npm. npm входит в состав Node. Установка Node автоматически установит npm nvm install node # Используйте только что установленный Node nvm use node

 

Установка нескольких версий узла с помощью nvm

# Проверка текущего установленного узла nvm ls # Установка версии 20x узла, которая установит самую высокую версию 20x по умолчанию, например 20.12 nvm install 20 # Использование версии 20x nvm use 20 # Постоянное использование псевдонима nvm версии 20x по умолчанию 20

Конец ссылки!!

--------------------------------------------------------------------------------------------------

Примечание: Если ни один из вышеперечисленных методов не помог, попробуйте использовать Yarn вместо NPM. Yarn — это быстрый, надёжный и безопасный менеджер пакетов, который часто можно использовать в качестве замены NPM. Вы можете установить Yarn, выполнив следующие шаги.

Установить пряжу

Используйте Yarn вместо npm: поскольку проект использует Yarn для компиляции, нам необходимо установить Yarn.

npm install -g yarn

Установка с помощью официального установочного скрипта Yarn: Yarn официально предоставляет установочный скрипт, который можно установить с помощью следующей команды:

curl -o- -L https://yarnpkg.com/install.sh | bash # или используйте wget для установки wget -qO- https://yarnpkg.com/install.sh | bash

Создать новую базу данных MySQL

Здесь мы используем MySQL и создаем новую пустую базу данных в базе данных

Используйте phpmyadmin для создания пустой базы данных с именем Umami на сервере.

Самостоятельно созданный статистический сайт Umami Statistics-1

Или создайте его прямо на сервере:

mysql -u root -p умами < sql/schema.mysql.sql

Установка Умами

Загрузите и установите Umami

Пользовательские загрузки размещаются в каталоге /home/umami, или вы можете разместить их в других каталогах.

cd /home/ #git pull umami git clone https://github.com/umami-software/umami.git # enter the umami directory cd umami # install yarn install

Самостоятельно созданный статистический сайт Umami Statistics-1Подождите терпеливо, после завершения установки необходимо настроить .env-файл.

Настройте файл .env

Создайте новый файл с именем .env в папке umami.

Используйте команду touch для создания нового файла .env или напрямую используйте команду vim для создания нового файла .env.

vi .env

Обратите внимание, что после создания файла .env его нельзя просмотреть в каталоге. .env — это скрытый файл, и его можно редактировать напрямую с помощью vi.

Отредактируйте файл .env, введите следующую конфигурацию и сохраните ее:

DATABASE_URL=mysql://umamiuser:umamipass@127.0.0.1:3306/umami_db APP_SECRET=bu4orqfdlG+Dh3Otau4oWSBbI9kGWSkGfYc/WiH/ DISABLE_TELEMETRY=1 TRACKER_SCRIPT_NAME=пользовательский

DATABASE_URL
DATABASE_URL=mysql://umamiuser:umamipass@127.0.0.1:3306/umami_db
Пояснение: Это URL-адрес подключения к базе данных Umami, указывающий на базу данных MySQL umami_db. Пользователь базы данных — umamiuser, пароль — umamipass, а сервер базы данных работает по адресу 127.0.0.1:3306.
Обеспечение эффективности:
Убедитесь, что база данных создана правильно, а пользователь и пароль базы данных настроены правильно.
Убедитесь, что база данных MySQL разрешает соединения через адрес 127.0.0.1.
Убедитесь, что служба Umami может получить доступ к базе данных MySQL.

APP_SECRET
APP_SECRET=bu4orqfdlG+Dh3Otau4oWSBbI9kGWSkGfYc/WiH/
Пояснение: Это ключ приложения, используемый для шифрования и подписи. Umami использует его для обеспечения безопасности JWT (JSON Web Tokens) и другой конфиденциальной информации.
Обеспечение эффективности:
Сохраните этот ключ в безопасности, не публикуйте его и не разглашайте.
Можно сгенерировать более сложные ключи, например, используя openssl rand -base64 32 для генерации нового ключа.

ОТКЛЮЧИТЬ_ТЕЛЕМЕТРИЮ
ОТКЛЮЧИТЬ_ТЕЛЕМЕТРИЮ=1
Пояснение: Отключение телеметрии означает, что никакая статистика или данные об использовании не будут отправляться на серверы Umami.
Обеспечение действительности: эта конфигурация действительна и в ней отключена телеметрия, что соответствует более строгим требованиям к конфиденциальности.

TRACKER_SCRIPT_NAME
TRACKER_SCRIPT_NAME=пользовательский
Пояснение: Этот параметр задаёт имя скрипта отслеживания Umami. Имя по умолчанию — umami.js, но вы можете изменить его на custom.js или любое другое.
Обеспечение валидности: если вы хотите использовать пользовательское имя, убедитесь, что вы указали правильный сценарий отслеживания JavaScript в коде своей веб-страницы.
Другие возможные элементы конфигурации
В зависимости от используемой вами версии Umami и ваших требований вам также может понадобиться следующая конфигурация:

NEXT_PUBLIC_BASE_URL
Используется для указания базового URL-адреса экземпляра Umami. Например, если ваш Umami установлен на https://umami.example.com, вы можете настроить:

NEXT_PUBLIC_BASE_URL=https://umami.example.com

DISABLE_AUTH
Если вы хотите отключить функцию аутентификации Umami, вы можете установить:

DISABLE_AUTH=true
Предупреждение: отключение аутентификации позволит любому человеку получить доступ к панели администратора и рекомендуется только для сред разработки.

UMAMI_VERSION
Если вы хотите использовать определенную версию Umami, вы можете указать ее:

UMAMI_VERSION=v1.35.0

ПОРТ
Настройте порт, который будет прослушивать Umami (если порт по умолчанию не подходит):

ПОРТ=3000

Конфигурация SMTP (для уведомлений по электронной почте)
Если вам необходимо включить уведомления по электронной почте или другие функции почты, вы можете настроить конфигурацию SMTP, например:

SMTP_HOST=smtp.example.com
SMTP_PORT=587
SMTP_USER=user@example.com
SMTP_PASSWORD=вашпароль

UMAMI_LOG_LEVEL

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

UMAMI_LOG_LEVEL=информация
Пример файла конфигурации:
Объедините все эти элементы конфигурации в файл .env:

DATABASE_URL=mysql://umamiuser:umamipass@localhost:3306/umami_db APP_SECRET=bu4orqfdlG+Dh3Otau4oWSBbI9kGWSkGfYc/WiH/ DISABLE_TELEMETRY=1 TRACKER_SCRIPT_NAME=пользовательский NEXT_PUBLIC_BASE_URL=https://umami.example.com DISABLE_AUTH=true PORT=3000

Эти элементы конфигурации должны быть корректными. Убедитесь, что вы проверили подключение к базе данных MySQL и добавили другие необходимые настройки (например, SMTP или параметры аутентификации).

Пример связывания двух баз данных

postgresql://имя пользователя:мойпароль@localhost:5432/mydb mysql://имя пользователя:мойпароль@localhost:3306/mydb

Установка обновления

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

добавить пряжу --dev prisma@latest добавить пряжу @prisma/client@latest

 

Компилировать Умами

пряжа наращивание

Подождите, пока он закончит выполнять это.

Если вы столкнулись с ошибкой, указывающей на невозможность подключения к базе данных

$ node scripts/check-db.js
✓ DATABASE_URL определен.
✗ Невозможно подключиться к базе данных.
Ошибка Команда не выполнена с кодом выхода 1.
информация Посетить https://yarnpkg.com/en/docs/cli/run для получения документации по этой команде.
ОШИБКА: «check-db» завершился с кодом 1.
Ошибка Команда не выполнена с кодом выхода 1.
информация Посетить https://yarnpkg.com/en/docs/cli/run для получения документации по этой команде.

Измените локальный хост на 127.0.0.1

DATABASE_URL=mysql://имя_пользователя:пароль@127.0.0.1:3306/имя_базы_данных APP_SECRET=bu4orqfdlG+Dh3Otau4oWSBbI9kGWSkGfYc/WiH/ DISABLE_TELEMETRY=1 TRACKER_SCRIPT_NAME=пользовательский

Во время установки обнаружена ошибка P3018

Ошибка: P3018

Не удалось применить миграцию. Новые миграции не могут быть применены до устранения ошибки. Подробнее об устранении проблем с миграцией в рабочей базе данных: https://pris.ly/d/migrate-resolve

Имя миграции: 05_add_visit_id

Код ошибки базы данных: 1305

Ошибка базы данных:
ФУНКЦИЯ t_umami_hk.BIN_TO_UUID не существует

Проверьте, пожалуйста, запрос номер 2 из файла миграции.

✗ Команда не выполнена: prisma migrate deploy
Ошибка: P3018

Не удалось применить миграцию. Новые миграции не могут быть применены до устранения ошибки. Подробнее об устранении проблем с миграцией в рабочей базе данных: https://pris.ly/d/migrate-resolve

Имя миграции: 05_add_visit_id

Код ошибки базы данных: 1305

Ошибка базы данных:
ФУНКЦИЯ t_umami_hk.BIN_TO_UUID не существует

Проверьте, пожалуйста, запрос номер 2 из файла миграции.

 

Ошибка Команда не выполнена с кодом выхода 1.
информация Посетить https://yarnpkg.com/en/docs/cli/run для получения документации по этой команде.
ОШИБКА: «check-db» завершился с кодом 1.
Ошибка Команда не выполнена с кодом выхода 1.
информация Посетить https://yarnpkg.com/en/docs/cli/run для получения документации по этой команде.

В MariaDB пока не реализована встроенная функция BIN_TO_UUID в MySQL. При установке с использованием базы данных MariaDB возникнет ошибка p3018.

После обновления umami до версии 2.11 появилась поддержка UUID. MySQL требует генерации случайных UUID в скрипте миграции. Однако, если вы используете MariaDB, MariaDB не поддерживает эту функцию. Вам необходимо вручную изменить базу данных.

Решение ошибки p3018

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

npx prisma migrate resolve --applied "05_add_visit_id" # Повторно запустите команду установки yarn build

Удалить Умами

Если в процессе установки произойдут необратимые операции, вы можете удалить Umami и переустановить ее, а также удалить каталог установки Umami.

rm -rf /home/umami перезагрузка

Порт 3000 занят

Если порт 3000 занят, запуск завершится неудачей, и вам придется остановить nghttpx, который занимает порт 3000.

nghttpx занимает порт 3000. Если на nghttpx нет служб для запуска, просто завершите работу nghttpx.

systemctl stop nghttpx systemctl disable nghttpx reboot

Установить PM2 Manager

PM2 manager — это демон-программа, которая открывает Umami через PM2.

npm install pm2 -g sudo yarn global add pm2 cd /home/umami pm2 start npm --name umami -- start pm2 startup pm2 save

Ошибка 1143 при установке PM2 с помощью npm

узел:внутренний/модули/cjs/загрузчик:1143
const err = new Error(сообщение);
^

Ошибка: не удалось найти модуль 'semver'
Требуется стек:
- /usr/share/nodejs/npm/lib/utils/unsupported.js
- /usr/share/nodejs/npm/lib/cli.js
- /usr/share/nodejs/npm/bin/npm-cli.js
в Module._resolveFilename (node:internal/modules/cjs/loader:1143:15)
в Module._load (node:internal/modules/cjs/loader:984:27)
в Module.require (node:internal/modules/cjs/loader:1231:19)
в require (node:internal/modules/helpers:179:18)
на Объекте. (/usr/share/nodejs/npm/lib/utils/unsupported.js:2:16)
в Module._compile (node:internal/modules/cjs/loader:1369:14)
в Module._extensions..js (node:internal/modules/cjs/loader:1427:10)
в Module.load (node:internal/modules/cjs/loader:1206:32)
в Module._load (node:internal/modules/cjs/loader:1022:12)
в Module.require (node:internal/modules/cjs/loader:1231:19) {
код: 'MODULE_NOT_FOUND',
requireStack: [
'/usr/share/nodejs/npm/lib/utils/unsupported.js',
'/usr/share/nodejs/npm/lib/cli.js',
'/usr/share/nodejs/npm/bin/npm-cli.js'
]
}

Node.js v20.12.2

Решение:

Эта ошибка возникает, если сервер не перезапускается после установки npm, и переменная не вступает в силу. Перезапуск сервера может решить проблему.

Огромная яма

После установки используйте начало пряжи Команда для открытия Umami. Если порт 3000 занят, появится сообщение об ошибке занятости порта.

root@localhost:~# начало пряжи
пряжа run v1.22.22
ошибка Не удалось найти файл package.json в "/root"
информация Посетить https://yarnpkg.com/en/docs/cli/run для получения документации по этой команде.
root@localhost:~# cd /home/umami
root@localhost:/home/umami# начало пряжи
пряжа run v1.22.22
$ следующий старт
⨯ Не удалось запустить сервер
Ошибка: прослушивание EADDRINUSE: адрес уже используется :::3000
в Server.setupListenHandle [как _listen2] (node:net:1897:16)
в listenInCluster (node:net:1945:12)
на Server.listen (node:net:2037:7)
в /home/umami/node_modules/next/dist/server/lib/start-server.js:279:16
в новом Promise ()
на startServer (/home/umami/node_modules/next/dist/server/lib/start-server.js:190:11)
в nextStart (/home/umami/node_modules/next/dist/cli/next-start.js:50:40)
в /home/umami/node_modules/next/dist/bin/next:155:54
в асинхронном основном (/home/umami/node_modules/next/dist/bin/next:155:5) {
код: 'EADDRINUSE',
ошибка: -98,
системный вызов: 'listen',
адрес: '::',
порт: 3000
}
Ошибка Команда не выполнена с кодом выхода 1.
информация Посетить https://yarnpkg.com/en/docs/cli/run для получения документации по этой команде.

Используйте команду, чтобы узнать, кто занимает порт 3000

root@localhost:~# sudo lsof -i :3000
КОМАНДА PID ПОЛЬЗОВАТЕЛЬ ТИП FD РАЗМЕР УСТРОЙСТВА/ВЫКЛ ИМЯ УЗЛА
nghttpx 919 root 5u IPv4 34021 0t0 TCP localhost:3000 (LISTEN)
nghttpx 958 root 5u IPv4 34021 0t0 TCP localhost:3000 (LISTEN)

nghttpx занимает порт 3000. Если на nghttpx нет служб для запуска, просто завершите работу nghttpx.

systemctl stop nghttpx systemctl disable nghttpx reboot

Остановите службу, затем отключите ее запуск при загрузке, а затем перезапустите систему.

Внимание: приближается огромная яма.

использовать начало пряжи Команда для запуска Umami. В этот момент порт свободен, и запуск начинается нормально. Затем:

root@localhost:/home/umami# начало пряжи
пряжа run v1.22.22
$ следующий старт
Next.js 14.1.4
- Местный: http://localhost:3000

⚠ "next start" не работает с конфигурацией "output: standalone". Вместо этого используйте "node .next/standalone/server.js".
✓ Готово через 2 с

Во время процесса запуска было выдано предупреждение, которое примерно означает

Функция «Next start» не работает с конфигурацией «Output: Standalone». Используйте «node.next/standalone/server.js». Я не уверен, является ли это предупреждение ошибкой и требует ли оно исправления. После небольшого поиска в интернете я обнаружил, что проблема связана с next.js. Заключение: игнорируйте это предупреждение. Если вы можете получить доступ к IP-адресу и номеру порта в браузере, перейдите к следующему шагу. Обратите внимание, что порт 3000 должен быть открыт на брандмауэре сервера; в противном случае доступ будет запрещён.

Проверьте, успешно ли прошла установка.

После завершения установки вам необходимо подключиться к серверу по IP-адресу и порту, чтобы проверить, открывается ли страница. В первый раз страница будет открываться медленно, поэтому подождите немного.

Самостоятельно созданный статистический сайт Umami Statistics-1

Если ошибок нет, установка прошла успешно. Проверьте, нормально ли открыт локальный адрес http://127.0.0.1:3000.

curl http://127.0.0.1:3000

Проверьте, есть ли вывод данных.

Самостоятельно созданный статистический сайт Umami Statistics-1Проверьте текущий статус порта 3000. Если порт 3000 все еще занят, umami не следует запускать.

lsof -i:3000

Откройте Umami в браузере, используя IP-адрес и порт вашего сервера.

Ubuntu создает сайт статистики Umami statistics-1

Войдите в систему, используя системное имя пользователя и пароль по умолчанию.

  • Имя пользователя: администратор
  • Пароль: умами

Ubuntu создает сайт статистики Umami statistics-1

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

Не забудьте сменить пароль в личном профиле и сделать его более сложным!

Ubuntu создает сайт статистики Umami statistics-1

удаление PM2

# Отключить запуск PM2 pm2 unstartup # Убить демона pm2 kill # Удалить npm remove pm2 -g # Удалить все сохраненные конфигурации и журналы rm -rf ~/.pm2

Наконец, после завершения удаления перейдите в /usr/local/lib/node_modules/ и проверьте, есть ли там папка pm2. Если есть, просто удалите её.

OpenLiteSpeed как обратный прокси-сервер

Создайте новый виртуальный хост в OpenLiteSpeed, а затем введите этот хост, чтобы создать новыйВнешние приложения , выберите Сетевой сервер в качестве типа и введитеТунцзи , адрес 127.0.0.1:3000, можно написать публичный IP:3000

Ubuntu создает сайт статистики Umami statistics-1

Ubuntu создает сайт статистики Umami statistics-2

Ubuntu создает сайт статистики Umami statistics-3

Затем создайте набор ресурсов, выберите тип Proxy и задайте URI /

Ubuntu создает сайт статистики Umami statistics-1

Ubuntu создает сайт статистики Umami statistics-2

Ubuntu создает сайт статистики Umami statistics-3

 

Примечание: выберите ранее созданный tongji для сетевого сервера и заполните максимальные значения для остальных настроек.

Правила перезаписи. Поскольку доменные имена frontend и backend различаются, для передачи доменного имени backend следует использовать псевдостатические правила. В противном случае backend отклонит соединение, а frontend сразу вернет ошибку 403 или 500.

Ubuntu создает сайт статистики Umami statistics-1

RewriteRule ^/(.*)$ http://tongji/$1 [P,E=Proxy-Host:xxx.com]
Обратите внимание, что tongji — это имя внешнего приложения на втором шаге, xxx.com — этодоменное имя.
Если у вас установлена панель CyberPanel, правила перезаписи будут иметь статус «Отключено CyberPanel». Вам необходимо заполнить правила перезаписи на сайте, соответствующем панели CyberPanel.
Наконец, перезапустите OpenLiteSpeed, и вы сможете получить к нему обычный доступ.

Настроить китайский

После входа в бэкенд языком по умолчанию может быть английский. Панель управления настроена на упрощённый китайский. Откройте «Настройки» -> «Профиль» -> «Язык» и выберите китайский.

Обновляйте и обновляйте умами

Что касается обновления умами, сначала остановите pm2, а затем выполните следующий код для обновления и запуска:

pm2 stop umami # войти в каталог файлов umami cd /home/umami git pull yarn install yarn build

Я столкнулся с этим во время обновления умами. Prisma Migrate Deploy Ошибка: P3009

Эта ошибка возникает из-за того, что в umami после обновления до версии 2.11 появилась поддержка UUID. MySQL требует генерации случайных UUID в скрипте миграции, но если вы используете MariaDB, MariaDB не поддерживает эту функцию. Вам необходимо вручную изменить базу данных.

Ниже приведен оператор выполнения mysql.

-- AlterTable ALTER TABLE website_event ДОБАВИТЬ СТОЛБЕЦ visit_id VARCHAR(36) NULL; -- Обновление с UUIDv4 UPDATE website_event мы JOIN ( SELECT DISTINCT s.session_id, s.visit_time, LOWER(CONCAT( HEX(SUBSTR(MD5(RAND()), 1, 4)), '-', HEX(SUBSTR(MD5(RAND()), 1, 2)), '-4', SUBSTR( HEX(SUBSTR(MD5(RAND()), 1, 2)), 2, 3), '-', CONCAT( HEX(FLOOR(ASCII(SUBSTR(MD5(RAND()), 1, 1)) / 64)+8), SUBSTR( HEX(SUBSTR(MD5(RAND()), 1, 2)), 2, 3)), '-', HEX(SUBSTR(MD5(RAND()), 1, 6)) )) AS uuid FROM ( SELECT DISTINCT session_id, DATE_FORMAT(created_at, '%Y-%m-%d %H:00:00') visit_time FROM website_event ) s ) a ON we.session_id = a.session_id AND DATE_FORMAT(we.created_at, '%Y-%m-%d %H:00:00') = a.visit_time SET we.visit_id = a.uuid WHERE we.visit_id IS NULL; -- ModifyColumn ALTER TABLE website_event MODIFY visit_id VARCHAR(36) NOT NULL; -- CreateIndex CREATE INDEX website_event_visit_id_idx ON website_event(visit_id); -- CreateIndex CREATE INDEX website_event_website_id_visit_id_created_at_idx ON website_event(website_id, visit_id, created_at);

Затем разрешите миграции в папке Umami:

# Введите каталог файлов umami cd /home/umami npx prisma migrate resolve --applied "05_add_visit_id"

После выполнения команды обновления не забудьте запустить PM2.

# Перейдите в каталог файлов umami cd /home/umami git pull yarn install yarn build pm2 start npm --name umami -- start

 

Настройка умами официально завершена. Остальная часть настройки очень проста. Нужно лишь следовать инструкциям на панели умами. Если у вас есть вопросы, пожалуйста, оставьте сообщение в комментариях.

Справочные статьи:https://www.howtoforge.com/how-to-install-umami-analytics-on-debian-12/

5/5 - (1 голос)

Ответить

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