Ubuntu: de perfecte server – minimale server installeren



Als je een machine wilt inrichten met allemaal virtuele servers dan zit je vaak met dilemma’s, zoals welke server moet ik nemen, hoe richt ik de virtuele servers in, werkt deze ook draadloos, welke partities moet ik aanmaken, waar moet ik rekening mee houden, enz. Dit artikel probeert hier een antwoord op te geven. Niet in de vorm van het beschrijven van de verschillende vormen, maar door het daadwerkelijk inrichten van een server.

We gaan het volgende installeren en configureren:

  • Een minimale headless server, waar we virtuele servers op kunnen gaan installeren. We nemen hiervoor, hoe kan het ook anders, de Ubuntu Server. We gaan geen virtuele server inrichten, maar een minimale server. Licht genoeg om virtuele machines te kunnen hosten. Deze server wordt daarom ook de gastheer genoemd. In de gastheer kunnen we dan de virtuele machines maken met VirtualBox. VirtualBox is een zogenaamde “hosted” hypervisor, wat wil zeggen dat deze een host nodig heeft om te functioneren. De virtuele machines zijn de gasten.
    P.S. Naast hosted hypervisors bestaan er ook bare-metal hypervisors die rechtstreeks op de hardware draaien.
    Headless betekent dat we geen scherm, toetsenbord en muis nodig hebben (behalve bij de installatie).
  • De server aansluiten op het wireless netwerk. Een draadloze computer met meerdere virtuele machines die vanaf de buitenwereld bereikbaar moeten zijn werkt, volgens mijn weten, alleen met VirtualBox. Reden hiervoor is de meeste draadloze netwerkkaarten netwerk bridging niet aankunnen, omdat deze spoofing van het IP-adres (zich uitgeven als een ander IP-adres) niet toestaan. Zover ik weet kunnen alleen kaarten met de prism chipset dit. Bij VirtualBox heeft de gastheer (bij ons de Ubuntu Server) altijd de internet verbinding en maakt een VirtualBox module het mogelijk deze verbinding te gebruiken voor andere virtuele machines. Dat kan zelf direct door gebruik te maken van de industriestandaard virtio netwerkdriver in de gast (de VirtualBox virtuele machine).
    Natuurlijk kan en werkt bedraad ook.
  • Een gemeenschappelijke data-partitie.
  • OpenSSH voor beveiligde toegang tot de host server.

Natuurlijk zijn er andere manieren om een server in te richten, maar dit is een manier om zowel een minimale server met hosted hypervisors en een draadloos netwerk in te richten.

Minimale vereisten voor de minimale server zijn een computer met 512MB RAM en 1GB schijfruimte. Een 64 bit server is nodig wanneer je gebruik wilt maken van het delen van geheugen in VirtualBox of als je meer dan 4GB aan RAM hebt. De minimale schijfruimte die we nodig hebben voor de minimale server en 20 virtuele machines van 8GB is maximaal 200GB. Het RAM wat we dan nodig hebben is 4GB. De vraag is of we 20 virtuele machines met 4GB RAM kunnen draaien? Maar dat gaan we wel merken.
Voor onderstaande beschrijving ga ik uit van een 64-bit machine met 4GB RAM en 750GB aan schijfruimte. Deze schijfruimte delen we als volgt in:

  • 10GB voor / (root)
  • 4,3GB voor wisselgeheugen
  • 200GB voor /home (inclusief virtuele machines)
  • rest van de schijf voor data.

Natuurlijk kan je zelf een andere indeling kiezen als je dat wenst.

Ubuntu Server installeren

Voordat we de server kunnen gaan installeren moeten we deze eerst de Ubuntu Server software downloaden van de site Download Ubuntu Server.

Kies de correcte bit-uitvoering, klik op de grote rode Download button en zet het gedownloade iso-bestand op een USB (met behulp van UNetbootin) of CD. Stop dit installatiemedium in de server en zorg dat je van dit medium kan booten door de instellingen in de BIOS te controleren.
Draadloos valt de server niet te installeren omdat een server normaal gesproken bedraad aan het netwerk moet hangen. Zorg dat je computer via een netwerkkabel is aangesloten. Hoeft niet, maar dan worden tijdens de installatie de updates binnengehaald. Zet desnoods de computer tijdelijk even in de buurt van de router of modem. Na de installatie maken we het draadloze netwerk in orde.

Hieronder volgt een stap voor stap overzicht voor het installeren van de minimale server. Om de screenshot te krijgen, heb ik deze installatie in VirtualBox uitgevoerd. Ik heb hiervoor een virtuele schijf van 10 GB gecreëerd. Bij de schijfindeling zal je op de screenshots andere groottes zien. De beschrijving vermeld de correcte groottes.

Na het (her)starten van de server machine verschijnt het eerste scherm:

Kies de Nederlandse taal, druk op de Enter toets en het Ubuntu-scherm verschijnt.

Druk op de F4-toets en kies ‘Een minimaal systeem installeren’. Kies niet de optie ‘Een minimale virtuele machine installeren’, omdat deze een KVM installatie gaat uitvoeren.
Voordat je doet kan je eventueel de installatiesoftware controleren op fouten door de optie ‘cd-rom op fouten controleren’ te kiezen.

Kies daarna ‘Ubuntu Server installeren’.

Bij de melding dat niet alles vertaald kan zijn kies je Ja om de installatie voort te zetten.

Kies Nederland of België als land (afhankelijk van waar je woont). Dit wordt gebruikt om de tijdzone in te stellen.

Bij de vraag om het toetsenbord te detecteren kies je Nee. Dit kunnen we zelf beter.

Kies USA als land voor de lay-out van het toetsenbord als je een qwerty-toetsenbord hebt. De eerste rij met letters op je toetsenbord begint dan met de q-w-e-r-t-y toetsen.
Heb je een azerty-toetsenbord kies dan Frankrijk als land.

Kies ‘USA – Met het Euro-teken bij de 5′. Deze lay-out geldt voor de meest gangbare qwerty toetsenborden.
Voor een azerty-toetsenbord kies je ‘Frankrijk  – Georgisch AZERTY Tskapo’.

In een van de volgende stappen zal het netwerk geconfigureerd worden. Dit gaat automatisch indien je DHCP gebruikt om een netwerk IP-adres aan een computer toe te wijzen (je hebt nog steeds een bedraad netwerk). Indien dit niet lukt dan krijg je een melding hiervan.

Kies Volgende.

Kies netwerk handmatig configureren. In de volgende schermen moet je de volgende netwerkinstellingen specificeren:

  • IP-adres: een adres wat past in de reeks van de modem/router. Neem het IP-adres van de router en verander alleen de cijfers achter de laatste punt. Bijvoorbeeld 192.168.1.100. Je kan een ander IP-adres toewijzen indien gewenst. Persoonlijk vind ik het handig om de server een adres te geven boven de 99 en desktops onder de 100.
  • Netwerkmasker: 255.255.255.0
  • Gateway: 192.168.1.254. Dit is het IP-adres van de modem/router.
  • Naamserveradressen: 192.168.1.254. Meestal hetzelfde IP-adres als de gateway of je moet een aparte DNS-server hebben.

Als het nu nog niet lukt, dan gaat de installatie gewoon door. Je merkt verderop pas dat je geen internetverbinding hebt. De rest wordt wel gewoon netjes geïnstalleerd. Updates worden niet binnengehaald, maar dat doen we dan zelf handmatig na de installatie.

Vul de computernaam in. Je mag alleen letters, cijfers en het minus-teken gebruiken. In dit voorbeeld heb ik ubuntuserver64 als naam gebruikt.

Klik op Ja bij de vraag of je tijdzone Europe/Amsterdam is. Voor België zal hier Europe/Brussel staan.

Om de schijven in te delen hebben we een aantal mogelijkheden.

  • Begeleid – benut gehele schijf. Ubuntu zal de schijf zelf indelen.
  • Begeleid – benut gehele schijf en gebruik LVM. LVM staat voor Logical Volume Manager en is alleen nodig indien je meer dan een disk in de server machine hebt en je wilt deze schijven als een logische schijf zien.
  • Begeleid – benut gehele schijf en gebruik LVM met encryptie. Het encrypteren van de schijf hebben we niet echt nodig. Vertraagt alleen maar.
  • Handmatig. Dit is wat we kiezen. We kunnen de schijf zelf naar eigen behoefte indelen.

Kies de sda schijf in de computer. Het kan zijn dat deze schijf bij jou een andere aanduiding heeft. Kies in ieder geval de harddisk.

Let er op dat de bestaande partities op schijf inclusief data verwijderd worden. Kies Ja. Onder de schijf zullen nu de bestaande partities verschijnen. We gaan deze nu een voor een verwijderen door de eerste partitie te kiezen en op de Enter toets te drukken. Kies in het volgende scherm de optie ‘Partitie verwijderen en druk op de Enter toets.

Doe dit voor alle partities, tot dat je één VRIJE RUIMTE hebt. Zie het volgende screenshot.

Kies de VRIJE RUIMTE. Wat we gaan doen is vier partities aanmaken.

  • / (root) voor het Ubuntu Server besturingssysteem. Grootte wordt 10GB (2GB in mijn voorbeeld).
  • swap voor wisselgeheugen. Neem de fysieke RAM grootte in de machine als het wisselgeheugen. Heb je 4GB dan wordt het wisselgeheugen 4,3GB (1024 x 1024 x 1024 x 4) groot  (1GB in mijn voorbeeld).
  • /home voor de virtuele machines. 200 GB hier kunnen we ongeveer 20 virtuele machines op kwijt. Moet voldoende zijn (2GB in mijn voorbeeld).
  • /data voor alle data. De rest (1GB in mijn voorbeeld).

Kies een nieuwe partitie aanmaken om de root-partitie te gaan aanmaken.

Kies als grootte 10 GB (2 GB in mijn VirtualBox voorbeeld). Als je wilt dan kan je ook 2 GB specificeren. De server zelf (host) heeft ca. 1GB nodig. Daarnaast hebben we nog maximaal 200MB ruimte nodig om VirtualBox te installeren. Als je dit doet heb je niet veel ruimte meer over om andere software te installeren in de server. De huidige harde schijven zijn groot genoeg om 10GB te kunnen missen.


Nu heb je de keuze tussen primaire en logische partities. Je mag maximaal vier primaire partities hebben. Wil je er meer hebben dan moet je uitwijken naar logische partities. Een logische partitie is een subpartitie van een primaire partitie. Een primaire partitie met een logische partitie heet een extended (uitgebreide) partitie. Je hebt dus altijd minimaal een primaire partitie nodig. Aangezien we precies vier partities gaan aanmaken kunnen we deze gewoon primair zijn.
Kies primair type.

Plaats de partitie aan het begin van de vrije ruimte.

Kies ‘Klaar met instellen van partitie’.

Kies opnieuw de VRIJE RUIMTE.

Kies ‘Een nieuwe partitie aanmaken’ om de wisselgeheugen-partitie te gaan aanmaken.
P.S. Als je meerdere schijven hebt in de computer, dan kan je de wisselgeheugen-partitie ook op een andere schijf zetten voor performance. Echter hoe meer RAM hoe beter. Niets kan tegen RAM op.

Kies als grootte de grootte van je fysieke RAM. Voor 4GB specificeer je hier, zoals in de inleiding al gezegd, 4,3GB.

Kies primair type.

We plaatsen deze partitie weer aan het begin van de vrije ruimte en achter de root partitie.

Kies ‘Ext4 loggend bestandssysteem’, omdat we het wisselgeheugen niet als bestandssysteem gaan gebruiken.

Kies ‘Wisselgeheugen (swap area).

Kies ‘Klaar met instellen van partitie’.

Kies opnieuw de VRIJE RUIMTE.

Kies ‘Een nieuwe partitie aanmaken’ om de home-partitie te gaan aanmaken.

Kies 200GB als grootte. In het voorbeeld zie je 2GB.

Kies weer primair type.

Kies Begin van de vrije ruimte als locatie van de nieuwe partitie. We plaatsen deze achter het wisselgeheugen.

Kies ‘Klaar met instellen van de partitie’.

Kies voor de laatste keer weer de VRIJE RUIMTE.

Kies weer ‘Een nieuwe partitie aanmaken’ om de data-partitie aan te gaan maken.

Accepteer de gespecificeerde grootte. Dit is de resterende vrije ruimte.

Kies Primaire als type.

Kies Aanhechtpunt. We gaan de data-partitie zelf een naam geven.

Kies ‘Aanhechtpunt handmatig invoeren’.

Voer als naam /data in.

Kies ‘Klaar met instellen van partitie’.

Als je nu geen VRIJE RUIMTE meer hebt, dan kies je ‘Schijfindeling afsluiten & veranderingen naar schijf schrijven’.

Controleer de instellingen die je zojuist voor je schijf/schijven hebt opgegeven. Kies Ja als antwoord op de vraag of je de aanpassingen wilt wegschrijven naar de schijven.

Geef je echte naam op voor het gebruikersaccount.

Specificeer je accountnaam (in kleine letters) voor de server.

Specificeer je wachtwoord behorende bij het account wat je net hebt aangemaakt.


Voer je wachtwoord nogmaals ter verificatie in.

Kies Nee om je persoonlijk map niet te laten versleutelen. Persoonlijk vind ik encryptie voor een server alleen maar overhead. Natuurlijk mag je Ja kiezen als je dit wenst.

Laat HTTP-proxy leeg, tenzij je netwerk een proxy gebruikt.

Kies ‘Beveiligingsupdates automatisch installeren’. Alleen de beveiligingsupdates worden automatisch geïnstalleerd. De normale updates zul je handmatig moeten uitvoeren of via crontab (een commando dat een programma of script op een ingesteld tijdstip uitvoert).

Kies ‘OpenSSH server’ als software-selectie om te installeren. Aangezien we een headless-server aan het installeren zijn, willen we graag een remote verbinding met de server kunnen opzetten. We moeten de server toch kunnen configureren en virtuele machines moeten kunnen aanmaken.

Kies Ja om de GRUB-opstartlader in het Master Boot Record te installeren.

Verwijder het installatie medium (CD of USB), kies Volgende en we zijn klaar met installeren.

Laat de computer nog even via een netwerkkabel aan de modem/router hangen.

Na de installatie

Na het herstarten zie je een login prompt. Log in.

Draadloos netwerk configureren

Nu gaan we het draadloos netwerk in orde maken. Om dit te kunnen voltooien moet je de draadloze netwerkkaart kennen en moet je weten of de driver daarvoor in de kernel geïnstalleerd is.

Ondanks het feit dat Ubuntu Server normaal gesproken alleen voor bedraad  netwerk is, zou de draadloze driver geïnstalleerd moeten zijn. De meest voorkomende drivers voor Atheros, Broadcom, Intel, Linksys, Ralink, Realtek, e.a. zouden standaard geïnstalleerd moeten worden door Ubuntu. We moeten dit even controleren:

  1. Voer het volgende commando uit om het netwerk apparaat te tonen:
    • voor interne draadloze PCI netwerkkaart: lspci|grep "Network\|Ethernet"
    • voor externe draadloze USB netwerkkaart: lsusb

    Voer ook het commando sudo lshw -C network uit. Deze laat bij ‘Wireless interface zien wie de fabrikant is, het product is, welk apparaat (achter ‘logical name’) en welke driver gebruikt wordt.

  2. Voer het commando lsmod uit om te zien of deze in de kernel is geïnstalleerd. In de uitvoer van lsmod zal je iets van een driver moeten zien die overeenkomt met het apparaat wat bij het lspci commando als resultaat hebt gekregen. Als dat zo is dan is de driver geïnstalleerd en in de kernel opgenomen.

    Zo niet dan moet deze in de kernel worden opgenomen. Dit doe je door het commando sudo modprobe <naam driver>uit te voeren. Als dit niet lukt dan is hoogstwaarschijnlijk de driver voor de draadloos netwerkkaart niet geïnstalleerd. Deze moet dan handmatig geïnstalleerd worden.

    P.S. Dit artikel legt het installeren van de driver niet uit, omdat dit per netwerkkaartmerk en -type kan verschillen. Zoek op internet. Daar zijn voldoende forums of artikelen te vinden die je kunnen helpen. Eventueel kan je hier vragen, maar ik beloof niet dat ik je kan helpen. Misschien wel, misschien niet. Ik ken ook niet alle drivers.

Optioneel: Als je niet zeker bent of de draadloze netwerkkaart überhaupt wel werkt, dan kan je de server herstarten met de Ubuntu Live CD, Ubuntu proberen zonder te installeren en controleren of je de draadloze netwerkkaart aan de praat krijgt. Als deze in de live-situatie werkt, dan moet deze ook in de server werken.

De minimale server heeft de wireless tools om de draadloze netwerkkaart te activeren en te configureren niet standaard geïnstalleerd. Dit doen we zelf even door het commando sudo apt-get install wireless-tools uit te voeren. Als je een WPA-beveiligd draadloos netwerk hebt, dien je ook nog wpa-supplicant te installeren door het commando sudo apt-get install wpasupplicant uit te voeren.

Nu gaan we controleren of de draadloze interface geactiveerd is door het commando iwconfig uit voeren.

Als laatste moeten we het draadloos netwerk nog configureren. Dit doe we door het bestand /etc/network/interfaces aan te passen.

Als je een WPA-beveiligd netwerk hebt, dan heb je een geëncrypteerde WPA-PSK sleutel nodig. Deze sleutel krijg je door het commando wpa_passphrase <ESSID van de router of modem> <je ASCII sleutel> uit te voeren. ESSID staat voor Extended Service Set IDentifier. De hexadecimale sleutel achter psk= in het resultaat van het wpa-passphrase commando heb je dadelijk nodig  bij het wijzigen van het /etc/network/interfaces bestand.

  1. Voer het commando sudo vi /etc/network/interfaces uit.
  2. Ga naar de laatste regel en druk op Shift-A.
  3. Nu gaan we de instellingen voor het draadloos netwerk specificeren:
    • Voor WEP-beveiligd draadloos netwerk voer je de volgende regels in:
      auto wlan0
      iface wlan0 inet static
      address <IP-adres van deze server>
      netmask 255.255.255.0
      gateway <IP-adres van je router/modem>
      wireless-channel <kanaal-id>
      wireless-ap <MAC-adres van je router/modem>
      wireless-key <WEP-sleutel>
      wireless-essid <ESSID van je router/modem>
    • Voor WPA-beveiligd draadloos netwerk voer je de volgende regels in:
      auto wlan0
      iface wlan0 inet static
      address <IP-adres van deze server>
      netmask 255.255.255.0 gateway <IP-adres van je router/modem>
      wpa-driver wext
      wpa-ssid <SSID van de router of modem>
      wpa-ap-scan <1 voor ESSID wordt uitgezonden en 2 voor ESSID wordt NIET uitgezonden>
      wpa-proto <RSN voor WPA2 en WPA voor WPA>
      wpa-pairwise <CCMP voor AES encryptie van WPA(2) en TKIP = TKIP encryptie voor WPA>
      wpa-group <CCMP voor AES encryptie van WPA(2) en TKIP = TKIP encryptie voor WPA>
      wpa-key-mgmt <WPA-PSK voor Pre-Shared Key en WPA-EAP voor Enterprise Authentication Server>
      wpa-psk <de geëncrypteerde WPA-PSK sleutel>
  4. Druk op de ESC-toets om de invoermode af te sluiten.
  5. Druk achtereenvolgens de toetsen : w q in om de wijziging op te slaan en de vi-editor af te sluiten.

Nu moet je het draadloos netwerk even starten door sudo service networking start uit te voeren.

P.S. Vergeet niet dat de modem/router deze server moet kennen anders krijg je nog geen internetverbinding.

Geïnstalleerde software updaten

Nu we internetverbinding hebben, gaan we de geïnstalleerde software bijwerken naar de laatste versies door het commando sudo apt-get update && sudo apt-get upgrade uit te voeren. Bij de vraag of je de pakketten wilt bijwerken voer je J in.

That’s it. Het volgende artikel wordt een beschrijving van hoe VirtualBox te installeren op deze server.

About these ads

11 reacties op “Ubuntu: de perfecte server – minimale server installeren

  1. Hoi Leo, bedankt voor je heldere uitleg.
    een opmerking voor degene die in de host wel voor een encrypted home dir kiezen: je komt in dat geval in de problemen met het automatisch opstarten van de vms middels de voorgestelde methode via vboxvms-start-stop script.

  2. Hallo Tom, dank voor je opmerking. Echter begrijp ik dit niet. Encryptie zou transparant moet zijn. Kan je me even uitleggen waar het dan mis gaat. Dan kan ik dit wellicht toevoegen aan het artikel. Alvast bedankt.

  3. Leo,
    Ik probeer een beetje over te stappen naar linux, en als ik aan het zoeken ben dan kom ik steeds weer hier terecht. Heerlijk leesvoer en leuk om het uit te voeren, bedankt daar voor.

    Met wat voor versie nummer is deze 64 bit server ubuntu server setup gedaan? Ben wel eens bezig geweest met een tutorial en kwam dan aan het einde erachter dat de versie die ik gebruikte niet geschikt was voor zo’n setup.

    PcP

    • Dit is geschreven voor Ubuntu Server 11.04, maar zou ook voor Ubuntu 12 moeten voldoen. Misschien dat sommige screenshots hier en daar wat afwijken, maar de werkwijze blijft hetzelfde.

      Waar loop je ergens vast?

  4. Toppie uitgelegd allemaal, maar toch rijst mij de vraag als we een server opzetten met deze geweldige Tutorial, waarom is er dan geen Tut voor het opzetten en laten werken van de vsfpd en/of sftp ?

Vragen, opmerkingen en meningen over dit artikel kan je hier kwijt:

Vul je gegevens in of klik op een icoon om in te loggen.

WordPress.com logo

Je reageert onder je WordPress.com account. Log uit / Bijwerken )

Twitter-afbeelding

Je reageert onder je Twitter account. Log uit / Bijwerken )

Facebook foto

Je reageert onder je Facebook account. Log uit / Bijwerken )

Google+ photo

Je reageert onder je Google+ account. Log uit / Bijwerken )

Verbinden met %s