Menu Sluiten
Categorieën bekijken

Data Crow Server

9 min leestijd

Sinds Data Crow 4.0 is het mogelijk om Data Crow als server te draaien. Hierdoor kunnen klanten verbinding maken met een enkele instantie van Data Crow.

De servereditie is een geavanceerde server, een gecombineerde web- en applicatieserver. Dit betekent dat gebruikers verbinding kunnen maken met Data Crow via de thick-client (de Data Crow applicatie) en/of de webclient (de browser). De server maakt het mogelijk dat meerdere gebruikers, die een van deze clients (thick / web) gebruiken, tegelijkertijd verbinding maken met de server. Met de gebruikersbeheerfunctie kun je per gebruiker granulaire gebruikersrechten instellen, tot op veldniveau.

De servereditie is headless, wat betekent dat het kan draaien in omgevingen waar er geen grafische interface is.

De server heeft verschillende rollen, het is:

  • een applicatieserver, waarmee een dikke client veilig kan verbinden.
  • een webserver, waardoor browsers verbinding kunnen maken.
  • een API-server waarmee andere diensten buiten Data Crow verbinding kunnen maken en informatie kunnen ophalen (alleen met uw toestemming). Zowel de webversie als de Data Crow Reader-app maken gebruik van de API.

De server installeren
#

De server installeren:

  • Unzip de gezipte Data Crow Server distributie naar de installatielocatie.

Dat is alles – er is geen verdere installatie nodig. Je hebt wel Java versie 17 of hoger nodig.

De server instellen #

Net zoals de normale client een gebruikersmap nodig heeft om de gegevens en instellingen in op te slaan, heeft de server dat ook. Je kunt ervoor kiezen om de servereditie een nieuwe lege gebruikersmap te laten maken, of je kunt ervoor kiezen om een bestaande gebruikersmap te gebruiken.

Tip: gebruik de thick client om de initiële gebruikersmap in te stellen - gebruik de client om gebruikers aan te maken, de systeeminstellingen te wijzigen en in principe om Data Crow naar wens te configureren. Dit in tegenstelling tot de webclient, die niet alle mogelijkheden van de thick client heeft.

De server uitvoeren
#

De server heeft geen grafische gebruikersinterface (GUI) en vertrouwt dus volledig op de opdrachtregel. Open de terminal (Linux- en Mac-gebruikers) / opdrachtprompt (Windows-gebruikers) en navigeer naar de installatiemap van Data Crow Server.

In het onderstaande voorbeeld zal ik laten zien <command> voor het startcommando Data Crow;

  • Geen Windows: Java –Xmx1024m –jar datacrow-server.jar
    De -Xmx1024m parameter specificeert de hoeveelheid geheugen die beschikbaar is voor Data Crow. Je kunt dit indien nodig veranderen in een ander getal.
  • Windows: datacrow-server.exe (of het bovenstaande, beide zijn goed)

Nu zijn we klaar om de server te starten.

<command> -gebruikersnaam: –poort: –imageserverport: -webserverport: –inloggegevens:/

Uitleg:

  • De <command> Ik heb het hierboven uitgelegd, zorg ervoor dat je de juiste syntaxis gebruikt voor het platform dat je gebruikt.
  • userdir: specificeert de locatie van de gebruikersmap.
    Voorbeeld (Windows): -userdir:c:/server-data
  • haven: specificeert het hoofdpoortnummer voor de applicatieserver. De standaardpoort is 9000. Als je de poortparameter niet opgeeft, wordt poort 9000 gebruikt.
    Voorbeeldpoort:9000
    Wanneer de server is gestart, maken clients verbinding door de Data Crow Client in clientmodus te starten (-client parameter).
  • imageserverport: specificeert de poort die gebruikt moet worden voor de HTTP-imageregelserver. De standaardinstelling is poort 8081. Als u de parameter poort niet opgeeft, wordt poort 8081 gebruikt.
    Voorbeeld: - beeldenserverpoort:8081
  • webserverport: specificeert de poort die gebruikt moet worden voor de webserver. Indien niet opgegeven, wordt de webservermodule niet gestart.
    Voorbeeldwebserverpoort:8080
    Na het starten maken clients als volgt verbinding met de server:
    https://:/datacrow
    Example: https://192.168.178.12:8080/datacrow.
  • credentials: gebruikersnaam en wachtwoord voor de beheerder. Dit is een verplichte parameter om veiligheidsredenen. De standaardgebruiker voor Data Crow is SA met een leeg wachtwoord. Het is aanbevolen om een wachtwoord in te stellen voor elke gebruiker bij gebruik van de client-server setup.
    Voorbeeld #1 (gebruiker rwaals, pw 123456): -referenties:rwaals/123456
    Voorbeeld #2 (standaardgebruiker): -referenties:SA

Een tip over de referenties; je kunt deze ook invoeren in het bestand datacrow.credentials. Wanneer dit bestand aanwezig is in de installatiemap van de Data Crow server zal Data Crow de credentials uit dit bestand lezen en hoeven ze niet meer als parameter te worden opgegeven. Het bestand bestaat standaard niet; maak het bestand aan (een tekstbestand) en voer de referenties in dit bestand in: /.
Bijvoorbeeld: rwaals/123456

Andere, optionele parameters:

  • bindto Dit overschrijft de standaardmanier waarop de Data Crow-server zich aan je IP-adres koppelt. Dit is alleen nodig in onvoorziene omstandigheden waarin Data Crow niet het juiste IP-adres detecteert om zich aan te koppelen.
  • hostnaam: de naam van de server. Handig als je het IP-adres niet als het standaardadres wilt gebruiken.
  • api_adres_negeren: Dit wordt gebruikt om de automatische instelling van het adres voor de API-server door Data Crow te overschrijven. Met deze optie kun je het API-adres toewijzen aan een andere lokale poort die bijvoorbeeld door Caddyfile wordt gebruikt (omgekeerde proxy).
  • imageserver_adres_overslaan: Dit wordt gebruikt om de automatische instelling van het adres voor de afbeeldingsserver door Data Crow te overschrijven. Met deze optie kun je het adres van de afbeeldingsserver toewijzen aan een andere lokale poort die bijvoorbeeld door Caddyfile wordt gebruikt (omgekeerde proxy).
  • map geef de installatiemap van de Data Crow-server op (voor het geval er problemen optreden).
  • probleemoplossing: zorg ervoor dat de Data Crow-server uitgebreide logbestanden kan bijhouden.

De server controleren #

Als alles goed is, zal de server iets rapporteren dat lijkt op het onderstaande:

INFO [main] (DcServer.java:140) – Server is gestart, klaar voor clientverbindingen.

INFO [main] (DcServer.java:141) – Client kan verbinden met IP-adres 192.168.0.121 op poort 9000 en op beelddienstpoort 9001

INFO [main] (DcServer.java\:144) – Wachten op CTRL-C voor server afsluiten.

Het specificeert het eigenlijke IP-adres en de toegewezen poortnummers.
Fouten worden direct in de console weergegeven. Daarnaast is er het standaard logbestand in de gebruikersmap (data_crow.log).
Als je de server wilt debuggen (of meer berichten wilt zien), kun je bij het opstarten de parameter -debug opgeven.

De server stoppen #

Druk op CTRL-C in terminal / opdrachtpromptvenster.

Verbinding maken met Data Crow: (Thin) Web Client #

Verbinding maken met de webserver is de eenvoudigste optie. Navigeer met een webbrowser naar het adres van de server:

http://:/

Bijvoorbeeld: https://192.168.178.120:8080/

Verbinding maken met Data Crow: (Thick) Client #

Elke installatie boven 4.0 kan verbinding maken met een server. Het is een simpele kwestie van het -client commando mee te geven bij het opstarten van Data Crow:

In het onderstaande voorbeeld laat ik de <commando> voor het Data Crow client startcommando;

  • Windows-gebruikers kunnen dit vervangen door:
    datacrow.exe
  • Gebruik voor andere platforms:
    Java –Xmx8096m –jar datacrow.jar
    De –Xmx8096m Deze parameter geeft aan hoeveel geheugen er beschikbaar is voor Data Crow. U kunt dit indien nodig aanpassen naar een ander getal.

Maak verbinding met de server door Data Crow als volgt te starten (wijzig de snelkoppeling):

-client

Wanneer de client start, wordt het volgende inlogvenster weergegeven:

  • Login name: uw gebruikersnaam (de standaardgebruiker is SA)
  • Password: je wachtwoord (het wachtwoord voor gebruiker SA is leeg)
  • Server Address:Het IP-adres van de server (raadpleeg de serverconsole voor het IP-adres, binnen een intern netwerk kan het IP-adres bijvoorbeeld 192.168.0.10 zijn).
  • Application Server Port:De poort zoals geconfigureerd op de server (standaard 9000). Deze instelling wordt onthouden.
  • Afbeelding Server Adres: het adres van de afbeeldingsserver, doorgaans hetzelfde adres als de server zelf.
  • Image Server Port:De poort zoals geconfigureerd op de server (standaard is 9001). Deze instelling wordt onthouden.

Webserver met SSL-beveiliging #

Als je onderweg toegang wilt tot je Data Crow-collectie, is het hosten van de Data Crow-server op een VPS (Virtual Private Server) een praktische en betaalbare optie. Een kleine VPS met Ubuntu, 2 GB RAM en 100 GB opslagruimte is ruim voldoende, en dergelijke instances zijn overal verkrijgbaar tegen lage maandelijkse kosten.

De server instellen

Begin met een headless Ubuntu VPS — er is geen grafische interface nodig. Installeer Java (OpenJDK 21 of hoger wordt aanbevolen) en upload vervolgens de Data Crow-serverbestanden en je gegevensmap via SCP naar de VPS. Maak verbinding via SSH, pak de archieven uit en rangschik ze als volgt:

~/datacrow_server
~/datacrow_server/data

Begin Data Crow met:

java -jar datacrow-server.jar -userdir:./data -hostname: -webserverport:8080 -port:9000 -imageserverport:8082 -apiserverport:8081

Om de server draaiende te houden nadat u zich afmeldt, gebruikt u tmuxeen tmux-sessie starten, het opstartcommando uitvoeren en vervolgens afsluiten met Ctrl+B gevolgd door D. De server blijft op de achtergrond draaien.

Op dit moment is Data Crow bereikbaar via een adres zoals http://<your-ip>:8080 — functioneel, maar onbeveiligd.

HTTPS toevoegen met Caddy

Om Data Crow via HTTPS aan te bieden, kun je gebruikmaken van Caddy als reverse proxy. Caddy regelt automatisch de uitgifte van SSL-certificaten.

Stap 1 — Een DNS-record toevoegen

Voeg een Een plaat naar uw DNS-configuratie van het domein die verwijst naar het IP-adres van uw VPS. Bijvoorbeeld, het toevoegen van een record met de naam mijn naar datacrow.org geeft je my.datacrow.org.

Stap 2 — Installeer Caddy

sudo apt update && sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl

curl -1sLf ‘https://dl.cloudsmith.io/public/caddy/stable/gpg.key’ | sudo gpg –dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg

curl -1sLf ‘https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt’ | sudo tee /etc/apt/sources.list.d/caddy-stable.list

sudo apt update && sudo apt install caddy

Stap 3 — Configureer de Caddyfile

my.datacrow.org {
reverse_proxy localhost:8080
}

my.datacrow.org:8083 {
omgekeerde_proxy localhost:8081
}

my.datacrow.org:8084 {
omgekeerde_proxy localhost:8082
}

Dit mapt respectievelijk de webinterface, API-server en image server via Caddy.

Stap 4 — Start Data Crow met adresoverschrijvingen

Aangezien de API en de afbeeldingsserver nu via Caddy op verschillende externe poorten worden aangeboden, moet Data Crow worden geïnformeerd over de openbare adressen. Voeg de volgende parameters toe aan je opstartcommando:

-apiserverport:8081
-api_address_overrule:https://my.datacrow.org:8083/datacrow-api/api
-imageserverport:8082
-imageserver_address_overrule:https://my.datacrow.org:8084

Caddy zet inkomende verzoeken op poorten 8083 en 8084 automatisch om naar de interne poorten 8081 en 8082. Het resultaat is een overzichtelijk, via HTTPS beveiligd adres voor je Data Crow-instantie.