Hur man installerar Apache HTTPD på Fedora 40 eller 39

Apache HTTP Server (HTTPD) är en av de mest använda webbservrarna i världen, känd för sin flexibilitet, robusta prestanda och omfattande konfigurationsmöjligheter. Den kan servera både statiskt och dynamiskt innehåll, och dess modulära design möjliggör ett brett utbud av funktioner som SSL/TLS-kryptering, URL-omdirigering, autentisering och mer. Apache HTTPD är särskilt gynnad i miljöer där stabilitet, säkerhet och skalbarhet är avgörande. Det är ett utmärkt val för att vara värd för webbplatser och applikationer, allt från små personliga projekt till storskaliga företagslösningar.

På Fedora 40 eller 39 kan Apache HTTPD enkelt installeras med Fedoras AppStream via dnf-pakethanteraren. Denna metod ger en enkel installationsprocess med tillgång till den senaste versionen som underhålls i Fedoras officiella arkiv, vilket säkerställer att du har en säker och uppdaterad webbserver. Den här guiden leder dig genom installationen av Apache HTTPD med hjälp av kommandoradsterminalen, så att du kan ställa in och konfigurera din webbserver på Fedora.

Uppdatera Fedora-paket före Apache-installation

Till att börja med, uppdatering av ditt Fedora-system säkerställer att det kör den senaste mjukvaran, vilket är viktigt för kompatibilitet och säkerhet.

Öppna din terminal och kör kommandot:

sudo dnf upgrade --refresh

Detta kommando kombinerar användningen av sudo för administrativa rättigheter med dnf-uppgradering för att uppdatera alla paket. Alternativet –refresh säkerställer att du får den senaste informationen från dina arkiv. Det är viktigt att låta denna process slutföras innan du går vidare till nästa steg för att bibehålla systemets integritet och smidigt fungerande.

Installera Apache (HTTPD) via DNF Command

Med ditt system uppdaterat är det enkelt att installera Apache, även känd som HTTPD. Fedora använder DNF-pakethanteraren för sådana uppgifter.

Kör i din terminal:

sudo dnf install httpd

Detta kommando hämtar och installerar Apache på ditt Fedora-system. DNF hanterar beroenden och konfigurationer, vilket förenklar installationen. Processen är vanligtvis snabb, vilket gör att Apache är redo att användas när det är klart.

Aktivera Apache (HTTPD) Service

När Apache har installerats är nästa steg att starta och aktivera tjänsten för att säkerställa att den körs vid uppstart. Om den inte aktiveras automatiskt, använd dessa kommandon:

sudo systemctl start httpd
sudo systemctl enable httpd

"sudo systemctl start httpd" startar Apache-tjänsten och "sudo systemctl enable httpd" ställer in den att starta vid uppstart. Denna tvåstegsmetod säkerställer att Apache är aktiv och ständigt tillgänglig.

Alternativt kan du kombinera dessa steg:

sudo systemctl enable httpd --now

Flaggan –now med sudo systemctl enable httpd startar Apache omedelbart och konfigurerar den att starta vid uppstart, vilket effektiviserar processen.

Verifiera Apache (HTTPD) tjänststatus

Slutligen, verifiera Apaches status:

systemctl status httpd

Detta kommando ger Apaches operativa status. Utdata inkluderar tjänstens aktuella status och eventuella felmeddelanden, väsentliga för felsökning. Att regelbundet kontrollera detta kan hjälpa till att upprätthålla en stabil och funktionell Apache-inställning på ditt Fedora-system.

Konfigurera brandväggsregler för Apache

Öppna portar för HTTP och HTTPS

Efter att ha installerat Apache (HTTPD) på Fedora, är det viktigt att konfigurera Firewalld för att tillåta trafik på portarna 80 (HTTP) och 443 (HTTPS). Dessa steg är avgörande för säkerheten och tillgängligheten för din webbapplikation.

Öppna port 80 (HTTP):

Utför följande kommando för att öppna port 80, som används för HTTP-trafik:

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

Detta kommando konfigurerar Firewalld för att tillåta inkommande TCP-trafik på port 80, som vanligtvis används för okrypterad webbtrafik.

Öppna port 443 (HTTPS):

För att tillåta säker, krypterad trafik, öppna port 443 med detta kommando:

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

Port 443 används för HTTPS-trafik, vilket ger krypterad kommunikation mellan klienter och servern.

Tillämpa brandväggsändringarna:

När du har ställt in reglerna, tillämpa dem genom att ladda om Firewalld:

sudo firewall-cmd --reload

Att ladda om brandväggen säkerställer att alla ändringar är aktiva och träder i kraft omedelbart.

Säkerhetsöverväganden

Att förstå säkerhetskonsekvenserna av dessa förändringar är avgörande. Att endast öppna nödvändiga portar minimerar potentiella sårbarheter och skyddar din applikation från obehörig åtkomst och hot.

Verifierar Apache-tillgänglighet

För att bekräfta framgångsrik konfiguration, gå till Apaches (HTTPD) målsida:

  1. Öppna din webbläsare.
  2. Navigera till http://localhost eller http:// .

Om den är korrekt konfigurerad bör Apaches standardsida visas, vilket bekräftar serverns driftstatus.

Felsökning av åtkomstproblem

Om du inte kan komma åt målsidan, överväg dessa steg:

  • Granska brandväggsreglerna för noggrannhet.
  • Kontrollera Apache-tjänstens status.
  • Undersök serverkonfigurationer för fel.

Att ta itu med dessa aspekter hjälper dig att identifiera och lösa eventuella problem som hindrar åtkomst till Apache på Fedora.

Skapa en virtuell värd på Apache

Skapa och konfigurera kataloger för din virtuella värd

Börja med att skapa en katalog för din virtuella värd på Fedora Linux. Denna katalog kommer att fungera som roten för din webbplats filer. För en domän som "example.com", använd följande kommando:

sudo mkdir /var/www/example.com

Ersätt "example.com" med ditt faktiska domännamn. Denna katalog kommer att innehålla alla webbplatsfiler, inklusive HTML, bilder och skript. Av organisatoriska och säkerhetsmässiga skäl är det tillrådligt att skapa separata kataloger för olika virtuella värdar.

Ställ in katalogens äganderätt och behörigheter så att Apache kan komma åt den:

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

Det första kommandot ändrar katalogägandet till Apache-användaren och gruppen, och det andra ställer in nödvändiga behörigheter.

Skapa en index.html-fil i den här katalogen. Den här filen är den första sida som besökare ser. Använd en textredigerare som Nano för att skapa den här filen:

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

Inuti redigeraren kan du lägga till följande HTML-struktur:

<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>

Anpassa denna HTML för att passa din webbplats behov. Spara och avsluta redigeraren med Ctrl + X, följt av Y och Enter.

Skapar virtuell värd

Ställa in kataloger för Apache

Skapa först katalogerna för webbplatser som är tillgängliga och webbplatser aktiverade:

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

Dessa kataloger hjälper till att organisera virtuella värdkonfigurationer. Redigera nu Apache-konfigurationsfilen:

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

I slutet av filen lägger du till:

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

Spara och avsluta med Ctrl + O och Ctrl + X.

Konfigurera din virtuella värd

Skapa en konfigurationsfil för din domän:

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

Lägg till följande konfiguration i filen och justera ServerName, ServerAlias ​​och DocumentRoot efter behov:

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

Ändra åtkomstbehörigheter

Ändra Apaches åtkomstbehörigheter för att tillåta allmän åtkomst. Redigera huvudkonfigurationsfilen:

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

Lägg till dessa rader i slutet:

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

Spara och avsluta med Ctrl + O och Ctrl + X.

Aktiverar virtuell värd

Skapa en symbolisk länk för att aktivera den virtuella värden:

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

Starta om Apache för att tillämpa ändringarna:

sudo systemctl restart httpd

När du har startat om Apache, besök http://example_domain i din webbläsare. Använd serverns IP-adress om du inte har registrerat en domän. Du bör se målsidan du skapade tidigare.

Hantera Apache (HTTPD) Service0

Apache-serverloggar

Apache-serverloggar är avgörande för övervakning och felsökning. De finns i /var/log/httpd/ som standard; standardfilnamnen är access.log för åtkomstloggar och error.log för felloggar. Du kan dock anpassa dessa filnamn i den virtuella värdkonfigurationsfilen.

Anpassa loggfilnamn

För att ändra loggfilnamnen, redigera den virtuella värdkonfigurationsfilen. Här är ett exempel på anpassade loggnamn:

<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>

Denna konfiguration ställer in custom-access.log och custom-error.log som de nya filnamnen för åtkomst- och felloggar. Kom ihåg att ange korrekt filsökväg när du konfigurerar anpassade loggnamn.

Apache-kommandon för tjänstehantering

Att hantera Apache-tjänsten innebär en uppsättning kommandon som låter dig kontrollera dess funktion:

Stoppa Apache:

För att stoppa Apache-servern, använd:

sudo systemctl stop httpd

Detta kommando stoppar Apache-tjänsten tills den startas igen.

Starta Apache:

För att starta Apache-servern, använd:

sudo systemctl start httpd

Detta kommando aktiverar Apache-tjänsten, vilket gör den redo att servera webbinnehåll.

Startar om Apache:

För att starta om Apache-servern, använd:

sudo systemctl restart httpd

Omstart är användbart för att tillämpa konfigurationsändringar eller återställa från icke-kritiska fel.

Laddar om Apache:

För att ladda om Apache-servern, använd:

sudo systemctl reload httpd

Omladdning tillämpar konfigurationsändringar utan att avbryta den pågående tjänsten.

Inaktivera Apache vid uppstart:

För att förhindra att Apache startar automatiskt vid uppstart, använd:

sudo systemctl disable httpd

Detta kommando tar bort Apache från listan över tjänster som startar vid systemstart.

Aktivera Apache vid uppstart:

För att ställa in Apache att starta automatiskt vid uppstart, använd:

sudo systemctl enable httpd

Detta säkerställer att Apache startar när systemet startar upp, vilket ger konsekvent tillgänglighet till webbtjänster.

Säkra Apache med Let's Encrypt SSL Free Certificate

Installera Certbot för SSL/TLS-certifikatautomatisering

Börja med att installera Certbot, ett verktyg för att automatisera förvärvet och förnyelsen av SSL/TLS-certifikat, vilket säkerställer HTTPS-kryptering för din webbplats. För att installera Certbot, kör:

sudo dnf install certbot python3-certbot-apache

Generera SSL/TLS-certifikat för din domän

Efter installationen genererar du ett SSL/TLS-certifikat för din domän med detta kommando:

sudo certbot --apache -d example.com

Ersätt "example.com" med ditt faktiska domännamn.

Alternativt kommando för att generera SSL-certifikat

För en omfattande SSL-installation, använd följande kommando:

sudo certbot --dry-run --apache --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d www.example.com
  • –torrkörning: Testar certifikatgenereringen utan att ändra systemet.
  • –apache: Indikerar att certifikatet är för en Apache-server.
  • –agree-tos: Godkänner Let's Encrypts användarvillkor.
  • –redirect: Omdirigerar HTTP-trafik till HTTPS.
  • –hsts: Aktiverar HTTP Strict Transport Security, vilket endast säkerställer säkra HTTPS-anslutningar.
  • –staple-ocsp: Aktiverar OCSP-häftning för att verifiera SSL-certifikatet.
  • –email: Din e-postadress kopplad till certifikatet.
  • -d: Domännamnet för certifikatet, här "www.example.com".

Konfigurera Apache för att använda SSL-certifikatet

För att konfigurera Apache, öppna SSL-konfigurationsfilen:

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

I den här filen lägger du till följande rader och ersätter "example.com" med din domän:

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

Verifiera och förnya SSL-certifikatet

Efter installationen kommer din webbplats att övergå från "HTTP://www.example.com" till "HTTPS://www.example.com", vilket säkerställer krypterad och säker kommunikation.

Ställa in automatisk certifikatförnyelse

För att hålla SSL-certifikatet uppdaterat, ställ in ett cron-jobb för Certbot-förnyelse. Testa först förnyelseprocessen:

sudo systemctl restart httpd 

Detta test säkerställer att förnyelseskriptet fungerar korrekt innan det schemaläggs som ett cron-jobb.

sudo certbot renew --dry-run

Förnyelse och hantering av SSL-certifikat

Verifierar SSL-certifikatstatus

Innan du automatiserar förnyelseprocessen är det viktigt att förstå den aktuella statusen för dina SSL-certifikat. För att kontrollera status, inklusive utgångsdatum för alla certifikat som hanteras av Certbot, använd det här kommandot:

sudo certbot certificates

Detta kommando ger en lista över alla SSL-certifikat som hanteras av Certbot, tillsammans med deras respektive utgångsdatum. Denna information är viktig för att bekräfta att dina certifikat är aktiva och för att förstå när de kommer att behöva förnyas.

Automatisera förnyelse av SSL-certifikat

För att säkerställa oavbruten HTTPS-tjänst måste SSL-certifikat förnyas med jämna mellanrum. Att automatisera denna process är avgörande för att upprätthålla en säker webbplats.

Installera Cronie för Cron Jobs

Om Cronie, jobbhanteraren för cron, inte är installerad på ditt Fedora-system, installera det med:

sudo crontab -e

Cronie låter dig schemalägga uppgifter som Certbot-förnyelseskriptet att köras vid angivna tider och intervall.

Redigera Cron Job Configuration

Efter att du har installerat Cronie, schemalägg förnyelsen av SSL-certifikatet genom att redigera cron-jobbkonfigurationen:

sudo dnf install cronie

Detta kommando öppnar crontab-redigeraren, där du kan lägga till schemalagda uppgifter.

Schemalägga förnyelsejobbet

I crontab-redigeraren lägger du till följande rad för att schemalägga förnyelsekommandot att köras två gånger dagligen:

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

Detta cron-jobb är inställt på att köra kommandot certbot förnya klockan 6:00 och 18:00 varje dag. Alternativet –tyst ser till att Certbot körs tyst utan att generera onödig utdata.

Förstå Certbots förnyelseprocess

Certbot hanterar förnyelseprocessen intelligent. Den försöker bara förnya certifikat som är inom 30 dagar efter utgången. Om ett certifikat inte behöver förnyas kommer Certbot inte att utföra någon åtgärd. Denna effektivitet säkerställer att din server inte belastas med onödiga processer och att dina SSL-certifikat alltid är uppdaterade.

Att ställa in denna automatiska förnyelseprocess är en bästa praxis för att upprätthålla kontinuerlig HTTPS-kryptering, för att säkerställa att din webbplats förblir säker och pålitlig av användare och sökmotorer.

Ytterligare kommandon och tips

Säkra kataloger och filer på Apache

Att säkerställa säkerheten på din server innebär att du ställer in lämpliga behörigheter för filer och kataloger. Alltför tillåtande inställningar kan utsätta din server för risker.

Ställa in säkra behörigheter

För kataloger och filer under /var/www/example.com/, använd dessa kommandon:

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

Dessa kommandon ställer in kataloger till 755 (läs, skriv, kör för ägaren och läs och kör för andra) och filer till 644 (läs och skriv för ägaren, läs åt andra), vilket är standardbehörigheter för säkra.

Särskilda behörigheter för specifika applikationer

Observera att vissa program, som phpBB, kan kräva 777 behörigheter för vissa mappar. Justera alltid behörigheter baserat på applikationskrav.

Omfattande säkerhetsstrategi

Kom ihåg att inställning av behörigheter bara är en aspekt av säkerheten. Implementering av SSL-certifikat och korrekta brandväggskonfigurationer är avgörande för ett robust serverskydd.

Uppdatera Apache (HTTPD) på Fedora

Att hålla Apache uppdaterad är avgörande för säkerhet och prestanda.

Uppdaterar Apache

För att uppdatera Apache, tillsammans med andra systempaket, använd:

sudo dnf update --refresh

Detta kommando uppdaterar paketdatabasen och uppdaterar alla installerade paket, inklusive Apache.

Försiktighetsåtgärder för uppdatering

Säkerhetskopiera alltid ditt system eller skapa bilder innan du utför uppdateringar för att skydda dig mot eventuella problem.

Ta bort (Avinstallera) Apache från Fedora

I scenarier där Apache måste tas bort från systemet, följ dessa steg:

Inaktivera och stoppa Apache

Först, inaktivera och stoppa Apache-tjänsten:

sudo systemctl disable httpd --now

Detta kommando stoppar Apache-tjänsten och förhindrar att den startar automatiskt vid uppstart.

Avinstallerar Apache

För att ta bort Apache från ditt system, kör:

sudo dnf remove httpd

Detta kommando avinstallerar Apache-paketet.

Rensa upp överblivna filer

Efter avinstallationen, ta bort eventuella kvarvarande filer i Apache-konfigurationskatalogen:

sudo rm -R /etc/httpd/

Detta steg säkerställer att alla Apache-relaterade filer tas bort helt från ditt system.

Slutsats

Genom att installera Apache HTTPD på Fedora via AppStream får du en kraftfull och pålitlig webbserver som är väl integrerad med ditt Fedora-system. dnf-pakethanteraren ser till att din installation är smidig och att uppdateringar är lätta att hantera. Efter installationen kan du överväga att utforska Apaches omfattande konfigurationsalternativ för att skräddarsy servern efter dina specifika behov, oavsett om det är för att betjäna statiska webbplatser, köra dynamiska applikationer eller hantera komplexa webbmiljöer.

Joshua James
Följ mig
Senaste inläggen av Joshua James (se alla)

Lämna en kommentar