Ubuntu erstellt Statistik-Website Umami-Statistiken

Umami ist eine einfache, schnelle und datenschutzorientierte Alternative zu Google Analytics

Offizielle GitHub-Adresse:https://github.com/umami-software/umami
offiziellSpiegeladresse: https://docker.umami.dev/umami-software/umami:postgresql-latest

bezogen auf Entwickeln und unterstützen Oder Postgresql und andere Datenbankspeichermethoden, Sie können die Daten selbst steuern. Und UMAMI bietet auch sehr detaillierteDie visuelle Benutzeroberfläche, das UI-Erlebnis und die statistische Genauigkeit sind sehr gut. UMAMI kann auch verhindern, dass es durch Werbeblocker-Plugins usw. blockiert wird, und die statistische Genauigkeit ist hoch.

Offizielle Dokumentation: Eine ausführliche Anleitung zum Einstieg finden Sie unterhttps://umami.is/docs/auftauchen

Selbst erstellte Statistik-Website Umami Statistics-1

Funktion:
  • : Umami kann Website-Besuche, Seitenaufrufe, Benutzerverhalten und andere Indikatoren verfolgen und analysieren, damit Sie besser verstehen, wie Benutzer mit Ihrer Website interagieren.
  • Ereignisverfolgung: Es unterstützt die Verfolgung bestimmter Ereignisse, wie z. B. Klicks auf Schaltflächen, Formulareinreichungen, Videowiedergabe usw., sodass Sie die spezifischen Aktionen der Benutzer auf Ihrer Website verstehen können.
  • Benutzereinblicke: Mit Umami können Sie Informationen über Ihre Benutzer abrufen, z. B. Besuchshäufigkeit, Verhältnis von neuen Benutzern zu wiederkehrenden Benutzern usw., um so ein tieferes Verständnis Ihrer Benutzerbasis zu erlangen.
  • Quellenanalyse: Umami kann die Quellen der Benutzer verfolgen, die Ihre Website besuchen, einschließlich Suchmaschinen, soziale Medien, direkte Besuche usw., um Ihnen bei der Bewertung der Effektivität Ihrer Marketingkanäle zu helfen.
  • Benutzerdefinierte Berichte: Basierend auf Ihren Anforderungen können Sie mit Umami benutzerdefinierte Berichte und Diagramme zur besseren Analyse und Visualisierung von Daten erstellen.
  • Unterstützung bei A/B-Tests: Umami kann Ihnen bei der Durchführung von A/B-Tests helfen, um verschiedene Versionen von Seiten oder Funktionen zu vergleichen und so das Benutzererlebnis Ihrer Website zu optimieren.
  • Datenexport: Sie können Daten in CSV oder andere Formate exportieren, um sie mit anderen Tools oder Analyseplattformen zu integrieren und weiter zu analysieren.
Merkmale:
  • Einfach zu verwenden: Umami verfügt über eine benutzerfreundliche Oberfläche und lässt sich einfach einrichten, sodass die Verwendung auch für technisch nicht versierte Personen relativ einfach ist.
  • Open Source und kostenlos: Als Open-Source-Projekt ist Umami kostenlos nutzbar und Sie können es Ihren Bedürfnissen entsprechend anpassen und erweitern.
  • Datenschutz: Umami nimmt den Datenschutz der Benutzer ernst und sammelt keine sensiblen Informationen und verwendet sie nicht für Werbezwecke.
  • Leichtgewichtig: Das Design ist relativ einfach und hat keinen wesentlichen Einfluss auf die Leistung der Website. Es eignet sich für kleine und mittelgroße Websites und Projekte.
  • Flexible Anpassung: Da es Open Source ist, können Sie Umami nach Ihren Bedürfnissen neu entwickeln und anpassen, um spezifische Analyseanforderungen zu erfüllen.
  • Echtzeitdaten: Umami bietet Datenüberwachung und Feedback in Echtzeit, sodass Sie die Website-Dynamik und das Benutzerverhalten zeitnah verstehen können.

Erfordern:

  • Ein Server mit Node.js Version 12 oder höher
  •  Umami unterstützt MySQL- und Postgresql-Datenbanken.

Installieren Sie Node.js auf Ubuntu und aktualisieren Sie npm auf die neueste Version

Installieren Sie Node.js

NodeSource wird die folgenden Architekturen weiterhin pflegen und in Zukunft möglicherweise weitere hinzufügen.

  • amd64(64-Bit)
  • armhf(ARM 32-Bit Hard Float, ARMv7 und höher:arm-linux-gnueabihf
  • arm64(ARM 64-Bit, ARMv8 und höher:aarch64-linux-gnu

Website des Node-Projekts:https://github.com/nodesource/distributions

Selbst erstellte Statistiken Umami-Statistiken-1

Aktualisieren Sie das System

sudo apt update und sudo apt upgrade

Abhängigkeiten installieren

sudo apt install wget curl nano ufw Software-Eigenschaften-Allgemeines dirmngr apt-transport-https gnupg2 ca-Zertifikate lsb-Release debian-Archiv-Schlüsselbund unzip -y

Node.js v18.x

Installieren Sie das neueste von NodeSource bereitgestellte npm-Paket

Node.js hat derzeit drei Versionen: Node.js 18.x, Node.js 20.x und Node.js 21.x

Im Folgenden wird die Installation von Node.js 18.x beschrieben, die in einer Codezeile durchgeführt werden kann. &&\ bedeutet, dass der folgende Code ausgeführt wird, nachdem der vorherige Befehl korrekt ausgeführt wurde.

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

Als Root installieren

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

Überprüfen Sie nach Abschluss der Installation, ob die Version erfolgreich installiert wurde.

Knoten -v

Wenn Sie andere Versionen installieren möchten, ersetzen Sie einfach setup_20.x im obigen Befehl durch die Version, die Sie installieren möchten.

Hinweis: Nach der Installation von Node.js 20.x oder Node.js 21.x in Ubuntu 22.4 ist Umami nach dem Öffnen leer und nicht zugänglich. Dies führt zu einem 404-Fehler!

Lösung für den leeren Bildschirm nach der Installation von Umami

Dies ist auch ein großes Problem. Nach dem Kompilieren mit Node.js 20.x und Node.js 21.x tritt ein Fehler auf. Beim Öffnen des Browsers wird ein leerer Bildschirm ohne Inhalt angezeigt. Nach dem Drücken von F12 werden Sie feststellen, dass auf alle JS-Dateien nicht zugegriffen werden kann. Dieses Problem tritt beim Kompilieren mit Node.js 20.x und Node.js 21.x auf. Nach der Installation von Node.js 18.x wird alles normal kompiliert und es gibt keine Probleme beim Öffnen.

Hinweis: Bitte verwenden Sie Node.js 18.x zum Kompilieren. Bitte verwenden Sie Node.js 18.x zum Kompilieren. Bitte verwenden Sie Node.js 18.x zum Kompilieren. Wichtige Dinge müssen dreimal erwähnt werden. Machen Sie sich nicht selbst zu schaffen!

Die folgenden Inhalte zu Node.js dienen nur als Referenz. Bitte ignorieren Sie die folgenden Node-bezogenen Inhalte in tatsächlichen Anwendungen.

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

Download-Adresse der offiziellen Node-Website:https://nodejs.org/en/download/

Es gibt eine andere Methode, direkt inInstallieren Sie Node mit apt

Hinweis: Wenn Sie apt zur Installation verwenden, installieren Sie möglicherweise eine niedrigere Version von Node, was bei der nachfolgenden Installation zu einem Fehler führt:

Fehler @clickhouse/client@0.2.10: Die Engine "Knoten" ist mit diesem Modul nicht kompatibel. Erwartete Version ">=16". Erhalten "12.22.9"
Fehler: Inkompatibles Modul gefunden.
info Besuchen https://yarnpkg.com/en/docs/cli/install für die Dokumentation zu diesem Befehl.

Dieser Fehler bedeutet, dass Ihre aktuelle Node.js-Version die Anforderungen des @clickhouse/client-Moduls nicht erfüllt. Das @clickhouse/client-Modul erfordert mindestens Node.js-Version 16. Ihre aktuelle Node.js-Version ist 12.22.9.

Um dieses Problem zu beheben, können Sie ein Upgrade Ihrer Node.js-Version auf eine Version in Betracht ziehen, die die Anforderungen erfüllt.

 

sudo apt update sudo apt install nodejs # Wird nicht mit npm geliefert, Sie müssen es selbst installieren. sudo apt install npm # Verwenden Sie das Versionsverwaltungstool n Node, um auf die neueste Version zu aktualisieren. sudo npm install n -g # Laden Sie die neueste stabile Version herunter. sudo n stable # Laden Sie die neueste Version herunter. sudo n lastest # Zeigen Sie die heruntergeladenen Versionen an. sudo n ls # Wechseln Sie die Node-Version. sudo n 18.21.1 # Aktualisieren Sie npm sudo npm install npm -g

Deinstallieren Sie nodejs Ubuntu- und Debian-Pakete

apt-get purge nodejs &&\ rm -rf /etc/apt/sources.list.d/nodesource.list &&\ rm -rf /etc/apt/keyrings/nodesource.gpg #Uninstall npm npm deinstallieren npm -g

Wenn Sie npm während des Installationsvorgangs nicht installieren können, können Sie es mit nvm installieren

Installieren Sie Node.js und npm mit nvm: Node Version Manager (nvm) vereinfacht die Verwaltung von Node.js- und npm-Versionen. Sie können nvm installieren und damit Node.js und npm installieren, indem Sie die folgenden Schritte ausführen:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash # Oder verwenden Sie wget zur Installation wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash # Installieren Sie Node.js und npm. npm ist in Node enthalten. Bei der Installation von Node wird npm nvm install node # automatisch installiert. Verwenden Sie den neu installierten Node nvm use node

 

Verwenden Sie nvm, um mehrere Versionen von Node zu installieren

#Zeigen Sie den aktuell installierten Knoten nvm ls an. #Installieren Sie die 20x-Version des Knotens. Standardmäßig wird die höchste Version von 20x installiert, z. B. 20.12 nvm install 20. #Verwenden Sie die 20x-Version nvm use 20. #Verwenden Sie dauerhaft die 20x-Version nvm alias default 20.

Ende der Referenz!!

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

Hinweis: Wenn keine der oben genannten Methoden funktioniert, können Sie versuchen, Yarn anstelle von NPM zu verwenden. Yarn ist ein schneller, zuverlässiger und sicherer Paketmanager, der häufig als Ersatz für NPM verwendet wird. Sie können Yarn wie folgt installieren:

Installieren Sie Yarn

Verwenden Sie Yarn statt NPM: Da das Projekt Yarn zur Kompilierung verwendet, müssen wir Yarn installieren.

npm install -g Garn

通过 Yarn 官方安装: Yarn 官方提供了一个安装脚本,你可以通过以下命令来安装:

curl -o- -L https://yarnpkg.com/install.sh | bash # oder verwenden Sie wget zur Installation wget -qO- https://yarnpkg.com/install.sh | bash

Erstellen Sie eine neue MySQL-Datenbank

Hier verwenden wir MySQL und erstellen eine neue leere Datenbank in der Datenbank

Verwenden Sie phpmyadmin, um eine leere Datenbank für Umami auf dem Server zu erstellen.

Selbst erstellte Statistik-Website Umami Statistics-1

Oder erstellen Sie es direkt auf dem Server:

mysql -u root -p umami < sql/schema.mysql.sql

Umami installieren

Laden Sie Umami herunter und installieren Sie es

Benutzerdefinierte Downloads werden im Verzeichnis /home/umami abgelegt, oder Sie können sie in anderen Verzeichnissen ablegen.

cd /home/ #git pull umami git clone https://github.com/umami-software/umami.git #Geben Sie das Umami-Verzeichnis ein cd umami #install yarn install

Selbst erstellte Statistik-Website Umami Statistics-1Warten Sie geduldig. Nach Abschluss der Installation müssen Sie die .env-Datei konfigurieren

Konfigurieren der .env-Datei

Erstellen Sie eine neue Datei mit dem Namen .env im Ordner „Umami“.

Verwenden Sie den Befehl „touch“, um eine neue .env-Datei zu erstellen, oder verwenden Sie direkt den Befehl „vim“, um eine neue .env-Datei zu erstellen

vi .env

Beachten Sie, dass die .env-Datei nach ihrer Erstellung nicht mehr im Verzeichnis angezeigt werden kann. .env ist eine versteckte Datei und kann direkt mit vi bearbeitet werden.

Bearbeiten Sie die .env-Datei, geben Sie die folgende Konfiguration ein und speichern Sie sie:

DATABASE_URL=mysql://umamiuser:umamipass@127.0.0.1:3306/umami_db APP_SECRET=bu4orqfdlG+Dh3Otau4oWSBbI9kGWSkGfYc/WiH/ DISABLE_TELEMETRY=1 TRACKER_SCRIPT_NAME=benutzerdefiniert

DATENBANK-URL
DATABASE_URL=mysql://umamiuser:umamipass@127.0.0.1:3306/umami_db
Erklärung: Dies ist die Datenbankverbindungs-URL von Umami, die auf eine MySQL-Datenbank umami_db verweist, der Datenbankbenutzer ist umamiuser, das Kennwort ist umamipass und der Datenbankserver läuft unter 127.0.0.1:3306.
Wirksamkeit sicherstellen:
Bestätigen Sie, dass die Datenbank korrekt erstellt wurde und der Datenbankbenutzer und das Kennwort richtig konfiguriert sind.
Stellen Sie sicher, dass die MySQL-Datenbank Verbindungen über die Adresse 127.0.0.1 zulässt.
Stellen Sie sicher, dass der Umami-Dienst auf die MySQL-Datenbank zugreifen kann.

APP_SECRET
APP_SECRET=bu4orqfdlG+Dh3Otau4oWSBbI9kGWSkGfYc/WiH/
Erklärung: Dies ist ein Anwendungsschlüssel, der zur Verschlüsselung und Signierung verwendet wird. Umami verwendet ihn, um die Sicherheit von JWT (JSON Web Tokens) und anderen sensiblen Informationen zu gewährleisten.
Wirksamkeit sicherstellen:
Bewahren Sie diesen Schlüssel sicher auf und machen Sie ihn nicht öffentlich oder geben Sie ihn preis.
Es können komplexere Schlüssel generiert werden, beispielsweise durch die Verwendung von openssl rand -base64 32 zum Generieren eines neuen Schlüssels.

TELEMETRIE_DEAKTIVIEREN
DISABLE_TELEMETRY=1
Erklärung: Das Deaktivieren der Telemetrie bedeutet, dass keine Statistiken oder Nutzungsdaten an die Server von Umami gesendet werden.
Gültigkeit sicherstellen: Diese Konfiguration ist gültig und die Telemetrie ist deaktiviert, geeignet für strengere Datenschutzanforderungen.

TRACKER_SCRIPT_NAME
TRACKER_SCRIPT_NAME=benutzerdefiniert
Erklärung: Diese Einstellung gibt den Namen des Umami-Tracking-Skripts an. Der Standardname lautet umami.js, Sie können ihn jedoch in custom.js oder einen anderen Namen ändern.
Gültigkeit sicherstellen: Wenn Sie einen benutzerdefinierten Namen verwenden möchten, stellen Sie sicher, dass Sie im Code Ihrer Webseite auf das richtige JavaScript-Tracking-Skript verweisen.
Andere mögliche Konfigurationselemente
Abhängig von der von Ihnen verwendeten Umami-Version und Ihren Anforderungen benötigen Sie möglicherweise auch die folgende Konfiguration:

NÄCHSTE_ÖFFENTLICHE_BASIS-URL
Wird verwendet, um die Basis-URL Ihrer Umami-Instanz anzugeben. Wenn Ihr Umami beispielsweise auf https://umami.example.com kann wie folgt konfiguriert werden:

NEXT_PUBLIC_BASE_URL=https://umami.example.com

DISABLE_AUTH
Wenn Sie die Authentifizierungsfunktion von Umami deaktivieren möchten, können Sie Folgendes einstellen:

DISABLE_AUTH=true
Warnung: Durch das Deaktivieren der Authentifizierung kann jeder auf das Admin-Panel zugreifen. Dies wird nur für Entwicklungsumgebungen empfohlen.

UMAMI_VERSION
Wenn Sie eine bestimmte Version von Umami verwenden möchten, können Sie diese angeben:

UMAMI_VERSION=v1.35.0

HAFEN
Konfigurieren Sie den Port, auf dem Umami lauscht (falls der Standardport nicht zutrifft):

PORT=3000

SMTP-Konfiguration (für E-Mail-Benachrichtigungen)
Wenn Sie E-Mail-Benachrichtigungen oder andere E-Mail-Funktionen aktivieren müssen, können Sie beispielsweise eine SMTP-Konfiguration einrichten:

SMTP_HOST=smtp.example.com
SMTP_PORT=587
SMTP_USER=user@example.com
SMTP_PASSWORD=IhrPasswort

UMAMI_LOG_LEVEL

Konfigurieren Sie die Protokollebene, die je nach Bedarf eingestellt werden kann:

UMAMI_LOG_LEVEL=Informationen
Beispiel einer Konfigurationsdatei:
Kombinieren Sie alle diese Konfigurationselemente in einer .env-Datei:

DATABASE_URL=mysql://umamiuser:umamipass@localhost:3306/umami_db APP_SECRET=bu4orqfdlG+Dh3Otau4oWSBbI9kGWSkGfYc/WiH/ DISABLE_TELEMETRY=1 TRACKER_SCRIPT_NAME=benutzerdefiniert NEXT_PUBLIC_BASE_URL=https://umami.example.com DISABLE_AUTH=true PORT=3000

Diese Konfigurationselemente sollten gültig sein. Stellen Sie sicher, dass Sie die MySQL-Datenbankverbindung überprüft haben, und fügen Sie bei Bedarf andere zugehörige Konfigurationen hinzu (z. B. SMTP- oder Authentifizierungseinstellungen).

Beispiel für die Verknüpfung zweier Datenbanken

postgresql://Benutzername:MeinPasswort@localhost:5432/mydb mysql://Benutzername:MeinPasswort@localhost:3306/mydb

Installieren des Updates

Führen Sie den folgenden Befehl aus, um Prisma-bezogene Abhängigkeiten zu aktualisieren:

yarn add --dev prisma@latest yarn add @prisma/client@latest

 

Umami zusammenstellen

Garnaufbau

Warten Sie einfach, bis er mit der Ausführung fertig ist.

Wenn Sie auf einen Fehler stoßen, dass Sie keine Verbindung zur Datenbank herstellen können

$-Knotenskripte/check-db.js
✓ DATABASE_URL ist definiert.
✗ Verbindung zur Datenbank kann nicht hergestellt werden.
Fehler: Der Befehl ist mit Exitcode 1 fehlgeschlagen.
info Besuchen https://yarnpkg.com/en/docs/cli/run für die Dokumentation zu diesem Befehl.
FEHLER: „check-db“ wurde mit 1 beendet.
Fehler: Der Befehl ist mit Exitcode 1 fehlgeschlagen.
info Besuchen https://yarnpkg.com/en/docs/cli/run für die Dokumentation zu diesem Befehl.

Ändern Sie localhost in 127.0.0.1

DATABASE_URL=mysql://Benutzername:Passwort@127.0.0.1:3306/Datenbankname APP_SECRET=bu4orqfdlG+Dh3Otau4oWSBbI9kGWSkGfYc/WiH/ DISABLE_TELEMETRY=1 TRACKER_SCRIPT_NAME=benutzerdefiniert

Während der Installation ist der Fehler P3018 aufgetreten

Fehler: P3018

Eine Migration konnte nicht angewendet werden. Neue Migrationen können erst nach der Behebung des Fehlers durchgeführt werden. Weitere Informationen zur Behebung von Migrationsproblemen in einer Produktionsdatenbank finden Sie hier: https://pris.ly/d/migrate-resolve

Migrationsname: 05_add_visit_id

Datenbank-Fehlercode: 1305

Datenbankfehler:
FUNCTION t_umami_hk.BIN_TO_UUID existiert nicht

Bitte überprüfen Sie die Abfrage Nummer 2 aus der Migrationsdatei.

✗ Befehl fehlgeschlagen: Prisma Migrate Deploy
Fehler: P3018

Eine Migration konnte nicht angewendet werden. Neue Migrationen können erst nach der Behebung des Fehlers durchgeführt werden. Weitere Informationen zur Behebung von Migrationsproblemen in einer Produktionsdatenbank finden Sie hier: https://pris.ly/d/migrate-resolve

Migrationsname: 05_add_visit_id

Datenbank-Fehlercode: 1305

Datenbankfehler:
FUNCTION t_umami_hk.BIN_TO_UUID existiert nicht

Bitte überprüfen Sie die Abfrage Nummer 2 aus der Migrationsdatei.

 

Fehler: Der Befehl ist mit Exitcode 1 fehlgeschlagen.
info Besuchen https://yarnpkg.com/en/docs/cli/run für die Dokumentation zu diesem Befehl.
FEHLER: „check-db“ wurde mit 1 beendet.
Fehler: Der Befehl ist mit Exitcode 1 fehlgeschlagen.
info Besuchen https://yarnpkg.com/en/docs/cli/run für die Dokumentation zu diesem Befehl.

MariaDB implementiert BIN_TO_UUID, eine integrierte Funktion in MySQL, noch nicht. Bei der Installation der MariaDB-Datenbank wird der Fehler p3018 gemeldet.

Nach dem Update von umami auf Version 2.11 wurde die UUID-Unterstützung eingeführt. MySQL muss im Migrationsskript eine zufällige UUID generieren. Wenn Sie MariaDB verwenden, unterstützt MariaDB diese Funktion jedoch nicht. Sie müssen die Datenbank manuell anpassen.

Lösung für den Fehler p3018

Führen Sie den folgenden Befehl aus und installieren Sie das Programm anschließend neu, um das Problem zu beheben.

npx prisma migrate resolve --applied "05_add_visit_id" #Requestrieren Sie den Installationsbefehl yarn build erneut.

Deinstallieren Sie Umami

Wenn während des Installationsvorgangs irreversible Vorgänge auftreten, können Sie Umami deinstallieren und neu installieren. Löschen Sie dazu einfach das Umami-Installationsverzeichnis.

rm -rf /home/umami Neustart

Port 3000 ist belegt

Wenn Port 3000 belegt ist, schlägt der Start fehl und Sie müssen nghttpx herunterfahren, das Port 3000 belegt.

nghttpx belegt Port 3000. Wenn auf nghttpx kein Dienst ausgeführt werden kann, beenden Sie nghttpx einfach.

systemctl stop nghttpx systemctl disable nghttpx reboot

Installieren Sie PM2 Manager

PM2 Manager ist ein Daemon-Programm, das Umami über PM2 öffnet

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

Bei der Installation von PM2 mit npm ist Fehler 1143 aufgetreten

Knoten:intern/Module/cjs/Loader:1143
const err = neuer Fehler (Nachricht);
^

Fehler: Modul „semver“ kann nicht gefunden werden
Stapel erforderlich:
- /usr/share/nodejs/npm/lib/utils/unsupported.js
- /usr/share/nodejs/npm/lib/cli.js
- /usr/share/nodejs/npm/bin/npm-cli.js
bei Module._resolveFilename (Knoten:intern/Module/cjs/Loader:1143:15)
bei Module._load (Knoten:intern/Module/cjs/Loader:984:27)
bei Module.require (Knoten:intern/Module/cjs/Loader:1231:19)
bei Bedarf (Knoten:intern/Module/Helfer:179:18)
bei Objekt. (/usr/share/nodejs/npm/lib/utils/unsupported.js:2:16)
bei Module._compile (Knoten:intern/Module/cjs/Loader:1369:14)
bei Module._extensions..js (Knoten:intern/Module/cjs/Loader:1427:10)
bei Module.load (Knoten:intern/Module/cjs/Loader:1206:32)
bei Module._load (Knoten:intern/Module/cjs/Loader:1022:12)
bei Module.require (Knoten:intern/Module/cjs/Loader:1231:19) {
Code: „MODUL NICHT GEFUNDEN“,
erfordernStack: [
'/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

Lösung:

Dieser Fehler tritt auf, wenn der Server nach der Installation von npm nicht neu gestartet wird und die Variablen nicht wirksam werden. Ein Neustart des Servers kann das Problem beheben.

Riesige Grube

Nach der Installation verwenden Sie Garnstart Befehl zum Öffnen von Umami. Wenn Port 3000 belegt ist, wird ein Portbelegungsfehler angezeigt.

root@localhost:~# Garnstart
Garnlauf v1.22.22
Fehler: Eine package.json-Datei konnte in „/root“ nicht gefunden werden.
info Besuchen https://yarnpkg.com/en/docs/cli/run für die Dokumentation zu diesem Befehl.
root@localhost:~# cd /home/umami
root@localhost:/home/umami# yarn start
Garnlauf v1.22.22
$ nächster Start
⨯ Server konnte nicht gestartet werden
Fehler: listen EADDRINUSE: Adresse bereits in Verwendung :::3000
bei Server.setupListenHandle [als _listen2] (Knoten:Netz:1897:16)
bei listenInCluster (Knoten:Netz:1945:12)
bei Server.listen (Knoten:Netz:2037:7)
bei /home/umami/node_modules/next/dist/server/lib/start-server.js:279:16
bei neuem Versprechen ()
bei startServer (/home/umami/node_modules/next/dist/server/lib/start-server.js:190:11)
bei nextStart (/home/umami/node_modules/next/dist/cli/next-start.js:50:40)
bei /home/umami/node_modules/next/dist/bin/next:155:54
bei async main (/home/umami/node_modules/next/dist/bin/next:155:5) {
Code: 'EADDRINUSE',
Fehlernummer: -98,
Systemaufruf: 'listen',
Adresse: '::',
Port: 3000
}
Fehler: Der Befehl ist mit Exitcode 1 fehlgeschlagen.
info Besuchen https://yarnpkg.com/en/docs/cli/run für die Dokumentation zu diesem Befehl.

Verwenden Sie den Befehl, um zu sehen, wer Port 3000 belegt

root@localhost:~# sudo lsof -i :3000
BEFEHL PID BENUTZER FD TYP GERÄTEGRÖSSE/AUS KNOTENNAME
nghttpx 919 root 5u IPv4 34021 0t0 TCP localhost:3000 (HÖREN)
nghttpx 958 root 5u IPv4 34021 0t0 TCP localhost:3000 (HÖREN)

nghttpx belegt Port 3000. Wenn auf nghttpx kein Dienst ausgeführt werden kann, beenden Sie nghttpx einfach.

systemctl stop nghttpx systemctl disable nghttpx reboot

Stoppen Sie den Dienst, deaktivieren Sie seinen Start beim Booten und starten Sie das System neu.

Achtung: Es kommt eine riesige Grube.

verwenden Garnstart Befehl zum Starten von Umami. Zu diesem Zeitpunkt ist der Port nicht belegt und der Startvorgang erfolgt normal. Anschließend:

root@localhost:/home/umami# yarn start
Garnlauf v1.22.22
$ nächster Start
▲ Next.js 14.1.4
- Lokal: http://localhost:3000

⚠ „next start“ funktioniert nicht mit der Konfiguration „output: standalone“. Verwenden Sie stattdessen „node .next/standalone/server.js“.
✓ Fertig in 2 Sekunden

Während des Startvorgangs wurde eine Warnung ausgegeben, die ungefähr bedeutet

"Nächster Start" ist nicht auf die Konfiguration "Ausgabe: Standalone" anwendbar. Bitte verwenden Sie "node.next/standalone/server.js". Ist diese Warnung ein Fehler? Muss ich sie beheben? Ich habe online nachgeschaut und festgestellt, dass es sich um ein Problem mit next.js handelt. Ergebnis: Ignorieren Sie diese Warnung. Geben Sie im Browser die IP-Adresse + Port ein. Wenn Sie normal darauf zugreifen können, fahren Sie mit dem nächsten Schritt fort. Beachten Sie, dass die Server-Firewall Port 3000 öffnen muss. Andernfalls wird der Zugriff verweigert.

Testen Sie, ob die Installation erfolgreich ist

Nach Abschluss der Installation müssen Sie über die IP-Adresse + den Port darauf zugreifen, um zu prüfen, ob die Seite geöffnet werden kann. Die Seite öffnet sich beim ersten Mal langsam, warten Sie also einfach einen Moment.

Selbst erstellte Statistik-Website Umami Statistics-1

Wenn kein Fehler angezeigt wird, war die Installation erfolgreich. Testen Sie, ob http://127.0.0.1:3000 auf dem lokalen Computer normal geöffnet werden kann.

curl http://127.0.0.1:3000

Überprüfen Sie, ob Daten ausgegeben werden.

Selbst erstellte Statistik-Website Umami Statistics-1Überprüfen Sie den aktuellen Status von Port 3000. Wenn Port 3000 noch belegt ist, sollte umami nicht gestartet werden.

lsof -i:3000

Öffnen Sie Umami in Ihrem Browser mit der IP-Adresse und dem Port Ihres Servers

Ubuntu erstellt Statistik-Website Umami statistics-1

Melden Sie sich mit dem standardmäßigen Benutzernamen und Kennwort des Systems an.

  • Benutzername: admin
  • Passwort: umami

Ubuntu erstellt Statistik-Website Umami statistics-1

Die Seite ist sehr einfach und elegant, gehen Sie und richten Sie IhreNach dem Hinzufügen der Website können Sie den Code abrufen und mit der Statistik beginnen!

Denken Sie daran, Ihr Passwort in Ihrem persönlichen Profil zu ändern und komplexer zu gestalten!

Ubuntu erstellt Statistik-Website Umami statistics-1

PM2 deinstallieren

# Deaktivieren Sie den PM2-Start pm2 unstartup # Beenden Sie den Daemon pm2 kill # Deinstallieren Sie npm remove pm2 -g # Löschen Sie alle gespeicherten Konfigurationen und Protokolle rm -rf ~/.pm2

Nachdem der Löschvorgang abgeschlossen ist, gehen Sie zu /usr/local/lib/node_modules/ und prüfen Sie, ob dort ein pm2-Ordner vorhanden ist. Falls ja, löschen Sie ihn einfach.

OpenLiteSpeed als Reverse-Proxy-Server

Erstellen Sie einen neuen virtuellen Host in OpenLiteSpeed und geben Sie diesen Host ein, um einen neuen zu erstellenExterne Anwendungen , wählen Sie Netzwerkserver für Typ, geben SieTongji , die Adresse ist 127.0.0.1:3000, Sie können öffentliches Netzwerk IP:3000 schreiben

Ubuntu erstellt Statistik-Website Umami statistics-1

Ubuntu erstellt Statistik-Website Umami statistics-2

Ubuntu erstellt Statistik-Website Umami statistics-3

Erstellen Sie dann einen Ressourcensatz, wählen Sie Proxy als Typ und setzen Sie die URI auf /

Ubuntu erstellt Statistik-Website Umami statistics-1

Ubuntu erstellt Statistik-Website Umami statistics-2

Ubuntu erstellt Statistik-Website Umami statistics-3

 

Hinweis: Wählen Sie das zuvor erstellte Tongji für den Netzwerkserver aus und geben Sie für andere Einstellungen das Maximum ein.

Regeln neu schreiben. Da die Domänennamen im Front-End und Back-End unterschiedlich sind, sollten pseudostatische Regeln verwendet werden, um den Domänennamen an das Back-End zu übergeben. Andernfalls lehnt das Back-End die Verbindung ab, und das Front-End gibt direkt einen 403- oder 500-Fehler zurück.

Ubuntu erstellt Statistik-Website Umami statistics-1

RewriteRule ^/(.*)$ http://tongji/$1 [P,E=Proxy-Host:xxx.com]
Beachten Sie, dass tongji der Name der externen Anwendung im zweiten Schritt ist, xxx.com istDer Domänenname von .
Wenn Sie das CyberPanel-Panel installiert haben, wird in den Umschreibregeln „Von CyberPanel deaktiviert“ angezeigt. Sie müssen die Umschreibregeln auf der dem CyberPanel-Panel entsprechenden Website eingeben.
Starten Sie OpenLiteSpeed abschließend neu und Sie können normal darauf zugreifen.

Chinesisch konfigurieren

Nach der Anmeldung im Backend ist möglicherweise Englisch als Standardeinstellung eingestellt. Das Panel ist in vereinfachtem Chinesisch verfügbar. Öffnen Sie Einstellungen -> Profil -> Sprache und wählen Sie Chinesisch.

Upgrade und Update von Umami

Es gibt ein Update für Umami. Pausieren Sie pm2 und führen Sie vor dem Ausführen den folgenden Code zum Aktualisieren aus:

pm2 stop umami #Geben Sie das Umami-Dateiverzeichnis eincd /home/umami git pull yarn install yarn build

Dies ist mir beim Upgrade von Umami aufgefallen. Prisma-Migrationsbereitstellungsfehler: P3009

Dieser Fehler wird durch die Einführung der UUID-Unterstützung nach dem Update von umami auf Version 2.11 verursacht. MySQL muss im Migrationsskript eine zufällige UUID generieren. Wenn Sie MariaDB verwenden, unterstützt MariaDB diese Funktion jedoch nicht. Sie müssen die Datenbank manuell anpassen.

Das Folgende ist die MySQL-Ausführungsanweisung.

-- AlterTable ALTER TABLE website_event ADD COLUMN visit_id VARCHAR(36) NULL; -- Aktualisierung mit UUIDv4 UPDATE website_event wir 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(erstellt am, '%Y-%m-%d %H:00:00') Besuchszeit VON Website-Ereignis ) s ) a AUF wir.Sitzungs-ID = a.Sitzungs-ID UND DATE_FORMAT(wir.erstellt am, '%Y-%m-%d %H:00:00') = a.Besuchszeit SETZEN wir.Besuchs-ID = a.uuid WO wir.Besuchs-ID NULL IST; -- ModifyColumn ALTER TABLE Website-Ereignis MODIFY Besuchs-ID VARCHAR(36) NICHT NULL; -- CreateIndex CREATE INDEX Website-Ereignis_Besuchs-ID_idx AUF Website-Ereignis(Besuchs-ID); -- CreateIndex CREATE INDEX website_event_website_id_visit_id_created_at_idx ON website_event(website_id, visit_id, created_at);

Lösen Sie dann die Migrationen im Umami-Ordner auf:

# Geben Sie das Umami-Dateiverzeichnis ein cd /home/umami npx prisma migrate resolve --applied "05_add_visit_id"

Vergessen Sie nach der Ausführung des Update-Befehls nicht, PM2 zu starten

#Geben Sie das Umami-Dateiverzeichnis eincd /home/umami git pull yarn install yarn build pm2 start npm --name umami -- start

 

Damit ist die Umami-Einrichtung offiziell abgeschlossen. Die weitere Konfiguration ist ganz einfach: Folgen Sie einfach den Anweisungen auf dem Umami-Panel. Bei Fragen hinterlassen Sie bitte eine Nachricht im Kommentarbereich.

Referenzartikel:https://www.howtoforge.com/how-to-install-umami-analytics-on-debian-12/

5/5 - (1 Stimme)

Das ist eine gute Idee

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * Mark