Typesense su un server Ubuntu con configurazione SSL Let's Encrypt

Configurare il server

Per prima cosa, imposta il tuo server presso il tuo provider cloud preferito. Evt. Imposta le chiavi SSH, invece dell'autenticazione con password di root

🤓😎 Sempre più persone stanno ricevendo i nostri consigli su Geek, Privacy, Sviluppo e Stile di Vita

Vuoi ricevere gli ultimi blog su Geek, Privacy, Sviluppo e Lifestyle? Iscriviti alla nostra newsletter.

Installa Typesense

Al momento in cui scrivo, questi sono i passaggi di installazione (scarica la versione più aggiornata tramite il sito di Typesense):

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

Puoi trovare i passaggi più aggiornati qui: https://typesense.org/docs/guide/install-typesense.html#deb-package-on-ubuntu-debian .

Collega un dominio tramite DNS all'IP del tuo server

Collega il tuo dominio tramite un record DNS A:

Un IPOFYOURSERVER di yoursearchdomain.com

Andare in onda senza un certificato SSL

Puoi ottenere la tua chiave API dal file: /etc/typesense/typesense-server.ini . Se necessario, puoi modificare questa chiave.

Se installassi Typesense in Laravel Scout, PHP o un altro provider, potrebbe già funzionare. Quando utilizzi queste variabili in .env o in scout.php:

TYPESENSE_HOST=tuodominiodiricerca.com // o IPOFYOURSERVER
TYPESENSE_PORT=8108
TYPESENSE_PROTOCOL=http
TYPESENSE_API_KEY=LA TUA CHIAVE

Ad esempio, se provi ad importare dati con Laravel Scout, dovrebbe funzionare.

Ma per una maggiore sicurezza è meglio usare SSL per proteggere i dati.

Installa SSL con Certbot

Al momento, esegui:

sudo snap install core; sudo snap refresh core # se hai già eseguito certbot, disinstallalo prima (tieni presente che i precedenti certificati SSL potrebbero andare offline) # sudo apt remove certbot # abilita la porta 443 se il firewall è attivo sudo ufw allow 443 # potrebbe essere che anche la porta 80 sia richiesta per certbot sudo ufw allow 80 sudo snap install --classic certbot sudo ln -s /snap/bin/certbot /usr/bin/certbot sudo certbot certonly --standalone -d your_domain

Grazie a Oceano digitale per la guida all'installazione di Certbot in modalità classica.

Riceverai i file del certificato come output. Ad esempio:

Certificato ricevuto con successo. Il certificato è salvato in: /etc/letsencrypt/live/yourdomain.com/fullchain.pem La chiave è salvata in: /etc/letsencrypt/live/yourdomain.com/privkey.pem ...

Modifica questo file: /etc/typesense/typesense-server.ini e aggiungi i percorsi dei certificati:

certificato-ssl=/etc/letsencrypt/live/tuodominio.com/fullchain.pem chiave-certificato-ssl=/etc/letsencrypt/live/tuodominio.com/privkey.pem

Cambia la seguente variabile

porta api = 8108

A:

porta api = 443

Vai a: https://tuodominio.com/health

Dovrebbe visualizzare:

{"ok":vero}

Imposta il firewall

Prova sudo ufw status. Probabilmente è aperto a tutto il traffico. Assicurati che siano disponibili solo poche porte, probabilmente 443 e la tua porta ssh (probabilmente la porta 22) e se ufw non è abilitato:

sudo ufw allow 443 sudo ufw allow 22 # o qualsiasi altra porta ssh

Assicurati che queste porte siano corrette, può disabilitare l'accesso al tuo VPS/server completo. Dopodiché, abilita il Firewall:

sudo ufw abilita

Imposta il file di configurazione Typesense:

A proposito, quando si imposta la configurazione del server, selezionare l'ultima versione di Typesense. È possibile aggiungere parametri extra al file: /etc/typesense/typesense-server.ini .

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

Imposta CORS

Puoi anche impostare cors-domains, in modo che le chiamate javascript siano consentite solo da determinati domini in /etc/typesense/typesense-server.ini :

enable-cors=true cors-domains=https://tuodominio1.com,https://tuodominio2.com

Facoltativo: crea un backup regolare

Ad esempio, puoi creare uno snapshot ogni giorno e creare un backup con tarsnap e agisce.

Crea un file shell denominato make-snapshot.sh. Sostituisci le variabili e inserisci l'URL (e la porta) della tua istanza Typesense e scegli il percorso snapshot corretto.

#!/bin/bash curl "http://localhost:8108/operations/snapshot?snapshot_path=/tmp/typesense-data-snapshot" -X POST \ -H "Tipo di contenuto: application/json" \ -H "X-KEY API DI TIPO SENSE: ${KEY_API_DI_TIPO}"

Assicuratevi che il chmod sia stato impostato correttamente.

Quindi assicurati che il contenuto di questa directory venga sottoposto a backup con frequenza

Maggiori informazioni su: https://typesense.org/docs/guide/backups.html .

Facoltativo: installare un server di monitoraggio o un pacchetto di hosting per il monitoraggio del server

Abbiamo appena lanciato un nostro semplice pacchetto, chiamato PHPTypesenseAdmin, che monitora la tua istanza appena creata tramite una semplice interfaccia web su PHP.

Pannello di controllo PHPTypesenseAdmin

Altre guide utili:

Ultimo aggiornamento il 29 Luglio 2025

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

it_ITItaliano
Scorri verso l'alto