Bestanden delen via je eigen server

Door: Toon van Daele | 04 juni 2018 15:12

How To

Er zijn data die je absoluut privé wilt houden en er is informatie die je graag met anderen wilt delen. Dat kan bijvoorbeeld via webpagina’s maar ook in de vorm van downloadbare bestanden. Doe je dat liever niet via de cloud, dan draai je toch gewoon je eigen server! Bestanden delen via je eigen server klinkt ambitieus en technisch, maar met de juiste tools is dat niet eens zo lastig.

Tip 01: Installatie

Of je nou in de ban bent van je hobby of dat je je hebt toegelegd op een of ander studiegebied, het is altijd leuk om je passie of kennis met anderen te delen. En dan kan uitstekend met een website. We gaan ervanuit dat je weet hoe je webpagina’s creëert – WYSIWYG Web Builder bijvoorbeeld is hiervoor een uitstekende tool, ook voor beginners.

In dit artikel gaan we dus niet aan de slag met het bouwen van een site, maar we tonen hoe je op eenvoudige wijze je eigen webserver opzet en jouw site toegankelijk maakt. Dat doen we aan de hand van Abyss Web Server X1 Personal Edition. Surf hiernaartoe en download de gratis server, die beschikbaar is voor macOS, Linux en Windows; wij installeren op Windows. De installatie spreekt voor zich en op het einde bepaal je zelf hoe de server moet opstarten: handmatig, na je Windows-login of zelfs als je niet bent aangemeld (Install as a Windows Service). Duikt een pop-up van je firewall op, geef dan aan dat het om een vertrouwde toepassing gaat.

Tip 01 Je beslist zelf of Abyss Web Server automatisch mag opstarten.

Tip 02: Basisconfiguratie

Wanneer je Abyss Web Server de eerste keer start, opent je browser en beland je in de beheerpagina van de server. Kies hier English en voer een login-id in om de beheermodule te kunnen benaderen. Als het goed is, krijg je na je bevestiging de melding dat de server actief is. Normaliter is dat op poort 80 – een poort is, zeg maar, een genummerd communicatiekanaal voor je netwerkadapter. Of je server echt actief is, kun je overigens meteen testen door op die pc te surfen naar http://localhost of http://127.0.0.1. Er verschijnt dan een welkomstbericht. Dit bericht is eigenlijk de homepage van je website en die ruil je natuurlijk graag om voor je eigen homepage.

Dat is niet lastig: navigeer met de verkenner naar de installatiemap van Abyss – standaard is dat c:\Abyss Web Server en open hier de submap \htdocs. Je vindt hier het bestand index.html en je raadt het al: dat is de startpagina. Vervang die door je eigen homepagina en plaats de andere pagina’s en eventuele submappen van je site in deze map. Of je test het snel even uit door met kladblok index.html te openen en de inhoud te vervangen door iets als de volgende code: <html><head></head><body><h1>Welkom op mijn website</h1><hr></body></html>. Zodra je de pagina ververst krijg je dan je eigen pagina te zien.

Tip 02 Je vervangt de originele startpagina moeiteloos door je eigen versie.
Het welkomstbericht is vervang je door je eigen homepage

Tip 03: Extra configuratie

Er zijn heel wat opties en mogelijkheden in Abyss, maar we beperken ons hier tot een paar interessante functies. Zo bijvoorbeeld vind je het wellicht handig om je site of bepaalde webpagina’s af te schermen voor onbevoegden. Dat pak je als volgt aan. Meld je aan bij de beheerconsole van Abyss, via http://localhost:9999, en klik op Configure. Klik hier op Users and Groups en vervolgens op Add bij Users. Vul de gewenste gebruikersnaam en het bijhorende wachtwoord (2x) in en bevestig met OK en met de knop Restart. Open opnieuw Configure en klik nu op Access Control en op Add. Via Browse duid je met de [Select]-knop een sitemap aan die je alleen voor specifieke gebruikers wilt openstellen. Wij kiezen hier / (Host Root), zodat je de hele site in één keer afschermt. Bij Realm voeg je wat commentaar toe – iets als siteroot afgeschermd, bijvoorbeeld. Order laat je op Allow/Deny staan. Ten slotte plaats je bij de gewenste gebruiker(s) een vinkje naast Allow for. Bevestig met OK en met Restart. Sluit je browser af en probeer nogmaals naar je site te surfen: er wordt nu netjes gevraagd om in te loggen.

Overigens kun je een vergelijkbare vergrendeling ook instellen op basis van ip-adressen: dat doe je dan via IP Address Control. En wie zijn server liever niet op de standaardpoort 80 draait: klik op General, kies bij HTTP Port de optie Other Port en vul het gewenste poortnummer in. Merk op dat je hier bij Documents Path tevens de rootmap van je site kunt wijzigen.

Tip 03 Abyss Web Server is best wel een uitgebreide en flexibele tool.

Tip 04: Binnen netwerk

Je website is nu al vlot bereikbaar … vanaf je eigen pc. Leuk, maar je wilt natuurlijk meer. Om je site ook vanaf andere apparaten binnen je thuisnetwerk te bereiken, hoef je nauwelijks extra inspanning te doen. Het volstaat 127.0.0.1 of localhost in het webadres te vervangen door het interne ip-adres van je server-pc. Dat kom je te weten wanneer je op die pc naar de opdrachtprompt gaat en daar ipconfig uitvoert: je leest het adres af naast IPv4 Address bij de actieve netwerkadapter.

Het vergt wel iets meer inspanning om je server ook van buitenaf, via internet, bereikbaar te maken. Vooral wanneer je zojuist opgezette server zich achter een router bevindt– en die kans lijkt ons erg groot. Er zit dan weinig anders op dan een ‘gaatje’ in je router te prikken. Dat noemen we portforwarding (poortdoorverwijzing). Er is goede hoop dat je voor jouw eigen routermodel de nodige instructies terugvindt hier, in de volgende stappen zetten we je alvast een heel eind op weg.

Tip 04 Hier lees je het interne ip-adres van je pc (en van je router) af.

Tip 05: Poortdoorverwijzing

Tik het interne ip-adres van je router in je browser in. Dat vind je bij Standaardgateway wanneer je ipconfig uitvoert op de opdrachtregel. Meld je aan bij de beheermodule en ga op zoek naar een rubriek als Port forwarding, mogelijk een onderdeel van Security. Hier voeg je een poort toe. Geef het item een duidelijke naam, wij noemen hem Abyss-webserver. Bij de externe poort vul je 80 in en bij de interne poort vul je het poortnummer van je webserver in (in ons geval: 8080). Het item Protocol kun je gerust op beide laten staan (tcp en udp). Ten slotte vul je het interne ip-adres van je webserver in (zie ook tip 4). Bevestig je keuzes.

Je webserver hoort nu van buitenaf bereikbaar te zijn, weliswaar via het externe ip-adres van je router. Wat dat adres is, vis je dan weer uit door vanaf je eigen pc te surfen naar een site als www.ipchicken.com. Is dat adres bijvoorbeeld 81.83.174.90 dan surf je dus naar dat adres. Had je bij externe poort niet poortnummer 80 gekozen, dan moet de bezoeker dit ip-adres nog aanvullen met het ingevulde poortnummer (bijvoorbeeld http://81.83.174.90:8080).

Tip 05 Via een poortdoorverwijzingsregel in je router is je website ook van buitenaf bereikbaar.
Je webserver is nu van buitenaf bereikbaar via het externe ip-adres van je router

Tip 06: Dynamisch dns

Het blijft natuurlijk vervelend als een potentiële bezoeker het externe ip-adres van jouw router moet zien te onthouden. Daar komt nog bij dat je provider dit adres op een gegeven moment ook zomaar eens kan wijzigen. Om het eerste probleem te omzeilen kun je gratis gebruikmaken van een dynamisch-dns-provider (ddns) als Dynu. Surf hiernaartoe, klik op Create account en vul de gevraagde gegevens in. Kies Submit en klik op de link in de bevestigingsmail. Zodra je bij Dynu bent aangemeld, beland je in je online dashboard. Hier klik je het pictogram DDNS Services aan, gevolgd door een druk op de knop Add, waarna je kiest voor Option 1: Use Our Domain Name. De bedoeling is nu dat je zelf een domeinnaam samenstelt op basis van een eigen hostnaam (bijvoorbeeld: mijnwebserver) en een toplevel-domein uit het aanbod (bijvoorbeeld freeddns.org). Bevestig met Add. Je komt nu in een configuratievenster terecht, waar je eigenlijk alleen maar hoeft te checken of het al ingevulde IPv4 Address overeenstemt met het externe ip-adres van je router (zie tip 5) – een router waar je dus ook al in de nodige poortdoorverwijzing had voorzien. Desnoods pas je dit ip-adres zelf nog aan, de overige opties kun je ongemoeid laten. Klik op Save om te bevestigen, even later is je website al bereikbaar via de gekozen domeinnaam.

Tip 06 Je kiest zelf je hostnaam en duidt een leuk domein aan.

Tip 07: Ddns update

Een ddns-provider zorgt dus voor de koppeling tussen de gekozen domeinnaam en het ip-adres van je router/netwerk. Mooi, maar wat als je internetprovider op een bepaald moment dat ip-adres aanpast? Je begrijpt: we moeten ervoor zorgen dat die koppeling dan ook intact blijft. Mogelijk voorziet je router in een ddns-update-functie, maar de kans is groot dat die provider Dynu niet ondersteunt. In dat geval doe je een beroep op een tooltje van Dynu zelf. Dit gebruik je bij voorkeur op een pc in je netwerk die je vaak opstart. Je downloadt de tool hier. Start je de tool de eerste keer op, dan dien je je gebruikersnaam en wachtwoord bij Dynu in te vullen. Je laat gemakshalve het vinkje staan bij Remember my password en bij Sign in automatically. Na de bevestiging hoef je verder eigenlijk niets meer te doen: de tool draait op de achtergrond en zal regelmatig je externe ip-adres checken. Zodra dat wijzigt, brengt de tool Dynu op de hoogte en wordt de koppeling met je domeinnaam automatisch bijgewerkt.

Tip 07 Achter de schermen van ddns-updateclient Dynu.
Zo blijft de koppeling tussen het ip-adres en je domeinnaam intact

Tip 08: Download

Abyss is een fraaie webserver als je informatie met de wereld wilt delen. Maar voor het ter beschikking stellen van downloadbare bestanden is het niet echt geschikt. Nu kun je natuurlijk een heuse ftp-server zoals FileZilla Server (gratis) inzetten, maar we willen het zoals gezegd in dit artikel lichtvoetig houden. En dan komt een server als HFS in het vizier (kort voor: HTTP File Server). Die werkt, net als een webserver, via het http-protocol en laat zich met weinig moeite installeren en configureren. Je downloadt de server hier, via Download en dan de grote Download-link links bovenaan. Het is niet uitgesloten dat een antivirustool hierop zenuwachtig reageert, maar HFS is wel een betrouwbaar programma. Overigens krijg je hier nog informatie om de server veiliger te maken, weliswaar voor de gevorderde gebruiker.

Tip 08 HFS bestaat uit een enkel bestand dat je zo kunt uitvoeren.

Tip 09: Opstarten

Handig is alvast dat HFS niet eens een echte installatie vereist. Start je deze server de eerste keer op dan moet je wellicht wel nog je firewall sussen (lees: toelaten dat de server een netwerkverbinding opzet) en krijg je (in een haast archaïsch venstertje) de vraag of je HFS in je ‘shell context menu’ wilt opnemen. Een duur begrip voor: wil je dat Add to HFS als optie beschikbaar komt wanneer je een map in Verkenner met de rechtermuisknop aanklikt? Houd er rekening mee dat je de tool hiervoor als administrator dient op te starten – desnoods kun je deze functie naderhand nog activeren via Menu / Other options / Switch to Expert mode / Menu / Other options / Add to shell context menu. Deze optie kan inderdaad wel handig zijn: zo kun je de inhoud van de een map heel makkelijk via de server ter beschikking te stellen (zie tip 10).

Tip 09 Ouderwets venstertje, maar als je wilt, kun je straks ook mappen toevoegen aan je server via de verkenner.
Je kunt een heuse ftp-server opzetten, maar we houden het met HFS eenvoudiger

Tip 10: Mappen toevoegen

We gaan ervan uit dat je de tool inmiddels hebt opgestart en dat de beheermodule zichtbaar is. Bij Open in browser lees je het webadres af dat je alvast in je eigen browser kunt uitproberen. Bovenaan leest je, bij Port, ook het poortnummer af waarop de HFS-server draait. Standaard is dat poort 80, tenzij die al bezet is, via een dubbelklik op dit poortnummer kun je het wijzigen.

Je browser zal je op dit moment echter weinig meer weten te vertellen dan ‘No files in this folder’. Het is dus de bedoeling dat je bestandsmappen toevoegt. Dat kan, als je dat hebt geactiveerd zoals beschreven in tip 9, vanuit het contextmenu via de optie Add to HFS. Het kan ook vanuit de beheermodule. Klik het linkerpaneel (Virtual File System) met de rechtermuisknop aan en kies Add folder from disk, waarna je de gewenste map toevoegt en bevestigt met Real folder. Zodra je nu de webpagina in je browser ververst, wordt de toegevoegde map zichtbaar. Geeft je webserver niet thuis? Check dan even in de beheermodule: open Menu en klik op zo nodig Switch ON. Overigens tref je hier ook de optie Uninstall HFS aan mocht je de bestandsserver ooit liever helemaal de rug toe keren.

Tip 10 Ook vanuit de beheermodule kun je mappen ter download aanbieden.

Tip 11: Bestanden downloaden

Om een bestand uit een toegevoegde map vanuit de browser te downloaden, hoeft de bezoeker die alleen maar aan te klikken. Meerdere bestanden of een complete map downloaden kan ook: plaats een vinkje bij de gewenste items en klik dan linksonder Archive aan. Zodra je de aanvraag bevestigt, maakt HFS er een tar-archief van. Een ietwat ongelukkige keuze misschien, maar met een gratis tool als 7-Zip kan men zo’n archief probleemloos uitpakken. En voor wie zich afvraagt hoe de HFS-server van buitenaf bereikbaar wordt: tips 4 tot en met 7 vertellen er je alles over.

Verder, wie de moeite neemt het Menu van de beheermodule door te nemen – en zeker als je Switch to Expert mode activeert – heeft meteen door dat er nog heel wat meer mogelijk is met HFS, zoals het toegankelijk maken van mappen voor specifieke gebruikers enzovoort. Daar kun je zelf in duiken als je dat interessant vindt, eventueel met hulp van het forum op de website van Rejetto.

Tip 11 Bestanden doorbladeren en downloaden vanuit de browser – het lijkt wel een ‘playlist’.

0 Reactie(s) op: Bestanden delen via je eigen server

  • Om te reageren moet je ingelogd zijn. Nog geen account? Registreer je dan en praat mee!
  • Er zijn nog geen reacties op dit artikel.

Wanneer je een reactie plaatst ga je akoord
met onze voorwaarden voor reacties.