Hur man installerar och konfigurerar Apache med Let's Encrypt TLS/SSL på Ubuntu 20.04

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å Ubuntu 20.04.

Förutsättningar

  • Rekommenderat OS: ubuntu 20.04 - valfritt (Ubuntu 21.04 och Linux Mint 20)
  • Användarkonto: Ett användarkonto med sudo- eller root-åtkomst.

Uppdaterar operativsystem

Först, före något, uppdatera din Ubuntu operativsystem för att se till att alla befintliga paket är uppdaterade:

sudo apt update && sudo apt upgrade -y

Root eller Sudo Access

Som standard gav kontot som skapades med Ubuntu sudo-status. Anta ändå att du måste tillhandahålla ytterligare konton sudo/root-åtkomst. I så fall måste du antingen ha tillgång till root-lösenord att använda kommandot su eller besök vår handledning på Hur man lägger till en användare till Sudoers på Ubuntu.

Metod 1. Installera Apache från Ubuntu Repository

Det första alternativet att installera Apache är att använda standardförvaret för Ubuntu. 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 apt install apache2 -y

Kontrollera sedan att installationen lyckades genom att verifiera Apaches byggversion:

sudo apache2 --version

Exempel utmatning:

Server version: Apache/2.4.51

Kontrollera för att se om Apache2 körs korrekt med följande systemctl kommando:

systemctl status apache2

Exempel på utdata om allt är ok:

Hur man installerar och konfigurerar Apache med Let's Encrypt TLS/SSL på Ubuntu 20.04

Metod 2. Installera senaste Apache från Ondřej Surý PPA

Som standard är Apache tillgänglig inom Ubuntus programvaruförråd, vilket gör det enkelt att installera. Men som de flesta repositories på Ubuntu LTS-versioner kan det ofta saknas bakom det som är aktuellt, inte så mycket för säkerhetsrisker. Ändå saknas de nyare funktionerna och förbättringarna.

Det rekommenderas för Ubuntu att installera Ondřej Surýs version av Apache 2, som är den mest uppdaterade och färdigbyggda med extra mycket använda moduler.

Lägg först till Ondřej Surý PPA för Ubuntu enligt följande:

sudo add-apt-repository ppa:ondrej/apache2 -y && sudo apt update

Nu kan du installera Apache 2-paketet med följande kommando:

sudo apt install apache2

Installationen kommer att installera alla beroenden som behövs.

Om du inte vill använda PPA kan du hoppa över att lägga till den och installera Apache 2 från Ubuntus arkiv.

När du har installerat, bekräfta versionen som kör följande kommando:

apache2 -v

Exempel utmatning:

Server version: Apache/2.4.51 (Ubuntu)

Observera att båda arkiven är på samma version vid tidpunkten för handledningen på grund av en Brådskande CVE-uppdatering. Normalt ligger Ondřej Surý PPA alltid före standard Ubuntu 20.04.

Kontrollera för att se om Apache2 körs korrekt med följande systemctl kommando:

sudo systemctl status apache2

Exempel på utdata om allt är ok:

Hur man installerar och konfigurerar Apache med Let's Encrypt TLS/SSL på Ubuntu 20.04

Konfigurera UFW-brandväggen för Apache

Efter att ha installerat Apache 2-webbservern måste du ändra UFW regler för att tillåta extern åtkomst till standardwebbportarna. Lyckligtvis registrerar sig Apache under installationen hos UFW för att tillhandahålla några profiler som kan användas för att aktivera eller inaktivera åtkomst, vilket gör det enkelt och snabbt att konfigurera.

Lista först programprofilerna för att se Apache-profilerna som är tillgängliga med följande kommando:

sudo ufw app list

Exempel utmatning:

Available applications:
  Apache
  Apache Full
  Apache Secure

Från utgången ovan har du tre profilalternativ att välja mellan. För att bryta ner det, Apache körs på port 80 (HTTP), Apache säker körs på port 443 (HTTPS), och Apache full är en kombination av att tillåta båda. Det vanligaste är antingen Apache Full eller Apache Secure.

För handledningen, eftersom vi inte har ställt in SSL, kommer vi att aktivera (Apache) profil med följande kommando:

sudo ufw allow 'Apache'

Exempel utmatning:

Rule added
Rule added (v6)

Som ovan har reglerna lagts till för både IPV4 och IPV6. Senare kan du inaktivera den här profilen och aktivera endast säker eller inaktivera Apache-regeln och använda Apache Full-regeln istället.

Verifiera Apache Web Server

Nu när du har installerat och konfigurerat UFW-brandväggen är det dags att testa för att se om Apache 2 är tillgänglig och fungerar korrekt genom att begära en sida.

Du kan komma åt Apaches standardmålsida för att kontrollera om programvaran körs korrekt via din servers IP-adress. För att ta reda på detta, om du inte vet, använd följande kommando nedan:

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.

Om du behöver din offentliga IP-adress (extern), använd följande kommando istället:

curl -4 icanhazip.com

Du kan behöva installera CURL-paketet om det saknas. För att göra detta, kör följande kommando:

sudo apt install curl -y

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 med Let's Encrypt TLS/SSL på Ubuntu 20.04

Grattis, du har installerat Apache 2 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.

Som standard har Apache på Ubuntu 20.04 ett serverblock aktiverat som standard som är konfigurerat för att servera dokument från / Var / www / html katalog. Om du driver en webbplats kan du ändra detta serverblock så att det passar din egen. Men om du är värd för flera webbplatser måste du skapa en ny katalogstruktur för dina olika domäner.

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 miljövariabeln $USER:

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/example_domain
ls -l /var/www/example_domain

Exempel utmatning:

drwxr-xr-x 2 joshua joshua 4096 Oct 10 11:46 example_domain

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.</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. Du kan nu fortsätta att skapa en virtuell värdfil. Som standard måste alla virtuella värdfiler finnas på / Etc / apache2 / sites-available / katalog.

Använd först din favorittextredigerare för att skapa en konfigurationsfil som finns på /etc/apache2/sites-available/example_domain.conf som nedan:

sudo nano /etc/apache2/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
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Observera, kom ihåg, glöm inte att ändra de nödvändiga serverdirektiven till dina egna.

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

Aktivera virtuell värd

Nu när du har din virtuella värdkonfigurationsfil redo är det dags att aktivera den. Med Apache, till skillnad från Nginx, där du skulle skapa en symbollänk med kommandot ln -s, använder Apache sina verktyg, som handledningen kommer att visa nedan:

Inaktivera först den befintliga standardinstallerade serverblockfilen 000-default.conf med kommandot a2dissite:

sudo a2dissite 000-default.conf

Aktivera nu din virtuella värdfil med a2ensite kommando:

sudo a2ensite example_domain.conf

Nu, som de flesta webbserverapplikationer, har Apache en torrkörning fungera. Innan du gör live, testa din konfigurationsfil med följande kommando:

sudo apache2ctl configtest

Om allt fungerar korrekt bör exempelutdata vara:

Syntax OK

Starta nu om Apache-webbservern för att göra din nya virtuella värd live med följande kommando:

sudo systemctl restart apache2

Apache bör för närvarande visa målsidan du skapade för din nya domän. För att testa detta, ö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 med Let's Encrypt TLS/SSL på Ubuntu 20.04

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 certbot-paket enligt följande:

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

Detta är den idealiska installationen som inkluderar forcerad HTTPS 301-omdirigeringar, 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.

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

Hantera Apache Service

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

Apache-serverloggar

Apache-serverloggar finns i katalogen /var/log/apache2/ med access.log 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 apache2

Så här startar du Apache-webbservern:

sudo systemctl start apache2

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

sudo systemctl restart apache2

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

sudo systemctl reload apache2

Så här inaktiverar du Apache vid serverstart:

sudo systemctl disable apache2

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

sudo systemctl enable apache2

Hur man uppdaterar Apache

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

Om en Apache-uppgradering är tillgänglig, använd kommandot:

sudo apt upgrade

Hur man tar bort (avinstallera) Apache

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

sudo apt autoremove apache2 --purge

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 2 antingen med Ubuntus standardförråd eller den rekommenderade uppdaterade Apache 2 med PPA av Ondřej Surý. Sammantaget har Apache varit den mest använda webbapplikationsservern i världen i decennier. 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