Sådan installeres Apache HTTPD på Fedora 40 eller 39

Apache HTTP Server (HTTPD) er en af ​​de mest udbredte webservere i verden, kendt for sin fleksibilitet, robuste ydeevne og omfattende konfigurationsmuligheder. Det er i stand til at betjene både statisk og dynamisk indhold, og dets modulære design giver mulighed for en lang række funktioner såsom SSL/TLS-kryptering, URL-omdirigering, godkendelse og mere. Apache HTTPD er især favoriseret i miljøer, hvor stabilitet, sikkerhed og skalerbarhed er afgørende. Det er et fremragende valg til hosting af websteder og applikationer, lige fra små personlige projekter til store virksomhedsløsninger.

På Fedora 40 eller 39 kan Apache HTTPD nemt installeres ved hjælp af Fedoras AppStream via dnf-pakkehåndteringen. Denne metode giver en ligetil installationsproces med adgang til den seneste version, der vedligeholdes i Fedoras officielle arkiver, hvilket sikrer, at du har en sikker og opdateret webserver. Denne guide vil lede dig gennem installationen af ​​Apache HTTPD ved hjælp af kommandolinjeterminalen, så du kan opsætte og konfigurere din webserver på Fedora.

Opdater Fedora-pakker før Apache-installation

Til at begynde med sikrer opdatering af dit Fedora-system, at det kører den nyeste software, hvilket er afgørende for kompatibilitet og sikkerhed.

Åbn din terminal og kør kommandoen:

sudo dnf upgrade --refresh

Denne kommando kombinerer brugen af ​​sudo til administrative rettigheder med dnf-opgradering for at opdatere alle pakker. Opdateringsmuligheden sikrer, at du får de seneste oplysninger fra dine lagre. Det er vigtigt at lade denne proces fuldføre, før du går videre til næste trin for at bevare systemets integritet og problemfri funktion.

Installer Apache (HTTPD) via DNF Command

Med dit system opdateret er det ligetil at installere Apache, også kendt som HTTPD. Fedora bruger DNF-pakkehåndteringen til sådanne opgaver.

Kør i din terminal:

sudo dnf install httpd

Denne kommando henter og installerer Apache på dit Fedora-system. DNF håndterer afhængigheder og konfigurationer, hvilket forenkler installationen. Processen er normalt hurtig og efterlader Apache klar til brug, når den er færdig.

Aktiver Apache (HTTPD) Service

Når Apache er installeret, er næste trin at starte og aktivere tjenesten for at sikre, at den kører ved opstart. Hvis den ikke aktiveres automatisk, skal du bruge disse kommandoer:

sudo systemctl start httpd
sudo systemctl enable httpd

"sudo systemctl start httpd" starter Apache-tjenesten, og "sudo systemctl enable httpd" sætter den til at starte ved opstart. Denne to-trins tilgang sikrer, at Apache er aktiv og vedvarende tilgængelig.

Alternativt kan du kombinere disse trin:

sudo systemctl enable httpd --now

Flaget –now med sudo systemctl enable httpd starter Apache med det samme og konfigurerer det til at starte ved opstart, hvilket strømliner processen.

Bekræft Apache (HTTPD) servicestatus

Bekræft endelig Apaches status:

systemctl status httpd

Denne kommando angiver Apaches operationelle status. Outputtet inkluderer tjenestens aktuelle tilstand og eventuelle fejlmeddelelser, som er afgørende for fejlfinding. Regelmæssig kontrol af dette kan hjælpe med at opretholde en stabil og funktionel Apache-opsætning på dit Fedora-system.

Konfigurer Firewalld-regler for Apache

Åbning af porte til HTTP og HTTPS

Efter installation af Apache (HTTPD) på Fedora, er det vigtigt at konfigurere Firewalld til at tillade trafik på porte 80 (HTTP) og 443 (HTTPS). Disse trin er afgørende for sikkerheden og tilgængeligheden af ​​din webapplikation.

Åbningsport 80 (HTTP):

Udfør følgende kommando for at åbne port 80, som bruges til HTTP-trafik:

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

Denne kommando konfigurerer Firewalld til at tillade indgående TCP-trafik på port 80, der almindeligvis bruges til ukrypteret webtrafik.

Åbningsport 443 (HTTPS):

For at tillade sikker, krypteret trafik skal du åbne port 443 med denne kommando:

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

Port 443 bruges til HTTPS-trafik, hvilket giver krypteret kommunikation mellem klienter og serveren.

Anvendelse af firewall-ændringerne:

Når du har indstillet reglerne, skal du anvende dem ved at genindlæse Firewalld:

sudo firewall-cmd --reload

Genindlæsning af firewallen sikrer, at alle ændringer er aktive og træder i kraft med det samme.

Sikkerhedshensyn

Det er afgørende at forstå de sikkerhedsmæssige konsekvenser af disse ændringer. Hvis du kun åbner nødvendige porte, minimeres potentielle sårbarheder og beskytter din applikation mod uautoriseret adgang og trusler.

Bekræftelse af Apache-tilgængelighed

For at bekræfte vellykket konfiguration skal du gå til Apache (HTTPD)-destinationssiden:

  1. Åbn din webbrowser.
  2. Naviger til http://localhost eller http:// .

Hvis den er konfigureret korrekt, bør Apache-standardsiden vises, som bekræfter serverens driftsstatus.

Fejlfinding af adgangsproblemer

Hvis du ikke kan få adgang til landingssiden, skal du overveje disse trin:

  • Gennemgå firewall-reglerne for nøjagtighed.
  • Tjek Apache-tjenestens status.
  • Undersøg serverkonfigurationer for fejl.

At adressere disse aspekter vil hjælpe dig med at identificere og løse eventuelle problemer, der hindrer adgang til Apache på Fedora.

Opret en virtuel vært på Apache

Oprettelse og konfiguration af mapper til din virtuelle vært

Start med at oprette en mappe til din virtuelle vært på Fedora Linux. Denne mappe vil fungere som roden til dit websteds filer. For et domæne som "example.com" skal du bruge følgende kommando:

sudo mkdir /var/www/example.com

Erstat "example.com" med dit faktiske domænenavn. Denne mappe vil indeholde alle webstedsfiler, inklusive HTML, billeder og scripts. Af organisatoriske og sikkerhedsmæssige årsager er det tilrådeligt at oprette separate mapper til forskellige virtuelle værter.

Indstil mappens ejerskab og tilladelser, så Apache kan få adgang til det:

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

Den første kommando ændrer mappeejerskabet til Apache-brugeren og gruppen, og den anden indstiller de nødvendige tilladelser.

Opret en index.html-fil i denne mappe. Denne fil er den første side, besøgende ser. Brug en teksteditor som Nano til at oprette denne fil:

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

Inde i editoren kan du tilføje følgende 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>

Tilpas denne HTML, så den passer til dit websteds behov. Gem og afslut editoren med Ctrl + X, efterfulgt af Y og Enter.

Oprettelse af virtuel vært

Opsætning af mapper til Apache

Først skal du oprette de websteder-tilgængelige og websteder-aktiverede mapper:

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

Disse mapper hjælper med at organisere virtuelle værtskonfigurationer. Rediger nu Apache-konfigurationsfilen:

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

Tilføj i slutningen af ​​filen:

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

Gem og afslut med Ctrl + O og Ctrl + X.

Konfiguration af din virtuelle vært

Opret en konfigurationsfil til dit domæne:

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

Tilføj følgende konfiguration i filen, og juster ServerName, ServerAlias ​​og DocumentRoot efter behov:

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

Ændring af adgangstilladelser

Rediger Apaches adgangstilladelser for at tillade offentlig adgang. Rediger hovedkonfigurationsfilen:

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

Tilføj disse linjer til sidst:

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

Gem og afslut med Ctrl + O og Ctrl + X.

Aktivering af Virtual Host

Opret et symbolsk link for at aktivere den virtuelle vært:

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

Genstart Apache for at anvende ændringerne:

sudo systemctl restart httpd

Når du har genstartet Apache, skal du besøge http://example_domain i din webbrowser. Brug serverens IP-adresse, hvis du ikke har registreret et domæne. Du bør se den landingsside, du oprettede tidligere.

Administrer Apache (HTTPD) Service0

Apache-serverlogfiler

Apache-serverlogfiler er afgørende for overvågning og fejlfinding. De er i /var/log/httpd/ som standard; standard filnavne er access.log for adgangslogfiler og error.log for fejllogfiler. Du kan dog tilpasse disse filnavne i den virtuelle værtskonfigurationsfil.

Tilpasning af logfilnavne

For at ændre logfilnavnene skal du redigere den virtuelle værtskonfigurationsfil. Her er et eksempel på brugerdefinerede lognavne:

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

Denne konfiguration indstiller custom-access.log og custom-error.log som de nye filnavne for adgangs- og fejllogfiler. Husk at angive den korrekte filsti, når du konfigurerer brugerdefinerede lognavne.

Apache-kommandoer til servicestyring

Administration af Apache-tjenesten involverer et sæt kommandoer, der giver dig mulighed for at kontrollere dens drift:

Stop Apache:

For at stoppe Apache-serveren skal du bruge:

sudo systemctl stop httpd

Denne kommando standser Apache-tjenesten, indtil den startes igen.

Starter Apache:

For at starte Apache-serveren skal du bruge:

sudo systemctl start httpd

Denne kommando aktiverer Apache-tjenesten, hvilket gør den klar til at betjene webindhold.

Genstart af Apache:

For at genstarte Apache-serveren skal du bruge:

sudo systemctl restart httpd

Genstart er nyttigt til at anvende konfigurationsændringer eller retablering fra ikke-kritiske fejl.

Genindlæser Apache:

For at genindlæse Apache-serveren skal du bruge:

sudo systemctl reload httpd

Genindlæsning anvender konfigurationsændringer uden at afbryde den kørende tjeneste.

Deaktivering af Apache ved opstart:

For at forhindre Apache i at starte automatisk ved opstart, brug:

sudo systemctl disable httpd

Denne kommando fjerner Apache fra listen over tjenester, der starter ved systemstart.

Aktivering af Apache ved opstart:

For at indstille Apache til at starte automatisk ved opstart, brug:

sudo systemctl enable httpd

Dette sikrer, at Apache starter, hver gang systemet starter op, hvilket giver en ensartet tilgængelighed af webtjenester.

Sikker Apache med Let's Encrypt SSL Free Certificate

Installer Certbot til SSL/TLS-certifikatautomatisering

Begynd med at installere Certbot, et værktøj til automatisering af erhvervelse og fornyelse af SSL/TLS-certifikater, hvilket sikrer HTTPS-kryptering til dit websted. For at installere Certbot skal du udføre:

sudo dnf install certbot python3-certbot-apache

Generer SSL/TLS-certifikat til dit domæne

Efter installationen skal du generere et SSL/TLS-certifikat for dit domæne med denne kommando:

sudo certbot --apache -d example.com

Erstat "example.com" med dit faktiske domænenavn.

Alternativ kommando til generering af SSL-certifikat

For en omfattende SSL-opsætning skal du bruge følgende kommando:

sudo certbot --dry-run --apache --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d www.example.com
  • –dry-run: Tester certifikatgenereringen uden at ændre systemet.
  • –apache: Angiver, at certifikatet er til en Apache-server.
  • –agree-tos: Accepterer Let's Encrypts servicevilkår.
  • –redirect: Omdirigerer HTTP-trafik til HTTPS.
  • –hsts: Aktiverer HTTP Strict Transport Security, hvilket kun sikrer sikre HTTPS-forbindelser.
  • –staple-ocsp: Aktiverer OCSP-hæftning for at verificere SSL-certifikatet.
  • –email: Din e-mailadresse tilknyttet certifikatet.
  • -d: Domænenavnet for certifikatet, her “www.example.com”.

Konfiguration af Apache til at bruge SSL-certifikatet

For at konfigurere Apache skal du åbne SSL-konfigurationsfilen:

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

I denne fil skal du tilføje følgende linjer og erstatte "example.com" med dit domæne:

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

Bekræftelse og fornyelse af SSL-certifikatet

Efter installationen vil dit websted skifte fra "HTTP://www.example.com" til "HTTPS://www.example.com", hvilket sikrer krypteret og sikker kommunikation.

Opsætning af automatisk certifikatfornyelse

For at holde SSL-certifikatet opdateret skal du konfigurere et cron-job til Certbot-fornyelse. Test først fornyelsesprocessen:

sudo systemctl restart httpd 

Denne test sikrer, at fornyelsesscriptet fungerer korrekt, før det planlægges som et cron-job.

sudo certbot renew --dry-run

Fornyelse og administration af SSL-certifikater

Bekræfter SSL-certifikatstatus

Før du automatiserer fornyelsesprocessen, er det afgørende at forstå den aktuelle status for dine SSL-certifikater. For at kontrollere status, inklusive udløbsdatoer for alle certifikater, der administreres af Certbot, skal du bruge denne kommando:

sudo certbot certificates

Denne kommando giver en liste over alle SSL-certifikater, der håndteres af Certbot, sammen med deres respektive udløbsdatoer. Disse oplysninger er vigtige for at bekræfte, at dine certifikater er aktive, og for at forstå, hvornår de skal fornys.

Automatisering af SSL-certifikatfornyelse

For at sikre uafbrudt HTTPS-tjeneste skal SSL-certifikater fornyes med jævne mellemrum. Automatisering af denne proces er afgørende for at opretholde et sikkert websted.

Installation af Cronie til Cron Jobs

Hvis Cronie, cron job manager, ikke er installeret på dit Fedora system, installer det ved at bruge:

sudo crontab -e

Cronie giver dig mulighed for at planlægge opgaver som Certbot-fornyelsesscriptet til at køre på bestemte tidspunkter og intervaller.

Redigering af Cron Job-konfiguration

Efter installation af Cronie skal du planlægge SSL-certifikatfornyelsen ved at redigere cron-jobkonfigurationen:

sudo dnf install cronie

Denne kommando åbner crontab-editoren, hvor du kan tilføje planlagte opgaver.

Planlægning af fornyelsesjobbet

Tilføj følgende linje i crontab-editoren for at planlægge fornyelseskommandoen til at køre to gange dagligt:

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

Dette cron-job er indstillet til at køre kommandoen certbot forny kl. 6:00 og 18:00 hver dag. Indstillingen –quiet sikrer, at Certbot kører lydløst uden at generere unødvendigt output.

Forståelse af Certbots fornyelsesproces

Certbot styrer fornyelsesprocessen intelligent. Den forsøger kun at forny certifikater, der er inden for 30 dage efter udløb. Hvis et certifikat ikke skal fornyes, vil Certbot ikke udføre nogen handling. Denne effektivitet sikrer, at din server ikke belastes med unødvendige processer, og at dine SSL-certifikater altid er opdaterede.

Opsætning af denne automatiserede fornyelsesproces er en bedste praksis til at opretholde kontinuerlig HTTPS-kryptering, hvilket sikrer, at dit websted forbliver sikkert og betroet af brugere og søgemaskiner.

Yderligere kommandoer og tips

Sikre mapper og filer på Apache

At sikre din servers sikkerhed involverer indstilling af passende tilladelser til filer og mapper. Alt for tilladelige indstillinger kan udsætte din server for risici.

Indstilling af sikre tilladelser

For mapper og filer under /var/www/example.com/ skal du bruge disse kommandoer:

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

Disse kommandoer sætter mapper til 755 (læs, skriv, udfør for ejeren og læs og udfør for andre) og filer til 644 (læs og skriv for ejeren, læs for andre), som er standard sikre tilladelser.

Særlige tilladelser til specifikke applikationer

Bemærk, at nogle programmer, såsom phpBB, kan kræve 777 tilladelser på visse mapper. Juster altid tilladelser baseret på applikationskrav.

Omfattende sikkerhedstilgang

Husk, at indstilling af tilladelser kun er ét aspekt af sikkerheden. Implementering af SSL-certifikater og korrekte firewall-konfigurationer er afgørende for robust serverbeskyttelse.

Opdater Apache (HTTPD) på Fedora

At holde Apache opdateret er afgørende for sikkerhed og ydeevne.

Opdaterer Apache

For at opdatere Apache sammen med andre systempakker skal du bruge:

sudo dnf update --refresh

Denne kommando opdaterer pakkedatabasen og opdaterer alle installerede pakker, inklusive Apache.

Forholdsregler før opdatering

Sikkerhedskopier altid dit system eller opret billeder, før du udfører opdateringer, for at beskytte dig mod potentielle problemer.

Fjern (Afinstaller) Apache fra Fedora

I scenarier, hvor Apache skal fjernes fra systemet, skal du følge disse trin:

Deaktivering og stop af Apache

Først skal du deaktivere og stoppe Apache-tjenesten:

sudo systemctl disable httpd --now

Denne kommando stopper Apache-tjenesten og forhindrer den i at starte automatisk ved opstart.

Afinstallerer Apache

For at fjerne Apache fra dit system skal du udføre:

sudo dnf remove httpd

Denne kommando afinstallerer Apache-pakken.

Oprydning af resterende filer

Efter afinstallation skal du fjerne eventuelle resterende filer i Apache-konfigurationsmappen:

sudo rm -R /etc/httpd/

Dette trin sikrer, at alle Apache-relaterede filer fjernes fuldstændigt fra dit system.

Konklusion

Ved at installere Apache HTTPD på Fedora gennem AppStream får du en kraftfuld og pålidelig webserver, der er velintegreret med dit Fedora-system. dnf-pakkehåndteringen sikrer, at din installation er glat, og at opdateringer nemt administreres. Efter installationen kan du overveje at udforske Apaches omfattende konfigurationsmuligheder for at skræddersy serveren til dine specifikke behov, hvad enten det er til at betjene statiske websteder, køre dynamiske applikationer eller administrere komplekse webmiljøer.

Joshua James
Følg mig
Seneste indlæg af Joshua James (se alt)

Skriv en kommentar