Hur man installerar och konfigurerar Apache (HTTPD) med Let's Encrypt TLS/SSL på Rocky Linux 8

Apache, också känd som Apache HTTP-server, har varit en av de mest använda webbserverapplikationerna globalt under de senaste decennierna. Det är en gratis webbapplikation med öppen källkod som underhålls av Apache Software Foundation. Apache tillhandahåller några kraftfulla funktioner med dynamiskt laddningsbara moduler, enkel integration med annan programvara och hantering av statiska filer, bland andra populära funktioner.

I följande handledning kommer du att lära dig hur man installerar Apache Web Server på Rocky Linux 8.

Förutsättningar

  • Rekommenderat OS: Rocky Linux 8.+.
  • Användarkonto: Ett användarkonto med sudo- eller root-åtkomst.

Uppdatera operativsystem

Uppdatera din Rocky linux operativsystem för att se till att alla befintliga paket är uppdaterade:

sudo dnf upgrade --refresh -y

Handledningen kommer att använda sudo kommando och förutsatt att du har sudo-status.

Så här verifierar du sudo-status på ditt konto:

sudo whoami

Exempel på utdata som visar sudo-status:

[joshua@rockylinux ~]$ sudo whoami
root

För att konfigurera ett befintligt eller nytt sudo-konto, besök vår handledning på Hur man lägger till en användare till Sudoers på Rocky Linux.

Att använda root-konto, använd följande kommando med root-lösenordet för att logga in.

su

Installera Apache (HTTPD)

Apache, som standard, finns i Rocky Linux-appströmmen. Detta är mer praktiskt för de flesta användare eftersom det är mycket stabilt och säkert. För att installera Apache, öppna din terminal och kör följande kommando:

sudo dnf install httpd

Exempel utmatning:

Hur man installerar och konfigurerar Apache (HTTPD) med Let's Encrypt TLS/SSL på Rocky Linux 8

Typ "Y," tryck sedan på "ENTER-TANGENT" att fortsätta.

Nästa, som standard Apache (HTTPD) kommer inaktiverad och inte aktiverad. Starta först tjänsten.

sudo systemctl enable httpd --now

Exempel på utdata om framgångsrikt:

Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.

Kontrollera om HTTPD körs utan några fel med hjälp av följande systemctl kommando:

systemctl status httpd

Exempel på utdata om allt är ok:

Hur man installerar och konfigurerar Apache (HTTPD) med Let's Encrypt TLS/SSL på Rocky Linux 8

Konfigurera brandväggsregler

När du installerar Apache lägger den inte automatiskt till brandväggsregler till standardport 80 eller 443 portar. Innan du fortsätter bör du ställa in följande regler, detta beror på vilka portar du kommer att använda, men alla alternativ är listade.

Öppna port 80 eller HTTP:

sudo firewall-cmd --permanent --zone=public --add-service=http

Öppna port 443 eller HTTPS:

sudo firewall-cmd --permanent --zone=public --add-service=https

Ladda om brandväggen för att göra ändringar i kraft:

sudo firewall-cmd --reload

Alternativt är det idealiskt att ställa in SELinux-behörigheter globalt för din Apache-server.

sudo setsebool -P httpd_unified 1

Kommandot kommer att uppdatera SELinux booleska värden och -P flagga för att uppdatera starttidsvärdet, vilket gör ändringen bestående när systemet startas om. Sammantaget httpd_unified är det booleska värdet som kommer att instruera SELinux att behandla alla Apache (HTTPD) processer som samma typ.

Konfigurera Apache Web Server

Du måste ha serverns IP-adress redo för installation. Det enklaste sättet att göra detta är med följande.

Hitta serverns IP-adress

Du måste ha serverns IP-adress förberedd för installation. Det enklaste sättet att göra detta är med följande.

curl -4 icanhazip.com

Exempel utmatning:

XXX.XXX.XXX.XXX IP address

Om kommandona inte fungerar har du inte curl-paketet installerat mer än troligt. Kör följande kommando:

sudo dnf install curl -y

Alternativt kan du använda följande kommando för att hitta serverns interna IP-adress.

hostname -I

Du bör få tillbaka den interna IP-adressen som servern är på som ett exempel:

###EXAMPLE ONLY###
192.168.50.15 

Du kan få 2 till 3 resultat tillbaka. Prova var och en tills du hittar rätt IP-adress.

När du har din servers IP-adress öppnar du din favoritwebbläsare och anger följande:

http://your_server_ip

Du bör få upp följande sida i din webbläsare:

Hur man installerar och konfigurerar Apache (HTTPD) med Let's Encrypt TLS/SSL på Rocky Linux 8

Grattis, du har installerat Apache (HTTPD) webbserver och arbetar för närvarande.

Nästa steg är att ställa in virtuella värdar.

Skapa och eller konfigurera virtuella värdar för Apache

Med hjälp av Apache-webbservern kan du skapa virtuella värdar för att hantera konfigurationer för mer än en domän som körs på en enda server. Om du har använt Nginx tidigare är det motsvarigheten till serverblock. I exemplet nedan kommer handledningen att skapa en domän example-domain.com som du kommer att ersätta med ditt domännamn.

Skapa och eller konfigurera kataloger

För det första, lämna / Var / www / html katalog intakt som standardkatalog, skapa sedan en ny katalog, till exempel-domain.com, enligt nedan:

sudo mkdir /var/www/example_domain/

Nästa steg är att tilldela äganderätten till katalogen med $ ANVÄNDARE miljöfaktor:

sudo chown -R $USER:$USER /var/www/example_domain/

Vanligtvis ska webbrootsbehörigheterna vara korrekt inställda och du kan verifiera med hjälp av - Jag kommando:

ls -l /var/www/

Exempel utmatning:

Hur man installerar och konfigurerar Apache (HTTPD) med Let's Encrypt TLS/SSL på Rocky Linux 8

Som ni ser har vi tillstånd till drwxr-xr-x, vilket är motsvarigheten till chmod 755. Om du inte har denna behörighetsuppsättning, kör följande kommando:

sudo chmod -R 755 /var/www/example_domain/

Skapa nu en exempelsida index.html med din favorittextredigerare. Handledningen kommer att använda nano enligt nedan:

sudo nano /var/www/example_domain/index.html

Kopiera och klistra in följande kod i filen:

<html>
    <head>
        <title>Welcome to Website!</title>
    </head>
    <body>
        <h1>Success! The virtual host is working! You did not mess it up thanks to Linuxcapable.com</h1>
    </body>
</html>

Spara filen (CTRL+O), avsluta sedan (CTRL+X).

Skapa virtuell värd

Nu när du har skapat en målsida och ställt in korrekt äganderätt och behörigheter. De nödvändiga katalogerna måste skapas och ställas in som standard.

Gör först de kataloger som behövs för sites-available och sites-aktiverade. Nginx-användare skulle också vara bekanta med denna inställning.

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

Nästa steg du måste göra är att instruera Apache att leta efter virtuella värdfiler som måste finnas på /etc/httpd/sites-available katalog.

Öppna konfigurationsfilen.

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

Lägg till följande i slutet av filen.

IncludeOptional sites-enabled/*.conf

Alternativt kan du inaktivera standardmappen som Apache söker efter virtuella värdfiler som kanske ville undvika förvirring.

Lägg bara en kommentar bredvid InkluderaValfritt conf.d/*.conf.

Exempelvis:

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

Exempel i miljön:

Hur man installerar och konfigurerar Apache (HTTPD) med Let's Encrypt TLS/SSL på Rocky Linux 8

Spara filen (CTRL+O), avsluta sedan (CTRL+X).

Använd sedan din favorittextredigerare för att skapa en virtuell värdkonfigurationsfil som finns på /etc/httpd/sites-available/example_domain.conf som nedan:

sudo nano /etc/httpd/sites-available/example_domain.conf

Nu, kopiera och klistra in följande i konfigurationsblockfilen, notera att ersätta din Servernamn, ServerAlias, och Dokumentrot med din egen:

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

Glöm inte att ändra de nödvändiga serverdirektiven till dina egna.

Spara konfigurationsfilen med (CTRL+O) och avsluta med (CTRL+X).

Därefter måste du aktivera behörigheter för Apache-tjänsten för att tillåta offentlig åtkomst till din server i /etc/httpd/conf/httpd.conf konfigurationsfil. Underlåtenhet att göra detta kan leda till HTTP 403-fel när du försöker komma åt din webbplats, eftersom konfigurationen som standard är inställd på att neka åtkomst.

Öppna konfigurationsfilen med nano eller valfri textredigerare.

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

Lägg nu till följande och se till att ändra rotkatalogen till din egen.

Exempelvis:

<Directory /var/www/example_domain/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>

Detta kan läggas till mot slutet av konfigurationsfilen.

Aktivera virtuell värd

Nästa steg är att aktivera den virtuella värden. Från början skapade du två kataloger, sites-available och webbplatsaktiverade. Du måste skapa en symbollänk till sites-aktiverade för att aktivera den virtuella värden.

För att skapa en symbollänk, använd följande exempel i din terminal.

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

När du är klar, starta om Apache-tjänsten.

sudo systemctl restart httpd

Öppna din webbläsare och skriv in ditt domännamn HTTP://exempel_domän där du ska få följande målsida som du skapade i filen index.html:

Hur man installerar och konfigurerar Apache (HTTPD) med Let's Encrypt TLS/SSL på Rocky Linux 8

Grattis, du har framgångsrikt skapat din virtuella värd och fått den att fungera framgångsrikt på din domän.

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

Helst skulle du vilja köra din Apache på HTTPS med ett SSL-certifikat. Det bästa sättet att göra detta är att använda Låt oss kryptera, en gratis, automatiserad och öppen certifikatutfärdare som drivs av ideell Internet Security Research Group (ISRG).

Först installerar du EPEL förvaret och mod_ssl paket för bättre uppdaterade paket och säkerhet.

sudo dnf install epel-release mod_ssl -y

Installera sedan certbot-paket enligt följande:

sudo dnf install python3-certbot-apache -y

När det är installerat, kör följande kommando för att starta skapandet av ditt certifikat:

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d www.example.com

Denna idealiska installation inkluderar forcerad HTTPS 301-omdirigeringar, en Strict-Transport-Security-huvud och OCSP-häftning. Se bara till att anpassa e-post och domännamn efter dina krav.

Nu blir din URL https://www.example.com istället för HTTP://www.example.com.

Om du använder den gamla HTTP URLkommer den automatiskt att omdirigera till HTTPS.

Alternativt kan du ställa in ett cron-jobb för att förnya certifikaten automatiskt. Certbot erbjuder ett skript som gör detta automatiskt, och du kan först testa för att säkerställa att allt fungerar genom att utföra en torrkörning.

sudo certbot renew --dry-run

Om allt fungerar, öppna ditt crontab-fönster med följande terminalkommando.

sudo crontab -e

Ange sedan när den ska förnyas automatiskt. Detta bör kontrolleras minst dagligen, och om certifikatet behöver förnyas kommer skriptet inte att uppdatera certifikatet. Om du behöver hjälp med att hitta en bra tid att ställa in, använd crontab.guru gratis verktyg.

00 00 */1 * * /usr/sbin/certbot-auto renew

Save (CTRL+O) avsluta sedan (CTRL+X), och cronjob aktiveras automatiskt.

Hantera Apache Service

Nu när Apache körs på din server framgångsrikt, är några hanteringsgrundtoner som följer.

Apache-serverloggar

Apache-serverloggar finns i katalogen var/www/exempel_domän med anpassad.logg och error.log respektfullt är standardåtkomst- och felnamnen som ges. Detta kan ändras till andra namn i din virtuella värdkonfigurationsfil i framtiden.

Apache-kommandon

Följande kommandon som du utan tvekan kommer att använda i din dagliga hantering när du arbetar med Apache. Några av de vanligaste är:

Så här stoppar du Apache-webbservern:

sudo systemctl stop httpd

Så här startar du Apache-webbservern:

sudo systemctl start httpd

Så här startar du om Apache-webbservern:

sudo systemctl restart httpd

För att ladda om Apache-webbservern (För fler mindre ändringar som inte kräver omstart):

sudo systemctl reload httpd

Så här inaktiverar du Apache vid serverstart:

sudo systemctl disable httpd

För att starta Apache vid serverstart (Automatiskt aktiverad vid installation):

sudo systemctl enable httpd

Hur man uppdaterar Apache (HTTPD)

För att uppdatera Apache i framtiden görs detta med kommandot du använde för att kontrollera om ditt system är uppdaterat. Observera, skapa alltid säkerhetskopior eller bilder om du har en Apache-tjänst som kör kritiska tjänster. Vanligtvis är det ganska säkert att uppgradera, men ibland kan buggar uppstå som vilken mjukvaruuppgradering som helst.

För att uppdatera Apache, använd följande kommando:

sudo dnf upgrade --refresh

Hur man tar bort (avinstallera) Apache (HTTPD)

För att ta bort Apache om du inte längre använder den, kan detta göras med följande kommando:

sudo dnf remove httpd

Detta kommando tar också bort alla oanvända beroenden som följde med installationen.

Kommentarer och slutsats

I handledningen har du lärt dig hur du installerar Apache (HTTPD) på Rock Linux 8. Sammantaget har Apache varit den mest använda webbapplikationsservern i årtionden. Men Nginx har äntligen tagit över ledningen bara något.

Apache är fortfarande en av de mest utplacerade och erkända webbapplikationerna, särskilt med kamning av LAMP-stack, som ofta används för back-end webbservrar. Du kommer att hitta mer användarvänliga alternativ för Apache än Nginx, vilket leder till att nyare användare börjar hosta sin webbserver, kanske att prova Apache över Nginx som första steg.


Inte vad du letade efter? Försök att söka efter ytterligare tutorials.

Lämna en kommentar