Een Windows 10-server opzetten doe je zo

Eigenlijk wil je wel je eigen server opzetten, maar je hebt niet echt zin of tijd om veel werk in een Linux-server of een nieuwe nas te steken. Dan kun je kijken naar een Windows 10-server. Zo ga je ermee aan de slag.

Voordat je aan de slag gaat met Windows 10 als server, zijn er wel een paar dingen die je moet overwegen. Windows 10 is een desktop-besturingssysteem. Dat maakt het inherent onveiliger dan een server-besturingssysteem, omdat er simpelweg veel onderdelen op gebruiksvriendelijkheid zijn ingesteld in plaats van op veiligheid.

Daarnaast heeft een desktopsysteem natuurlijk veel meer aanvalsvectoren, zoals de gehele grafische interface, alle ingebouwde Windows-desktopapplicaties en veel overbodige services en diensten. Het is bovendien een groot nadeel dat er niet een centrale packagemanager is, zoals op Linux, en dat je dus zelf alles in de gaten moet houden en handmatig zult moeten patchen.

Dat gezegd hebbende, kun je toch een aantal redenen hebben om Windows als server te willen gebruiken. Zoals gezegd is het eenvoudig, je hoeft niet met een nieuwe omgeving overweg te kunnen. Ook kan het je helpen om wat meer ervaring te krijgen met Windows als server, wat bijvoorbeeld zakelijk handig is in een omgeving waar veel Microsoft-producten aanwezig zijn.

Opslagruimten

Eén van de misschien wat vergeten functies van Windows 10 is Opslagruimten. Dat is een softwarematige raidfunctie die erg eenvoudig te gebruiken is. Je vindt het in het Configuratiescherm, onder Opslagruimten. Het lijkt veel op de functie Drive Extender uit Windows Home Server, handig dat die functie zelfs nu nog in Windows 10 aanwezig is.

Je kunt ermee meerdere schijven combineren, zodat je bijvoorbeeld maar één netwerkschijf hoeft te delen over het netwerk, en je kunt er je data mee beschermen door gebruik te maken van redundantie. Je hebt dan de keuze uit een aantal modi, zoals een two- of threeway-mirror en parity, vergelijkbaar met raid5.

Bestanden delen

Het delen van een bestand, map of schijf is op zich niet lastig. Bij het Eigenschappen-venster vind je alle instellingen om te delen. Voeg dan bij permissies Iedereen toe bij het delen. Daarna is het nodig om delen met een wachtwoord uit te zetten, als je niet wilt worden lastiggevallen met gebruikersnaam en wachtwoord. Dat verander je door naar het Netwerkcentrum te gaan. Zorg er dan als eerste voor dat het netwerktype privé is. Is dat niet zo, dan verander je dat het eenvoudigst door een thuisgroep aan te maken in het Netwerkcentrum. Heb je dat eenmaal gedaan, dan klik je in het Netwerkcentrum links op Geavanceerde instellingen voor delen wijzigen. Klap dan het onderdeel Alle netwerken uit en zet de optie om te delen met een wachtwoord uit.

SSH (voor Powershell)

Op een beetje nas of server kun je waar dan ook inloggen met ssh om zo de server te onderhouden. Op Windows 10 is dat wat meer werk om op te zetten. Tegenwoordig heb je Ubuntu Bash op Windows en daarop kun je openssh installeren met

sudo apt install openssh-server

Je kunt het dan zoals in Ubuntu configureren. Windows 10 zelf bevat een ingebouwde ssh-server zodra je de developermodus aanzet die in heel sommige gevallen nodig is voor het uitrollen van uwp-apps en die niet voor de eindgebruiker bedoeld is. Die conflicteert met je ssh-server in Ubuntu Bash. Schakel die daarom uit door services.msc te openen, en de SSH Server Broker en SSH Server Proxy uit te schakelen.

Je kunt nu dus een beveiligde verbinding opzetten met je Windows-pc. Niet echt handig als je daarmee nog niets kunt beheren. Tenzij je dus al je services onder Ubuntu Bash gaat draaien, kom je niet heel ver. Je kunt ssh ook gebruiken in combinatie met PowerShell. Dan heb je meer mogelijkheden over Windows en kun je veel meer met alle PowerShell-modules. Microsoft is zelf bezig met de ontwikkeling van deze module. Je kunt de laatste build van ssh voor PowerShell hier vandaan halen: of je installeert het eenvoudig met Chocolatey-packagemanager met het commando

choco install openssh

Pak de inhoud van de zip uit in C:\Program Files\OpenSSH en start dan PowerShell als administrator en cd naar de map van zojuist. Installeer sshd met het commando:

powershell -executionpolicy bypass -file install-sshd.ps1

. Achteraf kun je de ssh-sleutels genereren met:

.\ssh-keygen.exe -A

Je kunt het geheel dan starten met

Start-Service ssh-agent

En daarna

Start-Service sshd

Dan is het nog wel nodig om de firewall open te zetten, met

netsh advfirewall firewall add rule name='SSH Port' dir=in action=allow protocol=TCP localport=22

Test toegang tot ssh vanaf bash of met Putty, door in te loggen op localhost of het ip-adres en je eigen gebruikersnaam en wachtwoord van je Windows-pc. Typ dan powershell en je zit in een PowerShell-sessie op je Windows-pc. Om ssh direct mee te starten met Windows, voer je in een Opdrachtprompt met administratorrechten uit:

Set-Service sshd -StartupType Automatic

En

Set-Service ssh-agent -StartupType Automatic

In de map C:\Program Files\PowerShell vind je overigens het bestand sshd_config waar je de instellingen van ssh kunt aanpassen.

windows 10-server

© PXimport

Website hosten op Windows 10

Als je een website wilt hosten op Windows 10, dan kun je daarvoor IIS gebruiken, aanwezig in Windows 10 Home en Pro. Daarmee kun je bijvoorbeeld eenvoudig Asp.Net-websites hosten, maar je draait er ook php- of Python-websites mee.

Je schakelt IIS eenvoudig in door het als Windows-onderdeel toe te voegen bij Programma’s en onderdelen in het Configuratiescherm. Daar vink je Internet Information Services aan om het te installeren. Als je php wilt draaien, vink bij World Wide Web-services / Toepassingsontwikkelingsfuncties meteen CGI aan. Eenmaal geïnstalleerd, open je de IIS-beheerdersconsole om het te configureren.

Zet een reverse proxy op

Als je je eigen downloadplek draait, is het irritant om steeds weer die poorten te moeten onthouden en in te vullen. Dat verhelp je met IIS door een reverse-proxy op te zetten. IIS ontvangt dan de webverzoeken en stuurt ze automatisch door op de juiste poort, zodat jij niet steeds poort 8080 in hoeft te vullen.

In IIS installeer je daarvoor URL Rewrite en Application Request Routing . Maak dan een nieuwe website aan door in de linkerbalk op Sites rechts te klikken en te kiezen voor Website toevoegen. Voer een eigen sitenaam en hostnaam in. Bij Fysiek pad kies je een lege map. De rest laat je zoals het is. Sla de website daarna op. Met de website geselecteerd zie je dan in IIS de optie URL Rewrite. Klik daarop en klik dan rechts op Add Rule(s). Kies uit de opties voor Reverse Proxy en klik op OK als een melding verschijnt om proxy in te schakelen.

Vul dan bovenaan het adres in waarnaar alles doorgestuurd moet worden, bijvoorbeeld localhost:8000. Vink daaronder de optie Rewrite the domain names of the links in HTTP responses aan en vul het ene veld in met localhost:8000 en de andere met je gewenste domeinnaam, in ons geval sabnzbd.netwerk. Voeg dan aan je hosts-bestand een regel toe om sabnzbd.netwerk door te verwijzen naar je eigen pc. Als je nu die link intypt in je browser, kom je uit op SABnzbd, zonder het poortnummer erachter. Je kunt dan hetzelfde doen voor Plex, SickBeard en andere applicaties met poortnummers.

Wordpress op Windows 10

Als je een echte website op wilt zetten in combinatie met IIS, doe je dat als volgt. Wij zetten hier WordPress op. Daarvoor installeren we als eerste php 7. Pak de zip uit en plaats deze bijvoorbeeld in C:\Program Files. Pak php.ini-production en maak daar php.ini van. Open dan het bestand en maak een paar kleine wijzigingen:

Haal de puntkomma weg bij

extension_dir = "ext"

extension=php_curl.dll

extension=php_mysqli.dll

extension=php_mbstring.dll

en herstart daarna IIS. Dat doe je op de hoofdpagina rechts met Opnieuw opstarten.

Daarna download en installeer je MySQL met de MySQL Installer. Je hebt alleen de MySQL Server nodig. Volg de installatiestappen, vul een rootwachtwoord in en maak meteen een wordpress-databasegebruiker aan. Open na de installatie de MySQL Command Line Client en maak een database aan:

CREATE DATABASE wordpress;

Maak dan de huidige database actief met

USE wordpress;

en geef de gebruiker wordpress de benodigde rechten:

GRANT ALL ON wordpress TO 'wordpress'@'%';

Nu het voorwerk is gedaan, download je WordPress en pak je het uit naar een locatie op de schijf waar je websites staan. Wij plaatsen het in C:\websites\wordpress. Zoek het bestand wp-config-sample.php en verander de naam naar wp-config.php.

Terug in IIS maak je daar een nieuwe website aan, door rechts op Sites te klikken. Vul de velden in en laat Fysiek pad verwijzen naar waar je WordPress-bestanden staan. Ga in de WordPress-site naar Handlertoewijzingen en klik rechts op Moduletoewijzing toevoegen. Bij Pad van aanvraag vul je *.php in. Bij Module kies je voor FastCgiModule en bij Uitvoerbaar bestand blader je naar het php-cgi.exe-bestand. Ga naar Standaarddocument, voer daar index.php aan toe en zet het bovenaan. Nu kun je naar je website gaan. Vergeet niet je dns te regelen of voeg een entry toe aan je hosts-bestand. Daarna kun je WordPress zoals normaal opzetten.

Downloadserver instellen

Een thuisserver moet natuurlijk ook mogelijkheden hebben om te downloaden. Het opzetten van een downloadstack op Windows 10 is eenvoudig: de meeste programma’s hebben installatiebestanden of binary’s beschikbaar voor Windows. Denk dan aan SABnzbd of NZBGet, Transmission, SickBeard en Plex. SickBeard heeft een Windows-binary, geen installatiebestand.

Download het zip-bestand, pak het uit en maak dan een snelkoppeling aan voor sickbeard.exe die je toevoegt aan de map Opstarten. Het is altijd weer even zoeken waar die map ook alweer staat, je vindt ‘m hier: %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup. Sommige van die programma’s kun je als Windows-service installeren. Voor bijvoorbeeld SABnzbd open je een Opdrachtprompt als administrator. Voer dan in

cd "C:\Program Files (x86)\Sabnzbd"

en installeer de service met:

SABnzbd-helper.exe install

Vervolgens start je de service automatisch met:

sc config SABhelper start=auto

En nu direct met

net start SABhelper

Let op dat SABnzbd geen pictogram rechtsonder in het systeemvak meer plaatst en dat de Windows Firewall waarschuwingen voor SAB niet zal weergeven. Zorg ervoor dat je met Transmission de webinterface mee-installeert tijdens de installatie, zodat je er op andere pc’s via de browser bij kunt.

windows 10-server

© PXimport

Cloudopslag

Een essentieel onderdeel van een nas of server is een cloudsysteem om je bestanden op elk apparaat beschikbaar te maken. Helaas is het zo dat ownCloud en Nextcloud niet ondersteund worden op Windows-servers. De ontwikkelaars hebben expliciet die keuze gemaakt. Als we dan rondkijken naar alternatieven, zou je Docker op je server kunnen installeren en dan een Nextcloud-image kunnen draaien, bijvoorbeeld deze of voor ownCloud. Je kunt dan eenvoudig een reverse-proxy opzetten met IIS en veilig een ssl-certificaat toevoegen met LetsEncrypt.

Op Windows virtualiseer je dan wel Linux, wat extra rekenkracht kost, en je moet beschikken over Hyper-V. Een andere oplossing is om over te stappen op Seafile. Installeer Python 2.7 en zorg dat die in je ‘path’ staat. Pak dan Seafile uit naar bijvoorbeeld C:\Seafile en start run.bat. In conf/ccnet.conf kun je bij de SERVICE_URL je domeinnaam aanpassen. Je bezoekt Seafile via: http://127.0.0.1:8000. Je kunt dan weer een reverse-proxy opzetten of je zet FastCGI in op voor Python, zodat je Seafile direct host in IIS.

Goed, we hebben je nu laten zien hoe je eenvoudig bestanden deelt, hoe je een Opslagruimte aanmaakt om datacorruptie tegen te gaan en hoe je ssh en IIS opzet in Windows 10. Het is duidelijk dat Windows 10 als server-besturingssysteem zeker mogelijk is en dat je er veel mee kan en dat het nuttig kan zijn om ermee aan de slag te gaan om wat Windows-ervaring op te doen.

Deel dit artikel
Voeg toe aan favorieten