Inleiding
De Apache HTTP Server is een open-source webserver van de Apache Software Foundation. Het is software die uw lokale server verbindt met de website-servers zoals Firefox of Google Chrome. Deze verbinding wordt gebruikt om bestanden en gegevens te verzenden en te ontvangen.
Het is de meest populaire server ter wereld. Meer dan 40% van alle websites op het world wide web wordt aangedreven door Apache HTTP. De redenen voor de populariteit zijn de hoge mate van aanpasbaarheid, de uitstekende integratiecapaciteit en de betrouwbare media-ondersteuning. Apache werkt op basis van een modulaire architectuur. U kunt individuele modules aanpassen om verschillende functionaliteiten toe te voegen en te verwijderen. In deze handleiding laten we u zien hoe u de Apache-server installeert op Ubuntu 18.04.
Voor de installatie
Voordat u begint met het installeren van Apache, moet u aan een aantal voorwaarden voldoen. Zorg er om te beginnen voor dat u al een niet-rootgebruiker met sudo-rechten hebt geconfigureerd op de lokale server. Daarnaast hebt u een firewall nodig. U moet uw basisfirewall inschakelen en de niet-essentiële poorten blokkeren. Voordat u met de installatie begint, logt u in met uw niet-rootgebruiker met sudo-rechten. U kunt uw server eenvoudig installeren door onze handleiding over het instellen van een Ubuntu-server te volgen.
Hoe installeert u de Apache-webserver op Ubuntu 18.04
Als u aan de voorwaarden hebt voldaan, kunt u overgaan tot de eigenlijke installatie. U kunt de Apache-webserver installeren en ontdekken in 6 eenvoudige stappen:
Stap 1: Apache installeren
Het zal u plezier doen te horen dat Apache al deel uitmaakt van Ubuntu. Dit betekent dat u Apache op uw server kunt installeren met de gebruikelijke pakketbeheertools. Het is beschikbaar als standaardsoftware in de repository. Eerst moet u de lokale pakketindex bijwerken:
|
1 |
sudo apt update |
Dit commando zorgt ervoor dat de recente upstream-wijzigingen in de pakketindex verschijnen. Vervolgens moeten we de opdracht geven om het apache2-pakket te installeren:
|
1 |
sudo apt install apache2 |
Stap 2: Uw firewall-instellingen wijzigen
Bij het voldoen aan de voorwaarden moet u uw UFW-firewall hebben ingesteld. Als u de instructies hebt gevolgd, blokkeert uw firewall de toegang tot de server. We moeten de standaard webpoorten toegang geven tot de server voordat we Apache kunnen gebruiken. Daarom moeten de firewall-instellingen worden gewijzigd.
Tijdens de installatie Apache registreert zich bij de UFW. Het resultaat van deze registratie is de aanmaak van enkele applicatieprofielen. Bovendien kunt u deze profielen gebruiken om firewalltoegang tot Apache in of uit te schakelen. Visualiseer vervolgens deze ufw-applicaties met het volgende commando:
|
1 |
sudo ufw app list |
U ziet uw applicatieprofiel in een lijst zoals deze:

De bovenstaande lijst toont dat er drie applicatieprofielen zijn aangemaakt, namelijk Apache, Apache Full en Apache Secure. Hier zijn enkele nuttige details over elk van deze profielen:
-
Apache:
Het Apache-profiel kan alleen poort 80 openen. Deze poort staat normaal en onversleuteld webverkeer toe.
-
Apache Full:
Het Apache Full-profiel heeft de capaciteit om zowel poort 80 als 443 te openen. Waar poort 80 normaal, onversleuteld webverkeer toestaat, zorgt poort 443 voor TLS/SSL-versleuteld verkeer.
-
Apache Secure:
Ten slotte opent Apache Secure alleen poort 443. Zoals hierboven vermeld, is dit profiel verantwoordelijk voor het toelaten van TLS- of SSL-versleuteld webverkeer.
Denk bij het kiezen tussen deze profielen aan het verkeer dat u hebt geconfigureerd. U wilt er zeker van zijn dat het gewenste verkeer wordt doorgelaten, terwijl u kiest voor het meest beperkende profiel. SSL-configuratie valt momenteel buiten ons bereik. Daarom richten we ons voorlopig op verkeer dat via poort 80 binnenkomt. Dit betekent dat we in dit scenario het applicatieprofiel ‘Apache’ inschakelen. Dat doet u als volgt:
|
1 |
sudo ufw allow ‘Apache’ |
Om de wijziging te verifiëren, typt u het volgende:
|
1 |
sudo ufw status |
Dit commando toont een uitvoer met het HTTP-verkeer dat momenteel is toegestaan. U ziet iets als dit:

De verkeersstroom laat zien dat het gewenste Apache-profiel is geactiveerd. Er is toegang verleend tot de webserver via de firewall.
Stap 3: Controleer uw webserver
De installatie van Apache is voltooid en de firewall-instellingen zijn gewijzigd. Aan het einde van dit proces zal Ubuntu 18.04 Apache automatisch starten. Vervolgens moet u met het systemd init-systeem controleren of de service op een bepaald moment actief is. Als u meer wilt weten over init-systemen, kunt u onze handleiding over het beheren van Systemd-services en -units met Systemctl bekijken. Om te controleren of de service actief is, typt u:
|
1 |
sudo systemctl status apache2 |
De uitvoer zal als volgt zijn:

U moet hierboven zoeken naar de status Actief of actief (running) van de service. Dit geeft aan dat de service is gestart en met succes wordt uitgevoerd. Er is een andere, betere manier om de werking van de service te testen. U kunt de status controleren door een pagina van Apache op te vragen. Met behulp van het IP-adres van uw server kunt u controleren of de software actief is op de standaard Apache-landingspagina. Hier is een opdracht die u kunt gebruiken om het IP-adres van uw server te achterhalen als u dit nog niet weet:
|
1 |
hostname -I |
Dit commando toont een resultaat met een aantal IP-adressen gescheiden door spaties. Test ze stuk voor stuk in de browser. Een andere manier om toegang te krijgen is door uw openbare IP-adres op te vragen. U kunt een opdracht als deze gebruiken:
|
1 |
curl -4 icanhazip.com |
Dit toont uw IP-adres zoals dat op andere locaties op het web wordt gezien. Zodra u uw IP-adres heeft, gaat u naar uw webbrowser. Typ in de adresbalk het volgende in en voer het uit:
|
1 |
http://your_server_ip |
Dit opent de standaard Ubuntu 18.04 Apache-webpagina. Het ziet er als volgt uit:

Deze pagina bevat wat basisinformatie over uw bestanden en mappen. Omdat deze werd geladen na het typen van het adres, geeft dit aan dat Apache correct werkt.
Stap 4: Basisbeheer in Apache
De verificatie bevestigt dat Apache actief is en uw server operationeel is. Nu zullen we enkele van de basiscommando's verkennen die u op de server kunt gebruiken voor beheer.
De standaardconfiguratie van uw Apache start deze op telkens wanneer de server opstart. U heeft de mogelijkheid om deze instelling uit te schakelen. Typ in:
|
1 |
sudo systemctl disable apache2 |
Om deze standaardfunctie weer te activeren, gebruikt u dit commando:
|
1 |
sudo systemctl enable apache2 |
Typ vervolgens het volgende als u de server handmatig wilt stoppen:
|
1 |
sudo systemctl stop apache2 |
Als u de server na het stoppen weer wilt opstarten, gebruikt u het commando:
|
1 |
sudo systemctl start apache2 |
Om de server te stoppen en te starten, of in feite te vernieuwen, typt u in:
|
1 |
sudo systemctl restart apache2 |
Wanneer u de server stopt, verliest deze meestal al zijn verbindingen. Als u hem opnieuw start, zoekt en koppelt hij die verbindingen opnieuw. Als u wilt, kunt u Apache ook herladen zonder de verbinding te verliezen. Dit is vooral handig bij het aanbrengen van configuratiewijzigingen. Typ het volgende in om te herladen zonder verbindingen te verbreken:
|
1 |
sudo systemctl reload apache2 |
Stap 5: Virtuele host instellen
Hoewel dit niet verplicht is, wordt het ten zeerste aanbevolen om uw virtuele hosts in te stellen. Virtuele hosts zijn kleine blokken in de server die groepen configuratiedetails bevatten. U kunt meerdere domeinen hosten op één virtuele host vanaf uw server.
Standaard is er, als u Apache op Ubuntu 18.04 gebruikt, één geactiveerd serverblok dat documenten in de map /var/www/html bedient. U zult deze instelling willen wijzigen als u meerdere sites host in plaats van slechts één. Er is echter een andere mogelijke optie die nog beter werkt. Laat de map /var/www/html ongemoeid. Ga in plaats daarvan naar /var/www/ om een mappenstructuur op te bouwen voor de sites op uw gewenste domein. Als u dit doet, is de map /var/www/html geconfigureerd als de standaardmap. Mocht een verzoek van een client niet overeenkomen met een van de sites op uw domein, dan worden ze van hieruit bediend.
Daarna zullen we zien hoe u een nieuw domein en de bijbehorende map kunt maken. Voor dit voorbeeld gebruiken we een hypothetische naam, your_domain. Vervang your_domain overal in de volgende instructies door uw eigen domeinnaam. Laten we om te beginnen kijken hoe u een nieuwe map voor your_domain kunt maken:
|
1 |
sudo mkdir /var/www/your_domain |
Nu moet u het eigendom van de map toewijzen. U kunt hiervoor de omgevingsvariabele $USER gebruiken:
|
1 |
sudo chown -R $USER:$USER /var/www/your_domain |
Om door te gaan, moeten de machtigingen van uw web-root correct zijn. Als u de unmask-waarde in de configuratie niet hebt aangepast, zouden uw machtigingen in orde moeten zijn. Maar als u het niet zeker weet, kunt u dit altijd bevestigen met:
|
1 |
sudo chmod -R 755 /var/www/your_domain |
Vervolgens maken we een index.html-pagina. U kunt net als wij nano gebruiken of een andere editor, als u een voorkeur heeft:
|
1 |
nano /var/www/your_domain/index.html |
Voeg deze voorbeeld-HTML toe aan de index, sla deze op en sluit af:
|
1 2 3 4 5 6 7 8 |
<html> <head> <title>Welkom bij Your_domain!</title> </head> <body> <h1>Succes! De your_domain virtuele host is werkend!</h1> </body> </html> |
De volgende stap is het maken van een virtual host-bestand. Een virtual host-bestand met alle juiste richtlijnen is nodig om Apache de bovenstaande voorbeeldinhoud te laten serveren. Het standaard configuratiebestand bevindt zich op: /etc/apache2/sites-available/000-default.conf. In plaats van dat bestand te wijzigen, maken we een nieuw bestand op: /etc/apache2/sites-available/your_domain.conf.
|
1 |
sudo nano /etc/apache2/sites-available/your_domain.conf |
Net als voorheen voegen we een voorbeeld toe voor de configuratie. Dit keer zullen we deze echter bijwerken met betrekking tot de domeinnaam en de nieuwe map die we zojuist hebben gemaakt. Voeg dit blok toe, sla het op en sluit af:
|
1 2 3 4 5 6 7 8 |
<VirtualHost *:80> ServerAdmin webmaster@localhost ServerName your_domain ServerAlias www.your_domain DocumentRoot /var/www/your_domain ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> |
Zoals u hierboven kunt zien, hebben we ook ons ServerAdmin-e-mailadres bijgewerkt. Dit is een adres dat de beheerder van de site your_domain kan bereiken. Niet alleen dat, maar we hebben ook de DocumentRoot bijgewerkt naar de nieuwe map en twee nieuwe richtlijnen toegevoegd. Deze richtlijnen zijn ServerName en ServerAlias. ServerName wordt gebruikt om het basisdomein in te stellen. Het basisdomein moet overeenkomen om de virtual host te definiëren. ServerAlias daarentegen biedt andere namen die ook moeten overeenkomen, vergelijkbaar met de basisnaam. U kunt het bestand eenvoudig inschakelen met de tool a2ensite:
|
1 |
sudo a2ensite your_domain.conf |
Om de standaardsite die in 000-default.conf wordt genoemd uit te schakelen, gebruikt u dit commando:
|
1 |
sudo a2dissite 000-default.conf |
Nu de configuratie gereed is, kunt u op fouten controleren door het volgende te typen:
|
1 |
sudo apache2ctl configtest |
Dit toont de volgende uitvoer als er geen configuratiefouten zijn:
|
1 2 3 |
Uitvoer Syntax OK |
Om de wijzigingen toe te passen, moet u de Apache-server opnieuw opstarten zoals eerder aangegeven:
|
1 |
sudo systemctl restart apache2 |
Voilà! U hebt uw virtuele host ingesteld en uw domeinnaam geconfigureerd. Om te controleren of Apache inderdaad uw_domein bedient, gaat u naar http://your_domain.
Stap 6: Bladeren door de bestanden en mappen
U hebt met succes een basisconfiguratie van uw Apache-server uitgevoerd. Daarnaast weet u nu hoe u uw Apache-service kunt beheren. Vervolgens kunt u wat tijd besteden aan het verkennen van enkele van de meest kritieke mappen en bestanden.
Inhoud
- /var/www/html
We hebben het al eerder over deze map gehad. Deze bevat de standaard Apache-pagina. Als u wilt, kunt u de inhoud van deze pagina wijzigen. Om dit te doen, moet u de Apache-configuratiebestanden aanpassen.
Serverconfiguratie
- /etc/apache2
Dit is de hoofdmap voor de Apache-configuratie. Dit betekent dat deze map alle configuratiebestanden bevat die met Apache te maken hebben.
- /etc/apache2/apache2.conf
Zoals de toevoeging aan het einde van de map suggereert, is dit het hoofdconfiguratiebestand. Dit bestand laadt verschillende andere bestanden in de map en kan worden gebruikt om wijzigingen aan te brengen in de Apache-configuratie. Als u wijzigingen wilt aanbrengen in de configuratie van de Apache-server, is dit de plek waar u de aanpassingen doet.
- /etc/apache2/ports.conf
Zoals de naam al doet vermoeden, heeft dit bestand betrekking op de poorten die we eerder hebben besproken. Poort 80 is standaard ingeschakeld en poort 443 wordt geactiveerd wanneer modules met SSL worden geïntroduceerd. Dit bestand bevat details over welke poorten open en ingeschakeld zijn.
- /etc/apache2/sites-available/
Dit is waar uw virtuele hosts naartoe gaan. Alle configuraties voor serverblokken worden in deze map uitgevoerd. Om serverblokken in te schakelen, moeten ze via a2ensite aan andere mappen worden gekoppeld. Apache heeft alleen toegang tot de bestanden in deze map als ze zijn ingeschakeld door ze te koppelen aan de map sites-enabled.
- /etc/apache2/sites-enabled/
Dit is de map waarin de ingeschakelde virtuele hosts zich bevinden. Zoals we al zeiden, worden hosts ingeschakeld wanneer u de bestanden in de map sites-available koppelt via het commando a2ensite. De bestanden in deze map zijn belangrijk voor wanneer Apache start, herlaadt of een configuratie compileert.
- /etc/apache2/conf-available/, /etc/apache2/conf-enabled/
Deze mappen werken op een vergelijkbare manier als sites-available en sites-enabled. Om de bestanden in de map conf-available in te schakelen, moet u het commando a2enconf gebruiken. Het commando voor uitschakelen is a2disconf. In plaats van virtuele hosts per site op te slaan, bevatten deze mappen configuratiedetails die niet relevant zijn voor de virtuele host:
- /etc/apache2/mods-available/, /etc/apache2/mods-enabled/
Deze mappen hebben ook een vergelijkbare relatie als de bovenstaande twee voorbeelden. Ze bevatten de modules, zowel de beschikbare als de modules die zijn ingeschakeld met het commando a2enmod. Om een module uit te schakelen, kunt u het commando a2dismod gebruiken. Bestanden met de extensie .load bevatten fragmenten die een bepaalde module kunnen laden. Bestanden met de extensie .conf bevatten de relevante configuratiedetails voor de betreffende module.
Serverlogs
- /var/log/apache2/access.log
Dit logbestand bevat alle verzoeken die aan uw server zijn gedaan. Dit gebeurt standaard. U hebt de mogelijkheid om Apache zo te configureren dat verzoeken op een andere manier worden geregistreerd.
- /var/log/apache2/error.log
Dit is het foutenlogboek. Alle fouten die u maakt, komen standaard rechtstreeks in dit bestand terecht. U kunt het detailniveau waarmee de foutenlogboeken worden geregistreerd bekijken via de LogLevel-richtlijn.
Conclusie
Tot slot kun je, door de bovenstaande stappen te volgen, eenvoudig de Apache-webserver installeren op je Ubuntu 18.04. Zodra je de server op je systeem hebt, kun je de verschillende opties verkennen die je op het platform hebt. Je kunt verschillende technologieën gebruiken om diverse soorten inhoud te produceren. Op deze manier kun je een unieke en faciliterende ervaring voor jezelf op de server creëren.
Je kunt ook leren hoe je je Apache-server kunt beveiligen met Let’s Encrypt door onze stapsgewijze handleiding te volgen. Als je wilt leren hoe je Apache installeert op CentOS 7, volg dan onze handleiding over het installeren van de Linux, Apache, MySQL, PHP (LAMP) stack op CentOS 7.
Veel computerplezier!
Reacties
Nog geen reacties. Wees de eerste.