Hoe Apache HTTPD te installeren op Fedora 40 of 39

Apache HTTP Server (HTTPD) is een van de meest gebruikte webservers ter wereld en staat bekend om zijn flexibiliteit, robuuste prestaties en uitgebreide configuratieopties. Het kan zowel statische als dynamische inhoud leveren, en het modulaire ontwerp maakt een breed scala aan functies mogelijk, zoals SSL/TLS-codering, URL-omleiding, authenticatie en meer. Apache HTTPD heeft vooral de voorkeur in omgevingen waar stabiliteit, beveiliging en schaalbaarheid van cruciaal belang zijn. Het is een uitstekende keuze voor het hosten van websites en applicaties, variërend van kleine persoonlijke projecten tot grootschalige bedrijfsoplossingen.

Op Fedora 40 of 39 kan Apache HTTPD eenvoudig worden geïnstalleerd met behulp van Fedora's AppStream via de dnf-pakketbeheerder. Deze methode biedt een eenvoudig installatieproces met toegang tot de nieuwste versie die wordt onderhouden in de officiële opslagplaatsen van Fedora, waardoor je ervan verzekerd bent dat je een veilige en up-to-date webserver hebt. Deze gids leidt je door de installatie van Apache HTTPD met behulp van de opdrachtregelterminal, waardoor je je webserver op Fedora kunt instellen en configureren.

Update Fedora pakketten vóór de installatie van Apache

Om te beginnen zorgt het updaten van je Fedora systeem ervoor dat het de nieuwste software draait, wat essentieel is voor compatibiliteit en veiligheid.

Open uw terminal en voer de opdracht uit:

sudo dnf upgrade --refresh

Deze opdracht combineert het gebruik van sudo voor beheerdersrechten met dnf-upgrade om alle pakketten bij te werken. De optie –refresh zorgt ervoor dat u de meest recente informatie uit uw opslagplaatsen krijgt. Het is belangrijk om dit proces te voltooien voordat u doorgaat naar de volgende stap om de systeemintegriteit en soepele werking te behouden.

Installeer Apache (HTTPD) via DNF-opdracht

Als uw systeem up-to-date is, is het installeren van Apache, ook wel HTTPD genoemd, eenvoudig. Fedora gebruikt de DNF pakketbeheerder voor dergelijke taken.

Voer in uw terminal het volgende uit:

sudo dnf install httpd

Dit commando haalt Apache op en installeert deze op je Fedora systeem. DNF verwerkt afhankelijkheden en configuraties, waardoor de installatie wordt vereenvoudigd. Het proces is meestal snel, waardoor Apache na voltooiing gereed is voor gebruik.

Schakel de Apache-service (HTTPD) in

Zodra Apache is geïnstalleerd, is de volgende stap het starten en inschakelen van de service om ervoor te zorgen dat deze tijdens het opstarten werkt. Gebruik deze opdrachten als deze niet automatisch worden geactiveerd:

sudo systemctl start httpd
sudo systemctl enable httpd

“sudo systemctl start httpd” start de Apache-service, en “sudo systemctl enable httpd” zorgt ervoor dat deze wordt gestart bij het opstarten. Deze aanpak in twee stappen zorgt ervoor dat Apache actief en permanent beschikbaar is.

Als alternatief kunt u deze stappen combineren:

sudo systemctl enable httpd --now

De vlag –now met sudo systemctl enable httpd start Apache onmiddellijk en configureert het om te starten bij het opstarten, waardoor het proces wordt gestroomlijnd.

Controleer de Apache-servicestatus (HTTPD).

Controleer ten slotte de status van Apache:

systemctl status httpd

Deze opdracht geeft de operationele status van Apache weer. De uitvoer bevat de huidige status van de service en eventuele foutmeldingen, essentieel voor het oplossen van problemen. Door dit regelmatig te controleren, kun je een stabiele en functionele Apache-installatie op je Fedora-systeem behouden.

Configureer Firewallregels voor Apache

Poorten openen voor HTTP en HTTPS

Na het installeren van Apache (HTTPD) op Fedora, is het essentieel om Firewalld te configureren om verkeer op poorten 80 (HTTP) en 443 (HTTPS) toe te staan. Deze stappen zijn essentieel voor de veiligheid en toegankelijkheid van uw webapplicatie.

Poort 80 openen (HTTP):

Voer de volgende opdracht uit om poort 80 te openen, die wordt gebruikt voor HTTP-verkeer:

sudo firewall-cmd --permanent --add-port=80/tcp

Met deze opdracht configureert u Firewalld om binnenkomend TCP-verkeer toe te staan ​​op poort 80, die vaak wordt gebruikt voor niet-versleuteld webverkeer.

Poort 443 openen (HTTPS):

Om veilig, gecodeerd verkeer mogelijk te maken, opent u poort 443 met deze opdracht:

sudo firewall-cmd --permanent --add-port=443/tcp

Poort 443 wordt gebruikt voor HTTPS-verkeer en zorgt voor gecodeerde communicatie tussen clients en de server.

De firewallwijzigingen toepassen:

Nadat u de regels heeft ingesteld, kunt u deze toepassen door Firewalld opnieuw te laden:

sudo firewall-cmd --reload

Het opnieuw laden van de firewall zorgt ervoor dat alle wijzigingen onmiddellijk actief en effectief zijn.

Beveiligingsoverwegingen

Het begrijpen van de veiligheidsimplicaties van deze veranderingen is van cruciaal belang. Door alleen noodzakelijke poorten te openen, worden potentiële kwetsbaarheden geminimaliseerd, waardoor uw applicatie wordt beschermd tegen ongeoorloofde toegang en bedreigingen.

Apache-toegankelijkheid verifiëren

Om een ​​succesvolle configuratie te bevestigen, gaat u naar de Apache (HTTPD) landingspagina:

  1. Open uw webbrowser.
  2. Navigeer naar http://localhost of http:// .

Indien correct geconfigureerd, zou de standaardpagina van Apache moeten verschijnen, die de operationele status van de server bevestigt.

Toegangsproblemen oplossen

Als u geen toegang heeft tot de landingspagina, overweeg dan deze stappen:

  • Controleer de firewallregels op nauwkeurigheid.
  • Controleer de Apache-servicestatus.
  • Onderzoek serverconfiguraties op fouten.

Het aanpakken van deze aspecten zal je helpen bij het identificeren en oplossen van eventuele problemen die de toegang tot Apache op Fedora belemmeren.

Maak een virtuele host op Apache

Mappen maken en configureren voor uw virtuele host

Begin met het maken van een directory voor je virtuele host op Fedora Linux. Deze map fungeert als hoofdmap voor de bestanden van uw website. Voor een domein zoals “example.com” gebruikt u de volgende opdracht:

sudo mkdir /var/www/example.com

Vervang “example.com” door uw daadwerkelijke domeinnaam. Deze map bevat alle websitebestanden, inclusief HTML, afbeeldingen en scripts. Voor organisatorische en veiligheidsdoeleinden is het raadzaam om afzonderlijke mappen voor verschillende virtuele hosts te maken.

Stel het eigendom en de machtigingen van de map in zodat Apache er toegang toe heeft:

sudo chown -R apache:apache /var/www/example.com
sudo chmod -R 755 /var/www/example.com

Met de eerste opdracht wordt het eigenaarschap van de map gewijzigd in de Apache-gebruiker en -groep, en met de tweede worden de benodigde machtigingen ingesteld.

Maak een index.html-bestand in deze map. Dit bestand is de eerste pagina die bezoekers zien. Gebruik een teksteditor zoals Nano om dit bestand te maken:

sudo nano /var/www/example.com/index.html

Binnen de editor kunt u de volgende HTML-structuur toevoegen:

<html>
  <head>
    <title>Example Domain</title>
  </head>
  <body>
    <h1>Welcome to Example Domain</h1>
    <p>This is a sample page for the domain example.com.</p>
  </body>
</html>

Pas deze HTML aan de behoeften van uw site aan. Bewaar en sluit de editor af met Ctrl + X, gevolgd door Y en Enter.

Virtuele host maken

Directory's instellen voor Apache

Maak eerst de mappen die beschikbaar zijn voor sites en sites die geschikt zijn voor sites:

sudo mkdir /etc/httpd/sites-available /etc/httpd/sites-enabled

Deze mappen helpen bij het organiseren van virtuele hostconfiguraties. Bewerk nu het Apache-configuratiebestand:

sudo nano /etc/httpd/conf/httpd.conf

Voeg aan het einde van het bestand toe:

#IncludeOptional conf.d/*.conf
IncludeOptional sites-enabled/*.conf

Opslaan en afsluiten met Ctrl+O en Ctrl+X.

Uw virtuele host configureren

Maak een configuratiebestand voor uw domein:

sudo nano /etc/httpd/sites-available/example.com.conf

Voeg in het bestand de volgende configuratie toe, waarbij u de ServerName, ServerAlias ​​en DocumentRoot indien nodig aanpast:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName example_domain
    ServerAlias www.example_domain
    DocumentRoot /var/www/example.com/
</VirtualHost>

Toegangsrechten wijzigen

Wijzig de toegangsrechten van Apache om publieke toegang toe te staan. Bewerk het hoofdconfiguratiebestand:

sudo nano /etc/httpd/conf/httpd.conf

Voeg aan het einde deze regels toe:

<Directory /var/www/example.com/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>

Opslaan en afsluiten met Ctrl+O en Ctrl+X.

Virtuele host inschakelen

Maak een symbolische link om de virtuele host in te schakelen:

sudo ln -s /etc/httpd/sites-available/example.com.conf /etc/httpd/sites-enabled/

Start Apache opnieuw om de wijzigingen toe te passen:

sudo systemctl restart httpd

Nadat u Apache opnieuw hebt opgestart, gaat u naar http://example_domain in uw webbrowser. Gebruik het IP-adres van de server als u geen domein heeft geregistreerd. U zou de landingspagina moeten zien die u eerder heeft gemaakt.

Beheer Apache (HTTPD) Service0

Apache-serverlogboeken

Apache-serverlogboeken zijn cruciaal voor monitoring en probleemoplossing. Ze staan ​​standaard in /var/log/httpd/; de standaardbestandsnamen zijn access.log voor toegangslogboeken en error.log voor foutenlogboeken. U kunt deze bestandsnamen echter aanpassen in het configuratiebestand van de virtuele host.

Logboekbestandsnamen aanpassen

Om de namen van de logbestanden te wijzigen, bewerkt u het configuratiebestand van de virtuele host. Hier is een voorbeeld van aangepaste lognamen:

<VirtualHost *:80>
    ServerName www.example.com
    DocumentRoot /var/www/example.com
    
    # Change access log to custom-access.log
    CustomLog /var/log/httpd/custom-access.log combined
    
    # Change error log to custom-error.log
    ErrorLog /var/log/httpd/custom-error.log
</VirtualHost>

Met deze configuratie worden custom-access.log en custom-error.log ingesteld als de nieuwe bestandsnamen voor toegangs- en foutenlogboeken. Vergeet niet het juiste bestandspad op te geven bij het configureren van aangepaste lognamen.

Apache-opdrachten voor servicebeheer

Het beheren van de Apache-service omvat een reeks opdrachten waarmee u de werking ervan kunt controleren:

Apache stoppen:

Om de Apache-server te stoppen, gebruikt u:

sudo systemctl stop httpd

Met deze opdracht stopt u de Apache-service totdat deze opnieuw wordt gestart.

Apache starten:

Om de Apache-server te starten, gebruikt u:

sudo systemctl start httpd

Met deze opdracht wordt de Apache-service geactiveerd, waardoor deze gereed is voor het aanbieden van webinhoud.

Apache opnieuw opstarten:

Om de Apache-server opnieuw te starten, gebruikt u:

sudo systemctl restart httpd

Opnieuw opstarten is handig voor het toepassen van configuratiewijzigingen of het herstellen van niet-kritieke fouten.

Apache opnieuw laden:

Om de Apache-server opnieuw te laden, gebruikt u:

sudo systemctl reload httpd

Door opnieuw te laden worden configuratiewijzigingen toegepast zonder de actieve service te onderbreken.

Apache uitschakelen tijdens het opstarten:

Om te voorkomen dat Apache automatisch opstart tijdens het opstarten, gebruik je:

sudo systemctl disable httpd

Met deze opdracht wordt Apache verwijderd uit de lijst met services die starten bij het opstarten van het systeem.

Apache inschakelen tijdens het opstarten:

Om Apache zo in te stellen dat deze automatisch start bij het opstarten, gebruik je:

sudo systemctl enable httpd

Dit zorgt ervoor dat Apache start wanneer het systeem opstart, waardoor een consistente beschikbaarheid van de webservice wordt geboden.

Beveilig Apache met het Let's Encrypt SSL Free-certificaat

Installeer Certbot voor SSL/TLS-certificaatautomatisering

Begin met het installeren van Certbot, een tool voor het automatiseren van de aanschaf en verlenging van SSL/TLS-certificaten, waardoor HTTPS-codering voor uw website wordt gegarandeerd. Om Certbot te installeren, voert u het volgende uit:

sudo dnf install certbot python3-certbot-apache

Genereer een SSL/TLS-certificaat voor uw domein

Genereer na de installatie een SSL/TLS-certificaat voor uw domein met deze opdracht:

sudo certbot --apache -d example.com

Vervang “example.com” door uw daadwerkelijke domeinnaam.

Alternatieve opdracht voor het genereren van een SSL-certificaat

Voor een uitgebreide SSL-installatie gebruikt u de volgende opdracht:

sudo certbot --dry-run --apache --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d www.example.com
  • –dry-run: Test het genereren van certificaten zonder het systeem te wijzigen.
  • –apache: geeft aan dat het certificaat voor een Apache-server is.
  • –agree-tos: gaat akkoord met de servicevoorwaarden van Let's Encrypt.
  • –redirect: Leidt HTTP-verkeer om naar HTTPS.
  • –hsts: Schakelt HTTP Strict Transport Security in, waardoor alleen beveiligde HTTPS-verbindingen worden gegarandeerd.
  • –staple-ocsp: Activeert OCSP-nieten voor het verifiëren van het SSL-certificaat.
  • –email: uw e-mailadres dat aan het certificaat is gekoppeld.
  • -d: De domeinnaam voor het certificaat, hier “www.example.com”.

Apache configureren om het SSL-certificaat te gebruiken

Om Apache te configureren, opent u het SSL-configuratiebestand:

sudo nano /etc/httpd/conf.d/ssl.conf

Voeg in dit bestand de volgende regels toe, waarbij u “example.com” vervangt door uw domein:

SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/example.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem

Het SSL-certificaat verifiëren en vernieuwen

Na de installatie gaat uw website over van ‘HTTP://www.example.com’ naar ‘HTTPS://www.example.com’, waardoor gecodeerde en veilige communicatie wordt gegarandeerd.

Automatische certificaatvernieuwing instellen

Om het SSL-certificaat up-to-date te houden, stelt u een cron-taak in voor Certbot-verlenging. Test eerst het verlengingsproces:

sudo systemctl restart httpd 

Deze test zorgt ervoor dat het vernieuwingsscript correct functioneert voordat het als cron-taak wordt gepland.

sudo certbot renew --dry-run

Vernieuwing en beheer van SSL-certificaten

SSL-certificaatstatus verifiëren

Voordat u het verlengingsproces automatiseert, is het van cruciaal belang om de huidige status van uw SSL-certificaten te begrijpen. Gebruik deze opdracht om de status, inclusief de vervaldatums van alle door Certbot beheerde certificaten, te controleren:

sudo certbot certificates

Deze opdracht biedt een lijst met alle SSL-certificaten die door Certbot worden afgehandeld, samen met hun respectieve vervaldatums. Deze informatie is essentieel om te bevestigen dat uw certificaten actief zijn en om te begrijpen wanneer ze moeten worden vernieuwd.

Automatisering van SSL-certificaatvernieuwing

Om een ​​ononderbroken HTTPS-service te garanderen, moeten SSL-certificaten periodiek worden vernieuwd. Het automatiseren van dit proces is essentieel voor het behouden van een veilige website.

Cronie voor Cron Jobs installeren

Als Cronie, de cron job manager, niet op je Fedora systeem is geïnstalleerd, installeer het dan met:

sudo crontab -e

Met Cronie kunt u taken plannen, zoals het Certbot-vernieuwingsscript, zodat deze op bepaalde tijden en intervallen worden uitgevoerd.

Cron-taakconfiguratie bewerken

Nadat u Cronie hebt geïnstalleerd, plant u de verlenging van het SSL-certificaat door de cron-taakconfiguratie te bewerken:

sudo dnf install cronie

Met deze opdracht wordt de crontab-editor geopend, waar u geplande taken kunt toevoegen.

De verlengingstaak plannen

Voeg in de crontab-editor de volgende regel toe om te plannen dat de verlengingsopdracht tweemaal per dag wordt uitgevoerd:

0 6,18 * * * certbot renew --quiet

Deze cronjob is zo ingesteld dat de opdracht certbot renew elke dag om 06:00 en 18:00 uur wordt uitgevoerd. De –quiet optie zorgt ervoor dat Certbot geruisloos draait zonder onnodige output te genereren.

Het verlengingsproces van Certbot begrijpen

Certbot beheert het vernieuwingsproces op intelligente wijze. Er wordt alleen geprobeerd certificaten te verlengen die binnen 30 dagen na de vervaldatum zijn. Als een certificaat niet verlengd hoeft te worden, zal Certbot geen actie ondernemen. Deze efficiëntie zorgt ervoor dat uw server niet wordt belast met onnodige processen en dat uw SSL-certificaten altijd up-to-date zijn.

Het instellen van dit geautomatiseerde verlengingsproces is een best practice voor het handhaven van continue HTTPS-codering, zodat uw website veilig en vertrouwd blijft door gebruikers en zoekmachines.

Aanvullende opdrachten en tips

Beveilig mappen en bestanden op Apache

Om de veiligheid van uw server te garanderen, moet u de juiste machtigingen voor bestanden en mappen instellen. Te tolerante instellingen kunnen uw server blootstellen aan risico's.

Veilige machtigingen instellen

Voor mappen en bestanden onder /var/www/example.com/ gebruikt u deze opdrachten:

sudo find /var/www/example.com/ -type d -exec chmod 755 "{}" \;
sudo find /var/www/example.com/ -type f -exec chmod 644 "{}" \;

Deze opdrachten stellen mappen in op 755 (lezen, schrijven, uitvoeren voor de eigenaar en lezen en uitvoeren voor anderen) en bestanden op 644 (lezen en schrijven voor de eigenaar, lezen voor anderen), wat standaard beveiligde machtigingen zijn.

Speciale machtigingen voor specifieke toepassingen

Houd er rekening mee dat sommige toepassingen, zoals phpBB, mogelijk 777-rechten vereisen voor bepaalde mappen. Pas de machtigingen altijd aan op basis van de applicatievereisten.

Uitgebreide beveiligingsaanpak

Houd er rekening mee dat het instellen van machtigingen slechts één aspect van beveiliging is. Het implementeren van SSL-certificaten en de juiste firewallconfiguraties zijn cruciaal voor een robuuste serverbescherming.

Update Apache (HTTPD) op Fedora

Het up-to-date houden van Apache is cruciaal voor de veiligheid en prestaties.

Apache bijwerken

Om Apache, samen met andere systeempakketten, bij te werken, gebruikt u:

sudo dnf update --refresh

Met deze opdracht wordt de pakketdatabase vernieuwd en worden alle geïnstalleerde pakketten bijgewerkt, inclusief Apache.

Voorzorgsmaatregelen vóór de update

Maak altijd een back-up van uw systeem of maak afbeeldingen voordat u updates uitvoert om eventuele problemen te voorkomen.

Verwijder (deïnstalleer) Apache van Fedora

In scenario's waarin Apache van het systeem moet worden verwijderd, volgt u deze stappen:

Apache uitschakelen en stoppen

Schakel eerst de Apache-service uit en stop deze:

sudo systemctl disable httpd --now

Deze opdracht stopt de Apache-service en voorkomt dat deze automatisch start bij het opstarten.

Apache verwijderen

Om Apache van uw systeem te verwijderen, voert u het volgende uit:

sudo dnf remove httpd

Met deze opdracht wordt het Apache-pakket verwijderd.

Overgebleven bestanden opruimen

Verwijder na het verwijderen alle resterende bestanden in de Apache-configuratiemap:

sudo rm -R /etc/httpd/

Deze stap zorgt ervoor dat alle Apache-gerelateerde bestanden volledig van uw systeem worden verwijderd.

Conclusie

Door Apache HTTPD op Fedora te installeren via de AppStream, verkrijg je een krachtige en betrouwbare webserver die goed geïntegreerd is met je Fedora systeem. De dnf-pakketbeheerder zorgt ervoor dat uw installatie soepel verloopt en dat updates eenvoudig worden beheerd. Overweeg na de installatie de uitgebreide configuratieopties van Apache te verkennen om de server aan uw specifieke behoeften aan te passen, of het nu gaat om het bedienen van statische websites, het uitvoeren van dynamische applicaties of het beheren van complexe webomgevingen.

Joshua James
Volg mij
Laatste berichten van Joshua James (alles zien)

Plaats een reactie