Typesense sur un serveur Ubuntu avec configuration SSL Let's Encrypt

Configurer le serveur

Tout d’abord, configurez votre serveur chez votre fournisseur de cloud préféré. Evt. Configurez les clés SSH, au lieu de l'authentification par mot de passe root

Installer Typesense

Au moment de la rédaction, voici les étapes d'installation :

# 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 # Démarrez Typesense sudo systemctl démarre typesense-server.service

Vous pouvez trouver les étapes les plus récentes ici : https://typesense.org/docs/guide/install-typesense.html#deb-package-on-ubuntu-debian .

Lier un domaine via DNS à l'IP de votre serveur

Lien vers votre domaine via un enregistrement DNS A :

Un IPOFYOURSERVER de votredomaine de recherche.com

Mise en ligne sans certificat SSL

Vous pouvez obtenir votre clé API à partir du fichier : /etc/typesense/typesense-server.ini . Si nécessaire, vous pouvez ajuster cette clé.

Si vous deviez installer Typesense dans Laravel Scout, PHP ou un autre fournisseur, cela pourrait déjà fonctionner maintenant. Lorsque vous utilisez ces variables dans .env ou dans scout.php :

TYPESENSE_HOST=votredomaine de recherche.com // ou IPOFYOURSERVER
TYPESENSE_PORT=8108
TYPESENSE_PROTOCOL=http
TYPESENSE_API_KEY=VOTRECLÉ

Par exemple, lorsque vous essayez Laravel Scout pour importer des données, cela devrait fonctionner.

Mais, pour le rendre plus sécurisé, il est préférable d'utiliser SSL pour protéger les données.

Installer SSL avec Certbot

Pour le moment, exécutez :

noyau d'installation sudo snap ; sudo snap actualiser le noyau # si vous avez déjà exécuté certbot, désinstallez-le d'abord (soyez conscient du fait que les certificats SSL précédents peuvent être déconnectés) # sudo apt supprimer certbot # activer le port 443 si le pare-feu est actif sudo ufw allow 443 # il se pourrait que le port 80 est également requis pour certbot sudo ufw allow 80 sudo snap install --classic certbot sudo ln -s /snap/bin/certbot /usr/bin/certbot

Grâce à Océan numérique pour le guide d'installation de Certbot en mode classique.

Vous recevrez les fichiers de certificat en sortie. Par exemple:

Certificat reçu avec succès. Le certificat est enregistré dans : /etc/letsencrypt/live/yourdomain.com/fullchain.pem La clé est enregistrée dans : /etc/letsencrypt/live/yourdomain.com/privkey.pem ...

Modifiez ce fichier : /etc/typesense/typesense-server.ini et ajoutez les emplacements des certificats :

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

Changez la variable suivante

port API = 8108

À:

port API = 443

Allez sur : https://votredomaine.com/health

Il devrait afficher :

{"ok": vrai}

Configurer le pare-feu

Essayez sudo ufw status. Il est probablement ouvert à tout trafic. Assurez-vous que seuls quelques ports sont disponibles, probablement 443 et votre port ssh (probablement le port 22) et si ufw n'est pas activé :

sudo ufw autorise 443 sudo ufw autorise 22 # ou tout autre port ssh

Assurez-vous que ces ports sont corrects, cela peut désactiver l'accès à votre VPS/serveur complet. Après cela, activez le pare-feu :

sudo ufw activer

Configurez le fichier de configuration Typesense :

Sélectionnez d'ailleurs la dernière version de Typesense, lors de la configuration de la configuration du serveur. Vous pouvez ajouter des paramètres supplémentaires au fichier : /etc/typesense/typesense-server.ini .

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

Configurer CORS

Vous pouvez également configurer des domaines cors, afin que les appels javascript ne soient autorisés qu'à partir de certains domaines dans /etc/typesense/typesense-server.ini :

activer-cors=true cors-domains=https://votredomaine1.com,https://votredomaine2.com

Facultatif : créez une sauvegarde régulière

Par exemple, vous pouvez créer un instantané chaque jour et créer une sauvegarde avec tarsnap et des actes.

Créez un fichier shell nommé make-snapshot.sh. Remplacez les variables, insérez l'URL (et le port) de votre instance Typesense et choisissez le bon chemin d'instantané.

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

Assurez-vous qu'il est correctement modifié.

Assurez-vous ensuite que le contenu de ce répertoire est sauvegardé fréquemment

Plus d'infos sur : https://typesense.org/docs/guide/backups.html .

Facultatif : installez un serveur de surveillance ou un package d'hébergement pour surveiller le serveur.

Nous venons de lancer un propre package simple, appelé PHPTypesenseAdmin, qui surveille votre instance nouvellement créée via une simple interface Web sur PHP.

Tableau de bord PHPTypesenseAdmin

Guides plus utiles :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

fr_FRFrançais
Défiler vers le haut