Inleiding

De Apache HTTP-server is de meest gebruikte webserver ter wereld. Het biedt vele krachtige functies, waaronder dynamisch laadbare modules, robuuste media-ondersteuning en uitgebreide integratie met andere populaire software.

in deze handleiding leggen we uit hoe u een Apache-webserver op uw Ubuntu 20.04-server kunt installeren.

Prerequisites

voordat u met deze gids begint, moet u een gewone, niet-root gebruiker hebben met sudo privileges ingesteld op uw server., Daarnaast moet u een basic firewall inschakelen om niet-essentiële poorten te blokkeren. U kunt leren hoe u een gewoon gebruikersaccount configureert en een firewall voor uw server instelt door onze eerste handleiding voor serverinstellingen voor Ubuntu 20.04 te volgen.

wanneer u een account beschikbaar hebt, log dan in als uw niet-root gebruiker om te beginnen.

Stap 1-het installeren van Apache

Apache is beschikbaar in Ubuntu ‘ s standaard software repositories, waardoor het mogelijk is om het te installeren met behulp van conventionele pakketbeheertools.,

laten we beginnen met het bijwerken van de lokale pakketindex om de laatste upstream wijzigingen weer te geven:

  • sudo apt update

installeer vervolgens de apache2 pakket:

  • sudo apt install apache2

na bevestiging van de installatie, apt zal Apache en alle vereiste afhankelijkheden installeren.

Stap 2 – De Firewall aanpassen

voordat Apache wordt getest, is het noodzakelijk om de firewall-instellingen aan te passen om Externe toegang tot de standaard webpoorten toe te staan., Ervan uitgaande dat je de instructies in de vereisten hebt gevolgd, moet je een UFW firewall geconfigureerd hebben om de toegang tot je server te beperken.

tijdens de installatie registreert Apache zichzelf met UFW om een paar applicatieprofielen aan te bieden die gebruikt kunnen worden om de toegang tot Apache via de firewall in of uit te schakelen.,>

u krijgt een lijst met toepassingsprofielen:

Output
Available applications: Apache Apache Full Apache Secure OpenSSH

zoals aangegeven door de uitvoer, zijn er drie profielen beschikbaar voor Apache:

  • Apache: dit profiel opent alleen poort 80 (normaal, niet-versleuteld webverkeer)
  • Apache Full: dit profiel opent zowel poort 80 (normaal, niet-versleuteld webverkeer) als poort 443 (TLS/SSL versleuteld verkeer)
  • Apache secure: dit profiel opent alleen poort 443 (TLS/SSL versleuteld verkeer)

het wordt aanbevolen om het meest beperkende profiel in te schakelen dat het door u geconfigureerde verkeer nog steeds toelaat., Aangezien we SSL voor onze server nog niet hebben geconfigureerd in deze gids, hoeven we alleen maar verkeer toe te staan op poort 80:

  • sudo ufw allow 'Apache'

u kunt de wijziging verifiëren door te typen:

  • sudo ufw status

De uitvoer zal een lijst van toegestane HTTP-verkeer geven:

zoals aangegeven door de uitvoer, is het profiel geactiveerd om toegang tot de Apache webserver toe te staan.

Stap 3-uw webserver controleren

aan het einde van het installatieproces start Ubuntu 20.04 Apache op. De webserver zou al operationeel moeten zijn.,

controleer met het systemd init systeem om er zeker van te zijn dat de service draait door te typen:

  • sudo systemctl status apache2

zoals bevestigd door deze uitvoer, is de service succesvol gestart. Echter, de beste manier om dit te testen is om een pagina aan te vragen bij Apache.

u kunt toegang krijgen tot de standaard Apache landing page om te bevestigen dat de software correct werkt via uw IP-adres. Als u het IP-adres van uw server niet kent, kunt u het op een paar verschillende manieren vanaf de opdrachtregel krijgen.,

Typ dit op de opdrachtprompt van uw server:

  • hostname -I

u krijgt een paar adressen terug, gescheiden door spaties. U kunt proberen elk in uw webbrowser om te bepalen of ze werken.,

een Andere optie is om gebruik te maken van de Icanhazip tool, die moet u uw openbare IP-adres, zoals te lezen vanaf een andere locatie op het internet:

  • curl -4 icanhazip.com

Wanneer u uw IP-adres, voer deze dan in de adresbalk van uw browser:

You should see the default Ubuntu 20.04 Apache web page:

This page indicates that Apache is working correctly. It also includes some basic information about important Apache files and directory locations.

Step 4 — Managing the Apache Process

Now that you have your web server up and running, let’s go over some basic management commands using systemctl.

To stop your web server, type:

  • sudo systemctl stop apache2

om Te beginnen met de webserver als het is gestopt, type:

  • sudo systemctl start apache2

om Te stop en start de service opnieuw, type je:

  • sudo systemctl restart apache2

Als u simpelweg het maken van wijzigingen in de configuratie van Apache kan vaak herladen zonder te laten vallen van verbindingen., Gebruik hiervoor het volgende commando:

  • sudo systemctl reload apache2

standaard is Apache geconfigureerd om automatisch te starten wanneer de server opstart. Als dit niet is wat u wilt, schakelt u dit gedrag uit door te typen:

  • sudo systemctl disable apache2

om de service opnieuw te laten opstarten tijdens het opstarten, typt u:

  • sudo systemctl enable apache2

Apache zou nu automatisch moeten starten wanneer de server opnieuw opstart.,

Stap 5-virtuele Hosts instellen (aanbevolen)

wanneer u de Apache-webserver gebruikt, kunt u virtuele hosts gebruiken (vergelijkbaar met serverblokken in Nginx) om configuratiedetails te kapselen en meer dan één domein van een enkele server te hosten. We zullen een domein opzetten genaamd your_domain, maar je moet dit vervangen door je eigen domeinnaam. Als u een domeinnaam instelt met DigitalOcean, raadpleeg dan onze netwerkdocumentatie.

Apache op Ubuntu 20.,04 heeft een serverblok dat standaard is ingeschakeld en dat is geconfigureerd om documenten uit de /var/www/html map te tonen. Hoewel dit goed werkt voor een enkele site, het kan Log worden als u het hosten van meerdere sites. In plaats van het wijzigen van /var/www/html, laten we een mapstructuur maken binnen /var/www voor een your_domain-site, waarbij /var/www/html de standaardmap is die gebruikt moet worden als een client-aanvraag niet overeenkomt met andere sites.,

maak de map voor uw_domein als volgt aan:

  • sudo mkdir /var/www/your_domain

vervolgens, wijs de eigenaar van de map toe met de $USER omgevingsvariabele:

  • sudo chown -R $USER:$USER /var/www/your_domain

de rechten van uw web roots moeten correct zijn als u uw umask waarde niet hebt gewijzigd, waarmee standaard bestandsmachtigingen worden ingesteld., Om ervoor te zorgen dat uw rechten juist zijn en laat de eigenaar om te lezen, schrijven en uitvoeren van de bestanden, terwijl het verlenen van alleen machtigingen voor lezen en uitvoeren aan groepen en anderen, kunt u het volgende commando:

  • sudo chmod -R 755 /var/www/your_domain

maak een monster index.html pagina nano of uw favoriete editor:

  • sudo nano /var/www/your_domain/index.html

In, voeg het volgende voorbeeld HTML:

/var/www/uw_domein/index.html
<html> <head> <title>Welcome to Your_domain!</title> </head> <body> <h1>Success! The your_domain virtual host is working!</h1> </body></html>

sla het bestand op en sluit het als u klaar bent.,

om Apache deze inhoud te laten leveren, is het noodzakelijk om een virtueel hostbestand aan te maken met de juiste richtlijnen. In plaats van het standaard configuratiebestand te wijzigen op /etc/apache2/sites-available/000-default.conf direct, laten we een nieuwe maken op /etc/apache2/sites-available/your_domain.conf:

  • sudo nano /etc/apache2/sites-available/your_domain.conf

plakken in het volgende configuratieblok, dat vergelijkbaar is met de standaard, maar bijgewerkt voor onze nieuwe map en domeinnaam:

/etc/apache2/sites-available/,conf

merk op dat we de DocumentRoot hebben bijgewerkt naar onze nieuwe directory en ServerAdmin naar een e-mail die de beheerder van de site van your_domain kan openen. We hebben ook twee richtlijnen toegevoegd: ServerName, die het basisdomein bepaalt dat moet overeenkomen met deze virtuele host definitie, en ServerAlias, die andere namen definieert die moeten overeenkomen alsof ze de basisnaam zijn.

sla het bestand op en sluit het als u klaar bent.,

Laten we stellen het bestand met de a2ensite tool:

  • sudo a2ensite your_domain.conf

Uitschakelen van de standaard site is gedefinieerd in 000-default.conf:

  • sudo a2dissite 000-default.conf

laten we Vervolgens de test van configuratie fouten:

  • sudo apache2ctl configtest

U ontvangt de volgende output:

Output
Syntax OK

Herstart de Apache om uw wijzigingen te implementeren:

  • sudo systemctl restart apache2

Apache moet nu het serveren van uw domeinnaam., U kunt dit testen door te navigeren naar , waar u iets als dit zou moeten zien:

Stap 6 – vertrouwd raken met belangrijke Apache bestanden en mappen

Nu u weet hoe u de Apache service zelf moet beheren, moet u een paar minuten nemen om uzelf vertrouwd te maken met een paar belangrijke mappen en bestanden.,

Content

  • /var/www/html: de werkelijke webinhoud, die standaard alleen bestaat uit de standaard Apache-pagina die u eerder zag, wordt geserveerd vanuit de /var/www/html map. Dit kan worden gewijzigd door Apache configuratiebestanden te wijzigen.

serverconfiguratie

  • /etc/apache2: De Apache configuratiemap. Alle Apache configuratiebestanden bevinden zich hier.
  • /etc/apache2/apache2.conf: het belangrijkste Apache-configuratiebestand. Dit kan worden aangepast om wijzigingen aan te brengen in de Apache globale configuratie., Dit bestand is verantwoordelijk voor het laden van veel van de andere bestanden in de configuratie directory.
  • /etc/apache2/ports.conf: dit bestand specificeert de poorten waarop Apache zal luisteren. Standaard luistert Apache op poort 80 en bovendien op poort 443 wanneer een module die SSL-mogelijkheden biedt is ingeschakeld.
  • /etc/apache2/sites-available/: de map waarin virtuele hosts per site kunnen worden opgeslagen. Apache zal de configuratie bestanden in deze map niet gebruiken tenzij ze gekoppeld zijn aan de sites-enabled map., Normaal gesproken wordt alle configuratie van serverblokken in deze map gedaan en vervolgens ingeschakeld door te linken naar de andere map met het a2ensite Commando.
  • /etc/apache2/sites-enabled/: de map waarin ingeschakelde virtuele hosts per site worden opgeslagen. Meestal worden deze aangemaakt door te linken naar configuratiebestanden in de sites-available map met de a2ensite. Apache leest de configuratie bestanden en links gevonden in deze directory wanneer het Start of herlaadt om een complete configuratie te compileren.,
  • /etc/apache2/conf-available/, /etc/apache2/conf-enabled/: deze mappen hebben dezelfde relatie als de sites-available en sites-enabled mappen, maar worden gebruikt om configuratiefragmenten op te slaan die niet in een virtuele host thuishoren. Bestanden in de conf-available map kunnen worden ingeschakeld met het a2enconf commando en uitgeschakeld met het a2disconf Commando.
  • /etc/apache2/mods-available/, /etc/apache2/mods-enabled/: deze mappen bevatten respectievelijk de beschikbare en ingeschakelde modules., Bestanden die eindigen op .load bevatten fragmenten om specifieke modules te laden, terwijl bestanden die eindigen op .conf de configuratie voor die modules bevatten. Modules kunnen in-en uitgeschakeld worden met het commando a2enmod en a2dismod.

serverlog

  • /var/log/apache2/access.log: standaard wordt elk verzoek naar uw webserver opgeslagen in dit logbestand, tenzij Apache zo is geconfigureerd.
  • /var/log/apache2/error.log: standaard worden alle fouten in dit bestand geregistreerd., DeLogLevel instructie in de Apache configuratie specificeert hoeveel details de foutlogboeken zullen bevatten.

conclusie

nu uw webserver is geïnstalleerd, hebt u veel opties voor het type inhoud dat u kunt aanbieden en de technologieën die u kunt gebruiken om een rijkere ervaring te creëren.

Als u een completere applicatiestack wilt bouwen, kunt u dit artikel lezen over het configureren van een LAMPSTACK op Ubuntu 20.04

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *