Skip to main content

Apache installeren

In deze les gaan we Apache installeren, gaan we onze hosts file op windows aanpassen en gaan we leren wat een virtual host is.

Package manager / hosts file

Een package manager is een tool die ervoor zorgt dat je software kunt installeren en weer kunt verwijderen. Je zou het een installer kunnen noemen. Als je onder Linux software installeert dan zijn er zogenaamde depedencies (afhankelijkheden). De package manager zorgt ervoor dat deze afhankelijkheden ook worden geinstalleerd.

Elke Linux distributie heeft zijn eigen package manager. Ubunu gebruikt apt

De meest gebruikte commando's

apt list laat alle geinstalleerde packages zien
sudo apt update update lijst met packages
sudo apt upgrade upgrade alle packages (dit moet je regelmatig draaien)
sudo apt install nano installeer het package nano (dit is een 'eenvoudige'editor)
sudo apt remove nano verwijderd de package nano

Installatie van Apache

We gaan nu Apache installeren op onze Linux server.

sudo apt update
sudo apt install apache2

Weet je nog wat je ipnummer van de Ubunt server is? Controleer dat anders nog een keer met ifconfig

Ga naar de browser en typ het ipnummer in - als het goed is zie je de standaard Apache2 pagina.

Host file - windows

Een ipnummer intikken is niet zo handig en moeilijk te onthouden. We zouden een domain moeten regeistreren en het ipnummer daar aan koppelen, maar dat gaat nu te ver. Bovendien heeft jouw Ubuntu server geen publiek ip address; het heeft een privat ip address dat alleen op jouw netwerk beschikbaar is.

Binnen ons netwerk zouden we op een lokale DNS (Domain Name Server) een naam kunnen registreren. Op onze windows machine kunnen we ook de host file gebruiken. Domein namen worden namelijk onder windows altijd eerst opgezocht in de hsotgs file en als die daar staan dan wordt er verder niet gekeken naar een DNS server. We kunnen dus via de hosts file onze eigen naam registreren. We moeten de hosts file wel onder admistrative privileges openen. Dat doen we door notepad in te type en dan rechtern muis - run as adminstrator te kiezen. We hebben nu notepad geopend als adminstrator (in Lunx termen als root).

Ga nu naar c:\windows\system32\drivers\etc\  laat alle files (*.*) zien en open hosts.

Voeg deze regel toe (ip nummer is voorbeeld):

192.168.153.134	ubuntu.local

Save de hosts file en ga dan naar je browser en ga naar ubuntu.local. Je ziet nu je Linux Apache web server standaard pagina.

Virtual host

Binnen een webserver worden vaak meerdere websites geserveerd. Als dat zo is hoe weet Apache dan welke web server er moet worden getoond? Dit gaat met behulp van virtuele hosts. Stel je hebt www.site1.com en www.site2.com. Via DNS zijn beide domeinn namen aan één ip numemr gekoppeld. Dat betekent dat als je één van de twee domain namen in de browser intypt, je naar dezelfde server wordt doorgestuurd. Op de server wordt het verzoek aan de de webserver (in ons geval Apache) door gegeven. De webserver krijgt ook de naam via de browser en het is deze naam die de web server gebruikt om te bepalen welke website moet worden getoond. Deze website heet een virtuele host. Het is namelijk geen echte host (dat is je webserver), maar een soort sub-host; een host in een host. We noemen dat dus de virtual host.

Een virtual host wordt aangemaakt door een text file. Op een Ubuntu server staan de virtuele hosts in /etc/apache2/sites-enabled/ er staat standaard één default file. Als er verder geen host gevonden wordt dan wordt de web site die in deze file staat getoond.  In de file staat

DocumentRoot /var/www/html

Dit is dus de locatie van de standaard website.

Via de windows hosts file hadden we ubuntu.local als naam gedefineerd. Aan deze naam kunnen we nu een virtuele host hangen.

sudo touch /etc/apache2/sites-enabled/ubuntu.local

Je hebt nu een lege file. Zet de group van deze file nu gelijk aan jouw groep (dus gelijk aan jouw username). Zet daarna de rechten voor de groep op r en w.

Je kunt nu zonder sudo te gebruiken de file veranderen.

Zet nu deze twee regels in de file.

ServerName      ubuntu.local
DocumentRoot    /var/www/ubuntu.local

Dit betekent dat als de server een website verzoek krijgt voor ubuntu.local, hij gaat zoeken in /var/www/ubuntu.local voor de web pagina's.

Dus we maken nu de directory /var/www/ubuntu.local aan

sudo mkdir /var/www/ubuntu.local

verander de group van deze directory weer naar (jouw) user en voeg w permissie to aan de group.

Maak een file index.html en zet daar bijvoorbeeld het volgende in:

<html>
<head>
  <title> Linux rocks! </title>
</head>
<body>
  <p> I'm running this website on an Ubuntu Server server!
</body>
</html>

 

--