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.
Weitere nützliche Anleitungen:
- Einrichten von Typesense über ein Docker-Image: ServiceStack-Handbuch
- Erstellen PHPTypesenseAdmin zur Überwachung einiger Variablen