Server expert gezocht

Voor mijn Openfietsmap (fietskaart voor garmin gps devices) ben ik op zoek naar een alternatieve server omdat de oude in Wuppertal het definitief heeft begeven.
Nu is er een mogelijkheid om de openstreetmap dev server te gebruiken voor het opslaan van de kaartupdates, maar ik heb geen verstand van linux en hoe ik de synch met de mirror server (NLUUG, die nog gewoon in de lucht is en waar men mijn kaarten kan downloaden) moet opzetten. Is er een vrijwilliger die hier verstand van heeft en mij op weg wilt helpen?

rsync ligt voor de hand wat de synchronisatie naar de NLUUG mirror betreft. Een simpel bash script met iets als onderstaande zou kunnen voldoen:

#/bin/bash

SOURCE_PATH="/srv/openfietsmap/"
TARGET_HOST="ftp.nluug.nl"
TARGET_PATH="/srv/maps/openfietsmap/"

rsync -aAX "${SOURCE_PATH}" "${TARGET_HOST}:${TARGET_PATH}"

De variabelen zullen vrijwel zeker andere waardes moeten krijgen voor de betreffende servers.

Voor het automatisch periodiek uitvoeren van het script kan cron gebruikt worden.

2 Likes

Ja de admin van nluug heeft idd rsync ingesteld ism de admin van wuppertal. Ik heb op de osm dev server een account aangevraagd waar ik de kaarten mag hosten, bandbreedte en omvang was geen probleem. Nu maar even afwachten hoe dat verder zal lopen. Wat ik altijd deed was de kaarten op mijn windows pc genereren en om de zoveel tijd ze via een script of winscp uploaden naar de server. Op de NLUUG draait een cron job die dan 2x per dag controleert wat er is veranderd. Als het vrij simpel is door zo’n scriptje te plaatsen op de osm server kom ik daar wel uit ism de admin van nluug. Wordt vervolgd! :+1:

Op de NLUUG draait een cron job die dan 2x per dag controleert wat er is veranderd.

Op basis hiervan zal je de changes niet zelf naar NLUUG hoeven pushen, wanneer de updates op de OSM dev server beschikbaar zijn zal NLUUG hun script aan moeten passen om de changes daar vandaan te halen ipv wuppertal.

1 Like

Volgens de admin van nluug hoef ik alleen het gewijzigde adres door te geven, dus dat valt allemaal wel mee. Nu nog alleen maar afwachten tot de admins van de osm server mijn account hebben geregeld. :hourglass_flowing_sand:

@ligfietser: Is er een update te geven?

De kaarten heb ik nu op de server gezet, uploaden ging allemaal vlotjes, sneller dan de oude server in Wuppertal. De sync moet nog door de admin van nluug worden opgestart maar hij was nog met vakantie. Ik laat de downloads via.mijn website gewoon via de nluug server lopen maar je kan al kijken op de osm server:
https://ligfietser.dev.openstreetmap.org/openfietsmap/
Ik ben ook bezig de BTM te verplaatsen van de openstreetmap.nl server omdat die niet beveiligd is naar Bicycle tags on OSM Een aantal opties werken nog niet omdat de wms layers van bv de fietsnetwerken van pdok.nl zijn gewijzigd, moet ik nog aanpassen.

3 Likes

Ik heb nu een public key aangemaakt maar de admin van nluug krijgt geen verbinding via rsync. Volgens hem zit de public key op de host faffy openstreetmap.org server en ik authenticeer die met een private key, kennelijk doe ik iets verkeerd?
Hij kan mij een public key geven die matched met een private key die op de nluug server staat maar dit vindt hij niet wenselijk vanwege security redenen.
Want dan maakt de nluug server connectie met mijn username.
Mooiste zou zijn om op de faffy een nluug user aan te maken waarmee we de sync uitvoeren.

Wat raden jullie aan? Hoe kan ik een user aanmaken, of kan alleen de admin dat van de openstreetmap server?

Van waar naar waar moet de rsync draaien?

Het protocol onder rsync is SSH en daarmee kan je veilig, zonder paswoord op een server inloggen. Hoe dat grofweg werkt is dat de cliënt iets versleuteld met zijn private key waarna de server de public key van de gebruiker opzoekt en daarmee het bericht kan decoderen.

Diegene die de verbinding op zet moet dus de private hebben (en geheim houden) hij kan de public key aan iedereen geven.

De andere kant moet alleen maar weten dat bij een bepaalde gebruiker een public key hoort.

Hoe dit in de praktijk zoals ik ken werkt is dat de server een home directory heeft van de user met daarin een .ssh directory. In die directory staat een authorized_keys file met daarin de public key van de user.

De resync wordt gedraaid vanaf de mirror (nluug) server. Die pulled de map data van de openstreetmap server (ligfietser@dev.openstreetmap.org) waar ik regelmatig de kaarten ververs. Dus als ik het goed begrijp kan ik gerust de public key van nluug op mijn home dir (.shh folder) plaatsen in de authorized_keys file? Dan begrijp ik die security issue van de admin van nluug niet zo goed.

Wat raden jullie aan?

rsync daemon configuren in /etc/rsyncd.conf met iets als:

uid = root
gid = root
pid file = /run/rsyncd.pid
log file = /var/log/rsync.log
hosts allow = 145.220.21.40

[openfietsmap]
    comment OpenFietsMap
    path = /home/ligfietser/openfietsmap/
    read only = yes
    auth users = nluug
    secrets file = /etc/rsyncd.secrets

En /etc/rsyncd.secrets met:

nluug:<plain text password>

Deze file moet mode 600 krijgen om alleen leesbaar voor root te zijn.

De rsync service op TCP poort 873 kan dan gebruikt worden in plaats van SSH.

Voor rsync over SSH kan een chroot geconfigureerd worden waarmee de nluug user alleen bij de te syncen directory kan komen met iets als onderstaande in /etc/ssh/sshd_config.d/openfietsmap.conf:

Match User nluug
    AuthorizedKeysFile /home/ligfietser/openfietsmap/.ssh/authorized_keys
    ChrootDirectory /home/ligfietser/openfietsmap/
    ForceCommand internal-sftp -l INFO

De public key van nluug moet dan toegevoegd worden in de AuthorizedKeysFile met de juiste permissies op de .ssh directory.

Bovenstaande voorbeelden gaan er van uit dat /home/ligfietser/openfietsmap/ de directory is waar alle te syncen data onder staat, dat path moet aangepast worden indien een andere directory wordt gebruikt.

De OSM sysadmins zullen bovenstaande changes moeten maken, ik zou hun direct met de NLUUG admins laten praten om te kijken wat voor beide partijen het beste werkt.

1 Like

Bedankt sebas, dit gaat allemaal ver boven mijn pet. Zal het aan de admins vragen.

Ja, het zou moeten werken als je de public key van nluug in de authorized_keys file zet. De rechten op de .ssh en de authorized_keys moeten wel goed staan.

De nluug kant moet dan wel rsync voor het “adres” gebruiken ligfietser@dev.openstreetmap.org zogezegd, ze moeten zich aanmelden als ligfietser en de vraag is of je dat wilt.

Helaas zijn alle opties niet mogelijk. De admin’s van de osm server willen geen extra user aanmaken, ik en nluug willen niet dat er ingelogd wordt via mijn account en sync via http is ook geen optie. Vooralsnog ga ik het publiek dan maar de kaarten laten downloaden via de osm server ipv de nluug server en kijken waar het schip strand.

Ingewikkeld verhaal hoor. Ik wil ook best meedenken als dat nog nodig is.

Heb je er al over nagedacht om simpelweg vanaf je eigen PC naar beide servers te uploaden? Duurt twee keer zo lang maar is wel lekker simpel.

Of snap ik dan niet wat het probleem is wat je wil oplossen?

Naar de osm server uploaden doe ik al, naar de mirror kan niet.
Maarre…misschien is er idd helemaal geen probleem om het zonder mirror te doen, ik liet de downloads altijd via de mirror server lopen omdat de oude server het niet trok.
Maar we gaan het zien, de osm server is een stuk sneller en robuuster dan de oude.