Regelmatig heb ik een nieuwe server nodig voor een nieuw projectje of een experiment. Vroeger betekende dit dat er weer nieuwe hardware bijgeplaatst werd, maar tegenwoordig maken we gebruik van virtualisatie. Simpel gezegd is dit het draaien van een virtuele computer op je PC. Zo kun je bijvoorbeeld een Windows-computer binnen je Mac-besturingssysteem laten draaien. Of een Linux-computer binnen je Windows-besturingssysteem.

Hiervoor zijn veel verschillende pakketten beschikbaar. Voor desktopcomputers zijn bijvoorbeeld VMware, Parallels en VirtualBox beschikbaar. Ik heb gekozen voor VirtualBox omdat deze gratis te verkrijgen is voor Windows, Linux en de Mac.

Het aardige van VirtualBox is dat deze ook “headless” te draaien is. Dat betekent dat je het pakket gebruikt zonder grafische gebruikersinterface. Reuze handig voor bijvoorbeeld server waar je toch nooit een scherm op aansluit en die je alleen via het netwerk benadert, zoals een web- of mailserver. Zo heb ik een server gebouwd waarin diverse virtuele servers draaien. Omdat de virtuele server hun geheugen niet met elkaar kunnen delen, is het verstandig om de machine waarop de virtuele servers gaan draaien (host) te voorzien van voldoende RAM-geheugen.



De virtuele servers worden voorzien van virtuele harddisks. Dit zijn feitelijk bestanden die op de harddisk van de host staan. Omdat meerdere virtuele servers tegelijkertijd lezen en schrijven naar hun virtuele harddisks, is het verstandig om de host te voorzien van een snelle harddisk of, nog beter, een SSD. Voor het besturingssysteem van de host heb ik gekozen voor Debian, een Linux-distributie. Deze is gratis te downloaden.

Nadat je Debian op je host-machine hebt geïnstalleerd, kun je VirtualBox als volgt installeren:

  • Om te beginnen heb je root-toegang. Wanneer je niet ingelogd bent als root, toets dan het commando su <enter> om te switchen naar de root-gebruiker.
  • Toets nu het volgende commando:
    nano /etc/apt/sources.list.d/virtualbox.list
  • De nano tekstverwerker wordt nu geopend. Voer de volgende regel in:
    deb http://download.virtualbox.org/virtualbox/debian stretch contrib
  • Sla nu het bestand op met CTRL+O en sluit vervolgens de tekstverwerker af met CTRL+X.
  • We hebben nu de Oracle repository toegevoegd aan het systeem. Om software te downloaden uit deze repository, moeten we ook de bijbehorende GPG-sleutel downloaden en toevoegen aan ons systeem. Dit doen we met het volgende commando:
    wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | apt-key add -

    De GPG-sleutel wordt gebruikt om de integriteit van te verifiëren van pakketten die we downloaden uit de toegevoegde repository.

  • Nu gaan we de lokale index van de APT package manager bijwerken zodat de beschikbare pakketten in de zojuist toegevoegde repository worden opgenomen:
    apt-get update
  • Vervolgens gaan we via de APT package manager VirtualBox installeren:
    apt-get install virtualbox-5.1

VirtualBox is nu geïnstalleerd. Vanaf de command line kun je nu virtuele machines machines aanmaken en opstarten. Om te leren hoe dit moet, raad ik je aan om de handleiding te lezen. Heb je daar geen zin in of tijd voor, dan kun je ook een user-interface installeren, waarmee je via een webpagina eenvoudige machines kunt aanmaken, instellen en beheren:

Deze user-interface heet PhpVirtualbox. Wanneer je deze installeert, kun je VirtualBox via een webpagina beheren. Je installeert hem als volgt:

  • Om te beginnen heb je een webserver met PHP nodig. Deze installeer je als volgt:
    apt-get install apache2 php5
  • Vervolgens installeren we unzip, omdat we PhpVirtualbox downloaden als ZIP-bestand en dus moeten uitpakken:
    apt-get install unzip
  • Nu gaan we naar de web-root (de directory waarin de webserver zijn bestand leest):
    cd /var/www/html
  • Nu downloaden we PhpVirtualbox:
    wget http://sourceforge.net/projects/phpvirtualbox/files/latest/download -O phpvirtualbox.zip
  • Vervolgens pakken we het gedownloade bestand uit:
    unzip phpvirtualbox.zip
  • De map die vervolgens uit het ZIP-bestand wordt, hernoemen we zodat ie gemakkelijker te benaderen is:
    mv phpvirtualbox-5.0-3/ phpvirtualbox
  • Nu gaan we de meegeleverde configuratie kopiëren:
    cd /var/www/html/phpvirtualbox/
    cp config.php-example config.php
  • Vervolgens openen we het configuratiebestand in nano:
    nano /var/www/html/phpvirtualbox/config.php
  • Wijzig de username en password in het configuratiebestand:
    var $username = 'vbox';
    var $password = 'P@55w0rd';

    In dit voorbeeld gebruiken we P@55w0rd als wachtwoord, maar natuurlijk kun je hier zelf een wachtwoord verzinnen.

  • Sla nu het bestand op met CTRL+X, en sluiten de tekstverwerker af met CTRL+X.
  • Nu wijzigen we het wachtwoord van de vbox gebruiker:
    passwd vbox
  • Tot slot zoeken we nog even het IP-adres van onze host-machine op:
    Toets het volgende commando:

    ifconfig

    Je krijgt nu het onderstaande overzicht te zien:

    eth0      Link encap:Ethernet  HWaddr 04:01:37:2f:c8:01  
              inet addr:188.226.175.14  Bcast:188.226.175.255  Mask:255.255.255.0
              inet6 addr: fe80::601:37ff:fe2f:c801/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:34653091 errors:0 dropped:0 overruns:0 frame:0
              TX packets:37594638 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:9932275540 (9.2 GiB)  TX bytes:15550676802 (14.4 GiB)
    
    lo        Link encap:Local Loopback  
              inet addr:127.0.0.1  Mask:255.0.0.0
              inet6 addr: ::1/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:16436  Metric:1
              RX packets:6093088 errors:0 dropped:0 overruns:0 frame:0
              TX packets:6093088 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0 
              RX bytes:9777020882 (9.1 GiB)  TX bytes:9777020882 (9.1 GiB)

    In het bovenstaande voorbeeld zien we dat het IP-adres van onze netwerkkaart (eth0) is: 188.226.175.14

  • Open nu een browser op een computer in je netwerk en toets dit IP-adres in je browser, gevolgd door /phpvirtualbox, dus:
    ip.adres.vanje.hostcomputer/phpvirtualbox
  • Je wordt nu gevraagd om in te loggen. Standaard gebruikersnaam is admin en het standaard wachtwoord is ook admin.
    Het is mogelijk dat je een foutmelding krijgt over een verkeerde versie. Deze kun je wegklikken en negeren. Ik heb e.e.a. getest en geverifieerd dat het gewoon werkt.

Zodra je in bent gelogd, kun je via deze pagina nieuwe virtuele machines aanmaken en beheren. Hierover binnenkort meer…



Reacties