Ondertussen is het bijna een maand geleden de Ubuntu release party bij de Bitmappers in Hasselt is doorgegaan. Tijd voor een korte bespreking!
Enkele maanden geleden werd ik door computerclub de Bitmappers uit Hasselt gecontacteerd met de vraag om voor de lokale server te zorgen die ingezet zou worden op de Ubuntu release party van zaterdag 22 november 2008. Uiteraard ben ik hierop ingegaan! Ik was echter niet m’n proefstuk toe. Begin dit jaar heb ik in aller ijl de server voor de release party van april verzorgd. Uit fouten die ik toen was tegengekomen had ik veel geleerd om ze deze keer te voorkomen. Met succes!
De opdracht was om een server te ontwerpen die zou instaan als manusje-van-alles. In één zin gezegd omvat dit een DHCP-, Router-, HTTP cache-, FTP cache-, DNS-, Web-, Database- en FTP server.
Om de bezoekers de mogelijkheid te geven aan hun gewenste ISO bestanden te geraken heb ik tevens een kleine website opgezet. Op de website stond een welkomswoordje, een gastenoek, links naar externe websites en de ISO’s die via het FTP protocol gedownload konden worden. De website was te bereiken via een lokaal opgezet domein.
Achteraf gezien is alles goed verlopen. Natuurlijk moest er wel iéts misgaan, Murfy mocht niet ontbreken! Gelukkig was de fout tijdig ontdekt: een kabeltje dat fout ingeplugd was
. Enkele uren voor de eerste bezoekers aankwamen waren we nog volop in de weer met het fabriceren van netwerkkabels. Onze dank was groot toen we er een hoopje toegeschoven kregen van een sponsor!
Ik denk wel dat het de laatste keer is geweest dat deze fysieke server als lokale server heeft ingestaan, voor volgende keer moet er uitgekeken worden naar andere hardware als dat mogelijk is. De gebruikte hardware was namelijk een P4 2GHz, 256MB ram, HDD 80GB 5400rpm. Op een bepaald moment steeg de load tot 15, toen kreeg hij het toch even moeilijk, maar is nooit onderuit gegaan!
Wat heb ik gebruikt qua programma’s?
Besturingssysteem
Als besturingssysteem heb ik gekozen voor Ubuntu 8.04 32-bit. Dit OS heeft reeds meermaal een positieve vingerafdruk achtergelaten en is tevens het middelpunt van de party waar de server ingezet zal worden.
DHCP
Voor de automatische verdeling van IP (v4) adressen heb ik gekozen voor het programma “dhcp3-server – versie 3.0.6.dfsg-1ubuntu9”.
HTTP cache-proxy
Het programma “squid3 – versie 3.0.STABLE1-1ubuntu1” zorgt voor de caching van http verkeer. Dit wordt volledig transparant afgehandeld.
9/10 van de Belgische huishoudens die een internet verbinding hebben zitten gekluisterd aan een harde datalimiet; zo ook de computerclub die deze release party organiseert.
Om hun dataverkeer te sparen – en zo ook een snelle verbinding te behouden door niet op smallband terecht te komen – heb ik gekozen om een cache-proxy te installeren. Deze cache-proxy zal ervoor moeten zorgen dat alle datapakketjes slechts één maal van internet gedownload moeten worden. Wanneer een tweede mede LAN-gebruiker hetzelfde pakket wilt downloaden zal hij dit bestand automatisch van de lokale server toebedeeld krijgen. Dit verloopt volledig transparant, de configuratie van de webbrowser hoeft niet aangepast te worden.
Ik heb overwogen om het programma “apt-cacher” te gebruiken, maar dit programma cacht helaas enkel en alleen *.deb en source pakketten, verder cacht het geen http verkeer. Tevens zou ook de source.list van alle clients aangepast moeten worden; zeer omslachtig en niet zeer gebruiksvriendelijk voor de beginnende Linux gebruiker.
Omdat ik zeer positieve ervaring heb met Squid is mijn keuze hier ook op gevallen.
FTP cache-proxy
Ook FTP data wordt gecached. Hier heb ik gekozen voor “frox – versie 0.7.18-3”. Ook dit gebeurt transparant.
Omdat vaak een FTP server als softwarebron gekozen wordt om het Ubuntu systeem te updaten zouden deze datapakketjes de HTTP cache-proxy missen; eenvoudigweg omdat het een ander protocol is.
Om dit te voorkomen heb ik ook een FTP cache-proxy geïnstalleerd, met name “Frox”. Deze heeft hetzelfde doel als Squid, werkt op dezelfde wijze en is eveneens transparant.
Webserver
Apache hoeft zich niet meer te bewijzen als het gaat om serveren van websites, daarom ook mijn keuze voor “apache2 – versie 2.2.8-1”. Hierop draait ook “php5 – versie 5.2.4-2ubuntu5” en “mysql-server – versie 5.0.51a-3ubuntu5”.
DNS
“bind9 – versie 1:9.4.2-10” zorgt ervoor dat de lokale website met een lokale domeinnaam te bereiken is. Ook zorgt bind9 voor de forwarding voor externe domeinen.
FTP
Als FTP-server heb ik gekozen voor “vsftpd – versie 2.0.6-1ubuntu1”. VsFTP staat bekend om zijn veiligheid.
Firewall
Voor de firewall maak ik gebruik van het in de Linux kernel ingebouwde netfilter. Voor de administratie hiervan gebruik ik “iptables – versie 1.3.8.0debian1-1ubuntu2”. ISO’s zijn te downloaden via FTP, dus dat kan heel wat verkeer wegtrekken. Om de surfende bezoekers een confortabele snelheid te geven heb ik ook gezorgd dat HTTP verkeer voorrang krijgt op FTP verkeer.