Hoe Apache installeren op Ubuntu om het verkeer te beheren

Ben je op zoek naar een open-source webserver om aan je hoge verkeersbehoeften te voldoen? Installeer Apache op Ubuntu om de perfecte oplossing te bieden!

Apache is de meest gebruikte webserver en kan gemakkelijk grote verkeersvolumes aan. En in deze handleiding leer je hoe je Apache installeert op een Ubuntu Linux-server en virtuele hosts instelt.

Probeer Apache vandaag nog uit en kom van de downtimes van de webserver af!

Vereisten

Deze handleiding zal een praktische demonstratie zijn. Als je wilt meedoen, zorg er dan voor dat je het volgende hebt.

  • Een Ubuntu-server – Deze handleiding maakt gebruik van Ubuntu 20.04.
  • A user account with root privileges.

Hoe Apache te installeren op Ubuntu Server

Apache biedt veel krachtige functies, zoals dynamisch laadbare modules, een veelzijdig configuratiesysteem en uitgebreide logmogelijkheden. En om van deze functies gebruik te maken, begin je met het installeren van Apache op je server.

Standaard is het Apache-pakket beschikbaar in de Ubuntu-repositories en je kunt Apache installeren door één commando uit te voeren met behulp van de apt-pakketbeheerder.

1. Voer de onderstaande opdracht apt update uit om ervoor te zorgen dat je server up-to-date is en dat eventuele beveiligingspatches zijn toegepast.

sudo apt update -y
Updating Server Package Index

2. Voer de apt-cache opdracht hieronder uit om te zoeken en alle beschikbare Apache-pakketten op je systeem te tonen.

sudo apt-cache search apache2

In de onderstaande schermafbeelding kun je alle beschikbare Apache-pakketten zien, en de meest voorkomende pakketten zijn:

  • apache2 – Apache HTTP Server – dit pakket is de standaard Apache-webserver.
  • libapache2-mod-php – dit pakket biedt PHP-ondersteuning voor de Apache-webserver.
  • apache2-ssl-dev – dit pakket biedt ondersteuning voor SSL/TLS-verbindingen in Apache
  • apache2-utils – dit pakket biedt diverse hulpprogramma’s voor de Apache-webserver zoals htpasswd om gebruikers voor basisverificatie aan te maken.
Listing Apache Packages

3. Voer de volgende apt install opdracht uit om Apache op je server te installeren.

sudo apt install -y apache2
Installing Apache

4. Zodra het pakket is geïnstalleerd, voer dan het systemctl commando hieronder uit om Apache (apache2) te starten. Dit commando heeft geen uitvoer, maar je controleert de status van de Apache-service in de volgende stappen.

sudo systemctl start apache2

5. Voer nu het volgende commando uit om Apache te activeren om bij het opstarten te starten, aangezien de standaardinstallatie van Ubuntu de Apache-service niet automatisch start.

sudo systemctl enable apache2
Enabling Apache Auto-Start on Boot Up

6. Voer vervolgens het systemctl commando hieronder uit om de status van de Apache (apache2) service te controleren.

sudo systemctl status apache2

Je ziet de volgende uitvoer. De actieve (actieve) toestand geeft aan dat de Apache-service is gestart en zoals verwacht wordt uitgevoerd.

Check the status of the Apache service.

7. Voer het onderstaande commando uit om de versie van Apache te controleren die op uw server is geïnstalleerd.

apache2 -version

Op het moment van schrijven is de nieuwste stabiele Apache-versie 2.4.41, en die van jou kan verschillen.

Checking Installed Apache Version

8. Open tot slot uw favoriete webbrowser en ga naar het IP-adres of de hostnaam van uw Ubuntu-server (bijvoorbeeld, 192.168.1.100).

Hieronder zie je de standaard Apache-webpagina die tijdens het installatieproces is gemaakt. Deze pagina bevestigt dat Apache is geïnstalleerd en naar verwachting werkt.

Als je om de een of andere reden in plaats daarvan een foutmelding hebt gekregen, ga dan naar het volgende gedeelte en configureer je firewall.

Verifying Apache Installation by Accessing Apache’s Default Page

Configuratie van de UFW-firewall om de Apache-server te beveiligen

In de vorige sectie heb je een webpagina aangevraagd van je Apache-server, die de standaard Apache-webpagina weergaf. Maar wat als je een “verbinding geweigerd” foutmelding kreeg, zoals hieronder getoond? Deze fout kan worden veroorzaakt doordat je firewall toegang tot de Apache-server blokkeert.

Getting Connection Refused Error

Om deze verbindingsfout op te lossen, configureer je je firewall om toegang tot de Apache-server toe te staan. En de standaard Ubuntu-installatie bevat een firewall genaamd UFW die je server beschermt tegen ongeautoriseerde toegang.

1. Voer de onderstaande opdracht uit om alle toepassingsprofielen weer te geven die zijn opgenomen in UFW.

sudo ufw app list

Hieronder zie je de verschillende beschikbare toepassingen in UFW:

  • Apache Full – Dit profiel staat toegang toe tot het volledige scala aan poorten die nodig zijn door de Apache-webserver (poorten 80 en 443).
  • Apache – Het standaardprofiel dat toegang toestaat tot de onbeveiligde poort 80.

Je moet dit profiel niet gebruiken in een productieomgeving omdat het minder veilig is.

  • Apache Secure – Dit profiel is veiliger omdat het toegang beperkt tot alleen de poort voor TLS/SSL-gecodeerd verkeer (poort 443).
  • OpenSSH – Dit profiel staat toegang toe tot de SSH-poort (poort 22) om SSH-verbindingen toe te staan.
Listing Application Profiles Available in UFW

2. Voer vervolgens de volgende opdrachten uit om het Apache Full-profiel samen met SSH in te schakelen (allow).

Deze commando’s bieden toegang tot alle poorten, wat handig is in een ontwikkelomgeving.

sudo ufw allow 'Apache Full'
sudo ufw allow 'OpenSSH'
Enabling the Apache Full Profile along with SSH

Misschien wilt u een toepassing uitschakelen, wijzig de toestaan-optie naar de uitschakelen-optie, zoals dit: sudo ufw disable ‘app_profiel’

3. Voer het commando ufw status hieronder uit om de status van uw UFW-firewall te controleren.

sudo ufw status verbose

Hieronder ziet u de beschikbare firewallregels, waaruit blijkt dat Apache Full en OpenSSH toegankelijk zijn vanaf Overal.

Checking UFW Firewall Status

4. Open tot slot uw webbrowser en probeer een webpagina op te vragen vanaf uw Apache-server. Deze keer ziet u de standaard Apache-webpagina die is gemaakt tijdens het installatieproces.

Verifying Apache Installation by Accessing Apache’s Default Page

Configureren van virtuele hosts om websites te bedienen

Uw Apache-server is actief, dus het is tijd voor het spannendste deel, het hosten van uw webtoepassing. Hoe? U gaat uw virtuele hosts instellen op uw Ubuntu-server. Een virtuele host is een configuratiebestand waarmee u meerdere websites kunt hosten op een enkele server met een enkel IP-adres.

Merk op dat het maken van bestanden en mappen vanaf dit punt van de tutorial sudo-toegang vereist.

Om virtuele hosts in te stellen, volgt u deze stappen:

1. Voer het onderstaande commando uit om een nieuwe directory genaamd /var/www/voorbeeld.com aan te maken. U gebruikt deze directory om de inhoud voor uw website op te slaan. Vervang voorbeeld.com door de daadwerkelijke domeinnaam die u wilt gebruiken.

Deze opdracht geeft geen output, maar u kunt de map verifiëren door deze opdracht uit te voeren: ls /var/www

sudo mkdir -p /var/www/example.com

2. Voer vervolgens de onderstaande chown-opdracht uit om de eigenaar van de map /var/www/example.com te wijzigen naar uw gebruikersaccount. Deze opdracht geeft geen output, maar stelt u in staat de inhoud van uw website te beheren.

sudo chown -R $USER:$USER /var/www/example.com

3. Voer de onderstaande chmod-opdracht uit om de machtigingen van de map /var/www/example.com te wijzigen naar 755. Deze opdracht geeft geen output, maar verleent uw gebruikersaccount lees- en schrijftoegang tot de inhoud van uw website.

sudo chmod -R 755 /var/www/example.com

4. Maak nu een bestand genaamd index.html in de map /var/www/example.com met uw voorkeurseditor. Vul het bestand met de onderstaande code, sla de wijzigingen op en sluit het bestand. Het bestand index.html fungeert als de standaardpagina van uw website.

De onderstaande code maakt een eenvoudige webpagina die de tekst Hello World! Your virtual host is working! weergeeft.

<html>
  <head>
    <title>Welcome to example.com!</title>
  </head>

  <body>
    <h1>Hello World! Your virtual host is working!</h1>
  </body>
</html>

5. Maak een nieuw configuratiebestand voor de virtuele host met de naam example.com.conf in de map /etc/apache2/sites-available.

U kunt het standaardbestand /etc/apache2/sites-available/000-default.conf bewerken om uw nieuwe virtuele host op te nemen. Maar het is een beter idee om een nieuw bestand voor uw website te maken. Deze aanpak helpt u om uw configuratiebestanden georganiseerd te houden.

Kopieer/plak de onderstaande configuratie naar het bestand example.com.conf. Maar zorg ervoor dat u example.com en webmaster@localhost vervangt door de daadwerkelijke waarden voor uw website.

Sla de wijzigingen op en sluit het bestand.

<VirtualHost *:80>

  ServerAdmin webmaster@localhost

  ServerName example.com

  ServerAlias www.example.com

  DocumentRoot /var/www/example.com

  ErrorLog ${APACHE_LOG_DIR}/error.log

  CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

6. Voer nu elk van de onderstaande commando’s uit om het standaard virtuele hostbestand uit te schakelen en uw nieuwe virtuele hostbestand in te schakelen.

Het standaard virtuele hostbestand is standaard ingeschakeld en u kunt uw nieuwe virtuele hostbestand niet gebruiken tenzij u het standaard virtuele hostbestand uitschakelt.

# Schakel het standaard virtuele hostbestand uit
sudo a2dissite 000-default
# Schakel uw virtuele hostbestand in
sudo a2ensite example.com.conf
Disabling the Default Virtual Host File and Enabling your New Virtual Host

7. Voer het service commando hieronder uit om uw Apache-server (apache2) te herstarten om de wijzigingen toe te passen.

sudo service apache2 restart

8. Open tot slot uw webbrowser en ga naar uw website (example.com).

Als uw Apache-serverconfiguraties correct zijn, ziet u dezelfde boodschap hieronder weergegeven in uw webbrowser.

Accessing the Hosted Website

Conclusie

In deze tutorial heb je geleerd hoe je Apache installeert op Ubuntu en virtuele hosts opzet om je website op één server te bedienen. Op dit punt kun je nu effectief meerdere websites hosten op je Ubuntu-server.

Deze tutorial dient als een inleiding, en je zou kunnen overwegen om verder te gaan met Apache en andere functies te configureren. Misschien wil je proberen om virtuele hosts met SSL en wachtwoordbeveiliging in te stellen om je Apache-server te beveiligen? Of aangepaste headers toevoegen aan je website om gebruikersverzoeken te beheren?

Source:
https://adamtheautomator.com/install-apache-on-ubuntu/