Typesense auf einem Ubuntu Server mit Let's Encrypt SSL Einrichtung

Server einrichten

Richten Sie zunächst Ihren Server bei Ihrem bevorzugten Cloud-Anbieter ein. Richten Sie ggf. SSH-Schlüssel anstelle der Root-Passwort-Authentifizierung ein

Typesense installieren

Zum Zeitpunkt des Schreibens sind dies die Installationsschritte:

# x64 curl -O https://dl.typesense.org/releases/0.25.2/typesense-server-0.25.2-amd64.deb sudo apt install ./typesense-server-0.25.2-amd64.deb # arm64 curl -O https://dl.typesense.org/releases/0.25.2/typesense-server-0.25.2-arm64.deb sudo apt install ./typesense-server-0.25.2-arm64.deb # Starten Sie Typesense sudo systemctl start typesense-server.service

Die aktuellsten Schritte finden Sie hier: https://typesense.org/docs/guide/install-typesense.html#deb-package-on-ubuntu-debian .

Verknüpfen Sie eine Domain über DNS mit der IP Ihres Servers

Verknüpfen Sie Ihre Domain über einen DNS-A-Eintrag:

Eine yoursearchdomain.com IP-Adresse Ihres Servers

Live gehen ohne SSL-Zertifikat

Ihren API-Schlüssel können Sie der Datei: /etc/typesense/typesense-server.ini entnehmen. Bei Bedarf können Sie diesen Schlüssel anpassen.

Wenn Sie Typesense in Laravel Scout, PHP oder einem anderen Anbieter installieren würden, könnte es jetzt bereits funktionieren. Wenn Sie diese Variablen in .env oder in scout.php verwenden:

TYPESENSE_HOST=yoursearchdomain.com // oder IPOFYOURSERVER
TYPESENSE_PORT=8108
TYPESENSE_PROTOCOL=http
TYPESENSE_API_KEY=IHRSCHLÜSSEL

Wenn Sie beispielsweise versuchen, Daten mit Laravel Scout zu importieren, sollte es funktionieren.

Um die Sicherheit zu erhöhen, ist es jedoch besser, zum Schutz der Daten SSL zu verwenden.

Installieren Sie SSL mit Certbot

Führen Sie im Moment Folgendes aus:

sudo snap install core; sudo snap refresh core # wenn Sie certbot zuvor ausgeführt haben, deinstallieren Sie es zuerst (beachten Sie, dass vorherige SSL-Zertifikate offline gehen könnten) # sudo apt remove certbot # aktivieren Sie Port 443, wenn die Firewall aktiv ist sudo ufw allow 443 # es könnte sein, dass Port 80 auch für certbot erforderlich ist sudo ufw allow 80 sudo snap install --classic certbot sudo ln -s /snap/bin/certbot /usr/bin/certbot

Dank an Digitaler Ozean für die Anleitung zur Installation von Certbot im klassischen Modus.

Sie erhalten die Zertifikatsdateien als Ausgabe. Beispiel:

Zertifikat erfolgreich erhalten. Zertifikat ist gespeichert unter: /etc/letsencrypt/live/yourdomain.com/fullchain.pem Schlüssel ist gespeichert unter: /etc/letsencrypt/live/yourdomain.com/privkey.pem ...

Bearbeiten Sie diese Datei: /etc/typesense/typesense-server.ini und fügen Sie die Zertifikatsspeicherorte hinzu:

ssl-Zertifikat=/etc/letsencrypt/live/IhreDomain.com/fullchain.pem ssl-Zertifikatsschlüssel=/etc/letsencrypt/live/IhreDomain.com/privkey.pem

Ändern Sie die folgende Variable

API-Port = 8108

Zu:

API-Port = 443

Gehen Sie zu: https://yourdomain.com/health

Es sollte Folgendes angezeigt werden:

{"ok":true}

Firewall einrichten

Versuchen Sie sudo ufw status. Wahrscheinlich ist es für den gesamten Datenverkehr geöffnet. Stellen Sie sicher, dass nur wenige Ports verfügbar sind, wahrscheinlich 443 und Ihr SSH-Port (wahrscheinlich Port 22) und wenn ufw nicht aktiviert ist:

sudo ufw allow 443 sudo ufw allow 22 # oder ein anderer SSH-Port

Stellen Sie sicher, dass diese Ports korrekt sind. Andernfalls kann der Zugriff auf Ihren gesamten VPS/Server deaktiviert werden. Aktivieren Sie anschließend die Firewall:

sudo ufw aktivieren

Einrichten der Typesense-Konfigurationsdatei:

Wählen Sie übrigens beim Einrichten der Serverkonfiguration die neueste Typesense-Version aus. Sie können zusätzliche Parameter in der Datei hinzufügen: /etc/typesense/typesense-server.ini .

https://typesense.org/docs/0.25.2/api/server-configuration.html

Einrichten von CORS

Sie können auch Cors-Domains einrichten, so dass Javascript-Aufrufe nur von bestimmten Domains aus erlaubt sind in /etc/typesense/typesense-server.ini :

enable-cors=true cors-domains=https://IhreDomäne1.com,https://IhreDomäne2.com

Optional: Regelmäßiges Backup erstellen

Sie können beispielsweise jeden Tag einen Snapshot erstellen und ein Backup erstellen mit Tarsnap und Taten.

Erstellen Sie eine Shell-Datei mit dem Namen make-snapshot.sh. Ersetzen Sie die Variablen, fügen Sie die URL (und den Port) Ihrer Typesense-Instanz ein und wählen Sie den richtigen Snapshot-Pfad.

#!/bin/bash curl "http://localhost:8108/operations/snapshot?snapshot_path=/tmp/typesense-data-snapshot" -X POST \ -H "Inhaltstyp: application/json" \ -H "X-TYPESENSE-API-KEY: ${TYPESENSE_API_KEY}"

Stellen Sie sicher, dass die chmod-Anweisung korrekt ist.

Stellen Sie dann sicher, dass der Inhalt dieses Verzeichnisses regelmäßig gesichert wird

Mehr Infos unter: https://typesense.org/docs/guide/backups.html .

Optional: Installieren Sie einen Überwachungsserver oder ein Hosting-Paket zur Überwachung des Servers

Wir haben gerade ein eigenes einfaches Paket auf den Markt gebracht, genannt PHPTypesenseAdmin, das Ihre neu erstellte Instanz über eine einfache Weboberfläche auf PHP überwacht.

PHPTypesenseAdmin Dashboard

Weitere nützliche Anleitungen:

Einen Kommentar hinterlassen

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

de_DEDeutsch
Nach oben blättern