Typesense op een Ubuntu-server met Let's Encrypt SSL-instelling

Server instellen

Installeer eerst uw server bij uw favoriete cloudprovider naar keuze. Evt. Stel SSH-sleutels in in plaats van root-wachtwoordverificatie

Installeer Typesense

Op het moment van schrijven zijn dit de installatiestappen:

# 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 # Start Typesense sudo systemctl start typesense-server.service

De meest actuele stappen vindt u hier: https://typesense.org/docs/guide/install-typesense.html#deb-package-on-ubuntu-debian .

Koppel een domein via DNS aan het IP-adres van uw server

Koppeling met uw domein via een DNS A-record:

Een uwzoekdomein.com IPOFYOURSERVER

Live gaan zonder SSL-certificaat

U kunt uw API-sleutel ophalen uit het bestand: /etc/typesense/typesense-server.ini . Indien nodig kunt u deze sleutel aanpassen.

Als je Typesense in Laravel Scout, PHP of een andere provider zou installeren, zou het nu al kunnen werken. Wanneer je deze variabelen gebruikt in .env of in scout.php:

TYPESENSE_HOST=uwzoekdomein.com // of IPOFYOURSERVER
TYPESENSE_PORT=8108
TYPESENSE_PROTOCOL=http
TYPESENSE_API_KEY=UW SLEUTEL

Wanneer u bijvoorbeeld Laravel Scout probeert om gegevens te importeren, zou het moeten werken.

Maar om het veiliger te maken, is het beter om SSL te gebruiken om de gegevens te beschermen.

Installeer SSL met Certbot

Voer op dit moment uit:

sudo snap-installatiekern; sudo snap refresh core # als je certbot eerder hebt uitgevoerd, verwijder het dan eerst (houd er rekening mee dat eerdere SSL-certificaten offline kunnen gaan) # sudo apt remove certbot # enable poort 443 als de firewall actief is sudo ufw allow 443 # het kan zijn dat poort 80 is ook vereist voor certbot sudo ufw allow 80 sudo snap install --classic certbot sudo ln -s /snap/bin/certbot /usr/bin/certbot

Dankzij Digitale Oceaan voor de handleiding voor het installeren van Certbot in de klassieke modus.

U ontvangt de certificaatbestanden als uitvoer. Bijvoorbeeld:

Certificaat succesvol ontvangen. Certificaat wordt opgeslagen op: /etc/letsencrypt/live/uwdomein.com/fullchain.pem Sleutel wordt opgeslagen op: /etc/letsencrypt/live/uwdomein.com/privkey.pem ...

Bewerk dit bestand: /etc/typesense/typesense-server.ini en voeg de certificaatlocaties toe:

ssl-certificaat=/etc/letsencrypt/live/uwdomein.com/fullchain.pem ssl-certificaat-sleutel=/etc/letsencrypt/live/uwdomein.com/privkey.pem

Wijzig de volgende variabele

api-poort = 8108

Naar:

api-poort = 443

Ga naar: https://uwdomein.com/health

Het zou moeten weergeven:

{"ok":waar}

Firewall instellen

Probeer sudo ufw-status. Waarschijnlijk is het open voor al het verkeer. Zorg ervoor dat er slechts een paar poorten beschikbaar zijn, waarschijnlijk 443 en uw ssh-poort (waarschijnlijk poort 22) en als ufw niet is ingeschakeld:

sudo ufw allow 443 sudo ufw allow 22 # of een andere ssh-poort

Zorg ervoor dat deze poorten correct zijn, dit kan de toegang tot uw volledige VPS/server uitschakelen. Schakel daarna de Firewall in:

sudo ufw inschakelen

Typesense-configuratiebestand instellen:

Selecteer overigens de nieuwste Typesense-versie bij het instellen van de serverconfiguratie. U kunt extra parameters toevoegen aan het bestand: /etc/typesense/typesense-server.ini .

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

CORS instellen

Je kunt ook cors-domeinen instellen, zodat javascript-aanroepen alleen vanuit bepaalde domeinen zijn toegestaan /etc/typesense/typesense-server.ini :

enable-cors=true cors-domains=https://uwdomein1.com,https://uwdomein2.com

Optioneel: maak een regelmatige back-up

U kunt bijvoorbeeld elke dag een momentopname maken en daar een back-up mee maken tarsnap en handelingen.

Maak een shellbestand met de naam make-snapshot.sh. Vervang de variabelen en voer de URL (en poort) van uw Typesense-instantie in en kies het juiste snapshotpad.

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

Zorg ervoor dat het correct is gechmodd.

Zorg er vervolgens voor dat van de inhoud van deze map een back-upfrequentie wordt gemaakt

Meer informatie op: https://typesense.org/docs/guide/backups.html .

Optioneel: Installeer een monitoringserver of hostingpakket voor het monitoren van de server

We hebben zojuist een eigen eenvoudig pakket gelanceerd, genaamd PHPTypesenseAdmin, dat uw nieuw gemaakte instantie bewaakt via een eenvoudige webinterface op PHP.

PHPTypesenseAdmin-dashboard

Meer nuttige handleidingen:

Laat een reactie achter

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

nl_NLNederlands
Scroll naar boven