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.
Guides plus utiles :
- Configuration de Typesense via une image Docker : Guide ServiceStack
- Créer PHPTypesenseAdmin pour surveiller certaines variables