Typesense på en Ubuntu-server med Let's Encrypt SSL Setup

Konfigurera servern

Ställ först in din server hos din favoritmolnleverantör. Evt. Ställ in SSH-nycklar, istället för root-lösenordsautentisering

🤓😎 Fler och fler människor får våra tips om nördar, integritet, utveckling och livsstil

Vill du få de senaste bloggarna om nördar, integritet, utveckling och livsstil? Prenumerera på vårt nyhetsbrev.

Installera Typesense

I skrivande stund är dessa installationsstegen (få den senaste versionen via Typesenses webbplats):

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

Du kan hitta de mest uppdaterade stegen här: https://typesense.org/docs/guide/install-typesense.html#deb-package-on-ubuntu-debian .

Länka en domän via DNS till IP på din server

Länka till din domän via en DNS A-post:

En yoursearchdomain.com IPOFYOURSERVER

Sänds live utan SSL-certifikat

Du kan hämta din API-nyckel från filen: /etc/typesense/typesense-server.ini . Om det behövs kan du justera denna nyckel.

Om du skulle installera Typesense i Laravel Scout, PHP eller en annan leverantör, skulle det kunna fungera redan nu. När du använder dessa variabler i .env eller i scout.php:

TYPESENSE_HOST=din sökdomän.com // eller IPOFYOURSERVER
TYPESENSE_PORT=8108
TYPESENSE_PROTOCOL=http
TYPESENSE_API_KEY=DIN NYCKEL

Till exempel när du försöker importera data med Laravel Scout borde det fungera.

Men för att göra det säkrare är det bättre att använda SSL för att skydda data.

Installera SSL med Certbot

Kör för tillfället:

sudo snap install core; sudo snap refresh core # om du körde certbot tidigare, avinstallera det först (var medveten om att tidigare SSL-certifikat kan gå offline) # sudo apt remove certbot # aktivera port 443 om brandväggen är aktiv sudo ufw allow 443 # det kan vara så att port 80 också krävs för certbot sudo ufw allow 80 sudo snap install --classic certbot sudo ln -s /snap/bin/certbot /usr/bin/certbot sudo certbot certonly --standalone -d din_domän

Tack vare Digital Ocean för guiden för att installera Certbot i klassiskt läge.

Du kommer att få certifikatfilerna som utdata. Till exempel:

Har tagit emot certifikatet. Certifikatet sparas på: /etc/letsencrypt/live/yourdomain.com/fullchain.pem Nyckeln sparas på: /etc/letsencrypt/live/yourdomain.com/privkey.pem ...

Redigera den här filen: /etc/typesense/typesense-server.ini och lägg till certifikatplatserna:

ssl-certificate=/etc/letsencrypt/live/yourdomain.com/fullchain.pem ssl-certificate-key=/etc/letsencrypt/live/yourdomain.com/privkey.pem

Ändra följande variabel

api-port = 8108

Till:

api-port = 443

Gå till: https://dindomän.com/health

Det ska visa:

{"ok":true}

Konfigurera brandvägg

Prova sudo ufw status. Förmodligen är det öppet för all trafik. Se till att endast ett fåtal portar är tillgängliga, förmodligen 443 och din ssh-port (förmodligen port 22) och om ufw inte är aktiverat:

sudo ufw allow 443 sudo ufw allow 22 # eller någon annan ssh-port

Se till att dessa portar är korrekta, det kan inaktivera åtkomst till din kompletta VPS/server. Efter det, aktivera brandväggen:

sudo ufw aktivera

Konfigurera Typesense-konfigurationsfil:

Välj förresten den senaste Typesense-versionen när du ställer in serverkonfigurationen. Du kan lägga till extra parametrar i filen: /etc/typesense/typesense-server.ini .

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

Ställ in CORS

Du kan också ställa in cors-domäner, så att javascript-anrop endast är tillåtna från vissa domäner i /etc/typesense/typesense-server.ini :

enable-cors=true cors-domains=https://dindomän1.com,https://dindomän2.com

Valfritt: skapa en vanlig säkerhetskopia

Du kan till exempel skapa en ögonblicksbild varje dag och skapa en säkerhetskopia med tarsnap och agerar.

Gör en skalfil med namnet make-snapshot.sh. Byt ut variablerna och infoga URL (och port) för din Typesense-instans och välj rätt ögonblicksbildsväg.

#!/bin/bash curl "http://localhost:8108/operations/snapshot?snapshot_path=/tmp/typesense-data-snapshot" -X POST \ -H "Content-Type: application/json" \ -H "X-TYPESENSE-API-KEY: 1TPEYSE_TAPTY{1TP4}"

Se till att den är korrekt chmoddad.

Se sedan till att innehållet i denna katalog säkerhetskopieras frekvens

Mer info på: https://typesense.org/docs/guide/backups.html .

Valfritt: Installera en övervakningsserver eller ett värdpaket för övervakning av servern

Vi har precis lanserat ett eget enkelt paket, kallat PHPTypesenseAdmin, som övervakar din nyskapade instans via ett enkelt webbgränssnitt på PHP.

PHPTypesenseAdmin Dashboard

Fler användbara guider:

Senast uppdaterad 29 juli 2025

Lämna en kommentar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *

sv_SESvenska
Bläddra till toppen