Je eigen Apache webserver installeren

Marco den Teuling
0

Inhoudsopgave

Apache webserver installerenHandig, zo’n kant-en-klaar hosting-pakket, maar om volledig controle te hebben over je webserver, kun je het beste zelf de handen uit de mouwen steken. Zo kun je bijvoorbeeld je eigen Apache webserver installeren. De benodigde componenten zijn met behulp van de commandline te installeren. Ook handig als testserver.

Om een contentmanagementsysteem (CMS) te installeren of een passieve HTML/CSS-site op internet te krijgen, is een kant-en-klare webspace die je bij een webhoster kunt huren een prima mogelijkheid. Dan hoef je je niet bezig te houden met wat er op de achtergrond allemaal draait om de boel aan de gang te krijgen en te houden.

Vaak kun je de functionaliteit die geboden wordt modulair aan- of uitzetten via een eigen gebruikersinterface. Je kunt alle functies die je niet gebruikt, uitzetten. Sterker nog: die móet je uitzetten omdat ze de performance en veiligheid van je webserver negatief beïnvloeden. Extra plug-ins maken je server vatbaarder voor aanvallen van buitenaf.

Maar vaak heb je helemaal geen idee wat er op een webserver allemaal draait. Het enige wat je kunt doen, is je bestanden via FTP of een andere manier naar de webserver kopiëren en dan moet alles als een soort automatische magie gaan werken. Als dat niet zo is, resteert je vaak niets anders dan contact opnemen met de supportafdeling van de hoster.

Wil je meer controle over je webserver en alleen over de functionaliteiten beschikken die je daadwerkelijk nodig hebt, of heb je functionaliteiten nodig die gewone webspaces niet bieden, dan moet je zelf aan de slag om je webserver naar je hand te zetten. Dat klinkt moeilijker dan het is. Iedereen die wel eens met XAMPP of LAMP een webserver op zijn systeem geïnstalleerd heeft, heeft de stappen die nodig zijn om een webserver in de lucht te krijgen eigenlijk al automatisch laten uitvoeren. Voor een lokale testserver biedt dat voldoende mogelijkheden, maar voor een productieserver geldt dat meestal niet.

Je eigen webserver

Gelukkig kun je bij veel hosters ook een ‘kale’ server huren, bijvoorbeeld in de vorm van een Virtual Private Server (VPS). Bij een VPS wordt een fysieke server opgedeeld in meerdere kleinere virtuele servers. Die virtuele servers worden als VPS verhuurd. Elke gebruiker krijgt dus een eigen virtuele server en kan daarop doen en laten wat hij wil. Doordat de hoster dit zo kan inrichten dat de hardware dag en nacht gelijkmatig wordt belast, heb je nauwelijks last van de andere VPS’en. Hierdoor wordt de hardware efficiënter benut en kan deze dus goed koper worden aangeboden dan een dedicated server. Bij deze laatste optie huur je in feite een server in een groot serverrack in een rekencentrum. Jouw webserver draait dan daadwerkelijk op de kale hardware met een eigen processor, schijven en werkgeheugen. In de praktijk wegen de meerkosten vaak niet op tegen die van een virtuele server, tenzij je verwacht dat de sites die je gaat hosten een enorme internationale toevlucht aan bezoekers oplevert. Heb je een website die dag en nacht druk wordt bezocht, dan is een VPS niet per se de juiste keus.

Zoals gezegd is een VPS helemaal van jou alleen en hoef je deze niet met anderen te delen. Je bent zelf verantwoordelijk voor het installeren van de software op zo’n server, maar vaak wordt hij geleverd met een basisinstallatie op basis van Windows of Linux. Bij webservers wordt vanwege de ontbrekende licentiekosten en de simpelere gebruiksvoorwaarden meestal Linux gebruikt. Daarbij speelt ook mee dat de meeste webserversoftware goed onder Linux wordt ondersteund en eenvoudig te installeren is. Omdat Linux beheerd kan worden via de commandline, dus zonder grafische schil, is dat een aanvalspunt minder en gaat dat een stuk minder stroperig dan met een GUI.

Apache webserver installeren status opvragen

Eigen webserver installeren

In dit artikel gaan we daarom uit van een minimale Ubuntu 16.04-installatie, waar je een complete webserver van maakt. Dat betekent dat je Apache2, databaseserver MySQL en PHP-ondersteuning van de grond af aan installeert. Als je niet helemaal zeker bent van jezelf, probeer je dat eerst uit op een tijdelijke Ubuntu-server op een pc in je netwerk of een virtuele machine op je eigen computer. Om echt online te gaan, heb je dan een Linux-VPS of dedicated server nodig waar Ubuntu 16.04 al op geïnstalleerd is – met zo min mogelijk extra modules. Er zijn namelijk aanbieders die bij wijze van service meteen alle toeters en bellen en een desktopinterface voor je mee installeren, zodat je al meteen de beschikking hebt over alle webservermogelijkheden – maar dat is in dit geval nou net niet wat je wilt.

Wie Ubuntu op een eigen test-pc of virtuele machine installeert, moet gedurende de installatie een gebruiker aanmaken. Deze heeft standaard geen beheerdersrechten – in Linux-jargon root-rechten genoemd. Inloggen als root is niet heel veilig omdat je dan alles mag. Het risico dat er dan serieus wat misgaat omdat je per ongeluk een verkeerd commando intypt, is behoorlijk groot. Daarom staat Ubuntu dit standaard niet toe. Wil je opdrachten uitvoeren waarvoor je rootrechten nodig hebt, dan moet je die opdracht vooraf laten gaan door sudo, wat je kunt lezen als Super User DO. Vervolgens wordt gevraagd om je eigen wachtwoord in te voeren. Weet je van tevoren al dat je behoorlijk wat opdrachten met root-rechten moet uitvoeren, dan kun je beheerder ‘root’ worden door sudo -i en je eigen wachtwoord in te typen.

Vergeet na het uitvoeren niet om als root uit te loggen en als gewone gebruiker verder te gaan. Wil je vanaf een Windows-machine inloggen dan moet op Linux ook een SSH-server draaien. Deze voeg je onder Ubuntu met het commando apt op dezelfde manier toe als waarop we verderop Apache installeren.

Contact met de server

Voor het voorbeeld gaan we uit van een minimale Ubuntu-installatie op een betaalbare VPS – bijvoorbeeld de aantrekkelijke aanbieding van Strato in het kader rechtsboven op deze pagina. Om contact te leggen, gebruiken we SSH. Hiervoor heb je een SSH-client nodig voor je besturingssysteem. Voor Windows kan dat met PuTTY, in macOS is standaard een SSH-client ingebouwd, Linux-gebruikers kunnen de Openssh-client installeren. Bij Putty vul je bij Host Name het ip-adres van je server in, dat je van je provider hebt gekregen. Zorg ervoor dat als protocol SSH is geselecteerd en klik op Open. Daarna moet je inloggen op de server met de inloggegevens die je van de hoster hebt gekregen. Als je net als wij alleen een wachtwoord hebt, moet je als inlognaam root gebruiken. Op dat moment zie je niet veel meer dan een cursor op een zwart scherm, maar je bent dan wel ingelogd op de webserver en kunt commando’s intypen om het systeem verder te installeren en configureren.

Zoals gezegd is standaard werken als root niet heel veilig omdat je dan alles mag. De kans dat er dan wat serieus misgaat omdat je per ongeluk een verkeerd commando intypt, is behoorlijk groot. Maak daarom eerst een ‘gewone’ gebruiker aan, die slechts na het intypen van een wachtwoord dingen mag installeren. Vul in het onderstaande commando bij <username> de naam van de gewone gebruiker in. Die wordt toegevoegd aan de groep van beheerders. Typ de volgende commando’s in op de SSH-console om in te loggen als gebruiker  <username>:

adduser <username>

usermod -aG sudo <username>

sudo su <username>

Apache webserver installeren

Daarna ga je de webserver installeren. In de praktijk hebben we het meestal over een Apache-server, maar formeel is dat Apache2. Dat zie je bij de installatiecommando’s dan ook terug. Zoals boven aangehaald, moeten commando’s worden voorafgegaan door sudo. Het commando wat daarna volgt, mag immers alleen uitgevoerd worden door een beheerder. Probeer je het commando zonder sudo ervoor te laten werken, dan krijg je een foutmelding dat je daar de rechten niet voor hebt. Update en upgrade de server en laat hem dan Apache installeren. Bij de commando’s staat apt voor Advanced Packaging Tool, oftewel het pakketbeheerprogramma dat bij Ubuntu (en andere op Debian gebaseerde besturingssystemen) zorgt voor het beheer van softwarepakketten.

sudo apt-get update

sudo apt-get upgrade

sudo apt-get install apache2

Firewall instellen

Omdat je Ubuntu-server standaard beveiligd wordt door een eigen firewall, moet je ervoor zorgen dat hij wel van buitenaf via internet bereikbaar is. Daarbij gaat het om de protocollen HTTP en HTTPS, die voor het dataverkeer van websites gebruikt worden. De firewall van Ubuntu heet ufw, wat een afkorting is van uncomplicated firewall (maar je mag het ook lezen als Ubuntu-firewall). Bij die firewall sta je de protocollen HTTP en HTTPS met de volgende twee commando’s toe:

sudo ufw allow http

sudo ufw allow https

Apache webserver installeren welkomstpagina default page

Basiswebsite

Met het volgende commando krijg je een statusoverzicht van de webserver. Als achter ‘Active’ in het groen ‘active (running)’ staat, is de webserver geactiveerd.

sudo systemctl status apache2

In principe ben je dan al klaar. Als je met een browser naar het ip-adres van je server gaat of naar de url van een domeinnaam die je aan het ip-adres hebt gekoppeld, moet de standaardpagina van Apache2 verschijnen. Eventueel kun je zelf nog zaken toevoegen zoals een databaseserver, SSL-certificaat of beheerinterface voor meer mogelijkheden, gebruiksgemak en veiligheid.

(Noud van Kruysbergen, c’t magazine 5/2018)

Lezersaanbieding

Om zelf aan de slag te kunnen, heeft Strato een exclusieve aanbieding voor c’t-lezers: Virtual Linux Server V30. Het gaat om een later altijd nog op te schalen virtual private server met 8 GB RAM, 400 GB HDD en een 4-vCores-cpu. De server heeft ongelimiteerd dataverkeer. Zo’n VPS kost normaal 16 euro per maand, maar voor onze lezers slechts 12 euro per maand – niet tijdelijk, maar voor altijd, en dat bovendien zonder set-upkosten.

De ISO-27001-gecertificeerde degelijke servers staan veilig in Duitsland. Je hoeft je VPS niet per se helemaal zelf via de commandline te configureren, ze hebben standaard zonder meerkosten een licentie voor de panelsoftware Plesk Onyx om databases en websites makkelijk in de browser aan te maken.

De contractduur is één maand en wordt maandelijks verlengd, je zit er dus niet meteen een hele tijd aan vast. Een ideaal systeem dus om eens met dit artikel aan de slag te gaan. Bovendien heeft Strato een 30-dagen-geld-terug-garantie, dus als je binnen de eerste maand besluit om op te zeggen, kost het je helemaal niets. Ga dan ook snel naar https://www.strato.nl/ct voor deze exclusieve lezersaanbieding.

Apache webserver installeren hosting

 

Deel dit artikel

Marco den Teuling
Marco den TeulingHad als eerste eigen computer ooit een 16-bit systeem, waar van de 48 kilobyte toch echt niet ‘genoeg voor iedereen’ was. Sleutelt graag aan pc’s, van de hardware tot het uitpluizen van de BIOS-instellingen. Vindt ‘Software as a Service’ een onbedoeld ironische naamgeving.

Lees ook

Energie meten met Raspberry Pi: snel en overzichtelijk je verbruik zien

Wanneer je thuis een slimme meter hebt geïnstalleerd, kun je je energie meten met Raspberry Pi. Energieverbruik is in te zien via gratis te downloaden...

AI foto maken: zo genereer je snel en simpel mooie afbeeldingen met AI

Wil jij graag een AI foto maken voor bijvoorbeeld je blog, presentatie of scriptie maar heb je geen idee hoe je dit voor elkaar krijgt? Geen zorgen! I...

0 Praat mee
avatar
  Abonneer  
Laat het mij weten wanneer er