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.
Meer nuttige handleidingen:
- Typesense instellen via een Docker-image: ServiceStack-gids
- Creëren PHPTypesenseAdmin voor het monitoren van bepaalde variabelen