Kako instalirati i konfigurirati Apache s Let's Encrypt TLS/SSL na Ubuntu 20.04

apaš, također poznat kao HTTP poslužitelj Apache, je jedna od najčešće korištenih aplikacija web poslužitelja na globalnoj razini u posljednjih nekoliko desetljeća. To je besplatni softver za web aplikacije otvorenog koda koji održava Apache Software Foundation. Apache nudi neke moćne značajke s dinamički učitavim modulima, jednostavnu integraciju s drugim softverom i rukovanje statičkim datotekama, među ostalim popularnim značajkama.

U sljedećem tutorialu naučit ćete kako instalirati Apache web poslužitelj na Ubuntu 20.04.

Preduvjeti

  • Preporučeni OS: Ubuntu 20.04 - neobavezna (Ubuntu 21.04 i Linux Mint 20)
  • Korisnički račun: Korisnički račun sa sudo ili root pristupom.

Ažuriranje operativnog sustava

Prvo, prije svega, ažurirajte svoj Ubuntu operativni sustav kako biste bili sigurni da su svi postojeći paketi ažurirani:

sudo apt update && sudo apt upgrade -y

Root ili Sudo pristup

Prema zadanim postavkama, račun kreiran s Ubuntuom davao je sudo status. Ipak, pretpostavimo da trebate osigurati dodatni sudo/root pristup računima. U tom slučaju morate imati pristup root lozinka koristiti naredba su ili posjetite naš vodič na Kako dodati korisnika u Sudoers na Ubuntu.


Oglas


Metoda 1. Instalirajte Apache iz Ubuntu repozitorija

Prva opcija za instaliranje Apachea je korištenje zadanog Ubuntu spremišta. Ovo je praktičnije za većinu korisnika jer je vrlo stabilno i sigurno.

Da biste instalirali Apache, otvorite svoj terminal i izvedite sljedeću naredbu:

sudo apt install apache2 -y

Zatim provjerite je li instalacija bila uspješna provjerom verzije Apachea:

sudo apache2 --version

Primjer rezultata:

Server version: Apache/2.4.51

Provjerite radi li Apache2 ispravno koristeći sljedeće systemctl naredba:

systemctl status apache2

Primjer izlaza ako je sve u redu:

Kako instalirati i konfigurirati Apache s Let's Encrypt TLS/SSL na Ubuntu 20.04

Metoda 2. Instalirajte najnoviji Apache iz Ondřej Surý PPA

Prema zadanim postavkama, Apache je dostupan unutar Ubuntu softverska spremišta, što olakšava instalaciju. Međutim, kao i većina repozitorija na verzijama Ubuntu LTS-a, često može nedostajati iza onoga što je trenutno, ne toliko zbog sigurnosnih rizika. Ipak, nedostaju novije značajke i poboljšanja.

Preporuča se da se Ubuntu instalira Ondřeja Surýja verzija Apachea 2, koji je najsuvremeniji i unaprijed izgrađen s dodatno široko korištenim modulima.

Prvo dodajte Ondřej Surý PPA za Ubuntu na sljedeći način:

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

Sada možete instalirati Apache 2 paket sljedećom naredbom:

sudo apt install apache2

Instalacija će instalirati sve potrebne ovisnosti.

Ako ne želite koristiti PPA, možete preskočiti dodavanje i instalirati Apache 2 iz Ubuntuovog spremišta.

Nakon instalacije, potvrdite verziju pomoću sljedeće naredbe:

apache2 -v

Primjer rezultata:

Server version: Apache/2.4.51 (Ubuntu)

Imajte na umu da su oba spremišta na istoj verziji u vrijeme vodiča zbog HITNOG ažuriranja CVE-a. Obično je Ondřej Surý PPA uvijek ispred zadanog Ubuntu 20.04.

Provjerite radi li Apache2 ispravno koristeći sljedeće systemctl naredba:

sudo systemctl status apache2

Primjer izlaza ako je sve u redu:

Kako instalirati i konfigurirati Apache s Let's Encrypt TLS/SSL na Ubuntu 20.04

Oglas


Konfigurirajte UFW vatrozid za Apache

Nakon instalacije Apache 2 web poslužitelja, morat ćete izmijeniti UFW pravila kako bi se omogućio vanjski pristup zadanim web portovima. Srećom, tijekom instalacije, Apache se registrira u UFW-u kako bi osigurao nekoliko profila koji se mogu koristiti za omogućavanje ili onemogućavanje pristupa, što ga čini lakim i brzim za konfiguraciju.

Prvo navedite profile aplikacije da vidite Apache profile koji su dostupni sljedećom naredbom:

sudo ufw app list

Primjer rezultata:

Available applications:
  Apache
  Apache Full
  Apache Secure

Iz gornjeg izlaza možete birati između tri opcije profila. da ga razbijem, apaš radi na portu 80 (HTTP), Apache Secure radi na portu 443 (HTTPS), i Apache pun je kombinacija dopuštanja oboje. Najčešći je ili Apache Full ili Apache Secure.

Za tutorial, budući da nismo postavili SSL, omogućit ćemo (Apache) profil sljedećom naredbom:

sudo ufw allow 'Apache'

Primjer rezultata:

Rule added
Rule added (v6)

Kao što je gore navedeno, pravila su dodana i za IPV4 i IPV6. Kasnije možete onemogućiti ovaj profil i omogućiti samo siguran ili onemogućiti Apache pravilo i umjesto njega koristiti pravilo Apache Full.

Provjerite Apache web poslužitelj

Sada kada ste instalirali i konfigurirali UFW vatrozid, vrijeme je da testirate je li Apache 2 dostupan i radi li ispravno tako da zatražite stranicu.

Možete pristupiti zadanoj Apache odredišnoj stranici kako biste provjerili radi li softver ispravno preko IP adrese vašeg poslužitelja. Da biste to saznali, ako ne znate, koristite sljedeću naredbu u nastavku:

hostname -I

Trebali biste dobiti natrag internu IP adresu na kojoj se poslužitelj nalazi kao primjer:

###Example Only###
192.168.50.15 

Možete dobiti 2 do 3 rezultata natrag. Pokušajte svaki od njih dok ne pronađete ispravnu IP adresu.

Ako vam je potrebna vaša javna IP adresa (vanjska), umjesto toga upotrijebite sljedeću naredbu:

curl -4 icanhazip.com

Možda ćete morati instalirati CURL paket ako nedostaje. Da biste to učinili, izvršite sljedeću naredbu:

sudo apt install curl -y

Nakon što dobijete IP adresu svog poslužitelja, otvorite svoj omiljeni internetski preglednik i unesite sljedeće:

http://your_server_ip

Trebali biste dobiti sljedeću stranicu u svom internet pregledniku:

Kako instalirati i konfigurirati Apache s Let's Encrypt TLS/SSL na Ubuntu 20.04

Čestitamo, instalirali ste Apache 2 web poslužitelj i trenutno radite.

Sljedeći korak je postavljanje virtualnih hostova.


Oglas


Stvorite i ili konfigurirajte virtualne hostove za Apache

Koristeći web-poslužitelj Apache, možete stvoriti virtualne hostove za upravljanje konfiguracijama za više od jedne domene koja se izvodi na jednom poslužitelju. Ako ste prije koristili Nginx, to je ekvivalent blokovima poslužitelja. U primjeru ispod, vodič će stvoriti domenu example-domain.com koju ćete zamijeniti imenom svoje domene.

Prema zadanim postavkama, Apache na Ubuntu 20.04 ima jedan blok poslužitelja omogućen prema zadanim postavkama koji je konfiguriran za posluživanje dokumenata iz / Var / www / html imenik. Ako koristite jednu web stranicu, ovaj blok poslužitelja možete izmijeniti tako da odgovara vašem vlastitom. Međutim, ako hostirate više web-mjesta, morate stvoriti novu strukturu imenika za svoje različite domene.

Izradite i/ili Konfigurirajte direktorije

Prvo, otići / Var / www / html direktorij netaknut kao zadani direktorij, a zatim stvorite novi direktorij, na primjer-domain.com, kao u nastavku:

sudo mkdir /var/www/example_domain

Sljedeći korak je dodijeliti vlasništvo direktorija s varijablom okoline $USER:

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

Obično bi dopuštenja web roots trebala biti ispravno postavljena, a možete ih provjeriti pomoću - Zapovijedam:

-ls l /var/www/example_domain
ls -l /var/www/example_domain

Primjer rezultata:

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

Kao što vidite, imamo dozvolu za drwxr-xr-x, što je ekvivalent chmod 755. Ako nemate postavljeno ovo dopuštenje, pokrenite sljedeću naredbu:

sudo chmod -R 755 /var/www/example_domain

Sada izradite oglednu stranicu index.html koristeći svoj omiljeni uređivač teksta. Tutorial će koristiti nano kao u nastavku:

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

U datoteci kopirajte i zalijepite sljedeći kod:

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

Spremite datoteku (CTRL+O), zatim izađite (CTRL+X).

Stvorite virtualni host

Sada kada ste stvorili odredišnu stranicu i postavili ispravno vlasništvo i dopuštenja. Sada možete nastaviti stvarati virtualnu host datoteku. Prema zadanim postavkama, sve datoteke virtualnog hosta morat će se nalaziti na / etc / apache2 / web-mjesta dostupna / katalog.

Najprije upotrijebite svoj omiljeni uređivač teksta za stvaranje konfiguracijske datoteke koja se nalazi na /etc/apache2/sites-available/example_domain.conf kao ispod:

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

Sada kopirajte i zalijepite sljedeće u datoteku bloka konfiguracije, napomenu da zamijenite svoju ServerName, ServerAlias, i Korijen dokumenta sa svojim:

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

Napomena, ne zaboravite promijeniti potrebne direktive poslužitelja u svoje.

Spremite konfiguracijsku datoteku pomoću (CTRL+O) i izađite sa (CTRL+X).

Omogućite virtualni host

Sada kada imate spremnu konfiguracijsku datoteku virtualnog hosta, vrijeme je da je omogućite. S Apacheom, za razliku od Nginxa, gdje biste stvorili simboličku vezu pomoću naredbe ln -s, Apache koristi svoje alate, kao što će vodič pokazati u nastavku:

Prvo onemogućite postojeću zadanu instaliranu datoteku bloka poslužitelja 000-default.conf s naredbom a2dissite:

sudo a2dissite 000-default.conf

Sada omogućite svoju virtualnu host datoteku s a2mjesto naredba:

sudo a2ensite example_domain.conf

Sada, kao i većina aplikacija web poslužitelja, Apache ima a testno pokretanje funkcija. Prije pokretanja uživo, testirajte svoju konfiguracijsku datoteku pomoću sljedeće naredbe:

sudo apache2ctl configtest

Ako sve radi ispravno, primjer bi trebao biti:

Syntax OK

Sada ponovno pokrenite Apache web-poslužitelj da bi vaš novi virtualni host postao aktivan sljedećom naredbom:

sudo systemctl restart apache2

Apache bi trenutno trebao posluživati ​​odredišnu stranicu koju ste izradili za svoju novu domenu. Da biste to testirali, otvorite svoj internetski preglednik i upišite naziv svoje domene HTTP://primjer_domena gdje biste trebali dobiti sljedeću odredišnu stranicu koju ste izradili u datoteci index.html:

Kako instalirati i konfigurirati Apache s Let's Encrypt TLS/SSL na Ubuntu 20.04

Čestitamo, uspješno ste stvorili svoj virtualni host i učinili ga da uspješno radi na vašoj domeni.

Sigurni Apache s Let's Encrypt SSL Free certifikatom

U idealnom slučaju, željeli biste pokrenuti svoj Apache HTTPS pomoću SSL certifikata. Najbolji način da to učinite je korištenje Hajdemo šifrirati, besplatno, automatizirano i otvoreno certifikacijsko tijelo koje vodi neprofitna grupa za istraživanje internetske sigurnosti (ISRG).

Prvo, instalirajte certbot paket kako slijedi:

sudo apt install python3-certbot-apache -y

Nakon instalacije, pokrenite sljedeću naredbu da započnete kreiranje certifikata:

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

Ovo je idealno postavljanje koje uključuje prisilno HTTPS 301 preusmjeravanje, zaglavlje Strict-Transport-Security i OCSP spajanje. Samo pazite da prilagodite e-poštu i naziv domene svojim zahtjevima.

Sada će vaš URL biti https://www.example.com umjesto HTTP://www.example.com.

Napomena, ako koristite stari HTTP URL, automatski će se preusmjeriti na HTTPS.


Oglas


Upravljanje uslugom Apache

Sada kada imate uspješno pokrenut Apache na vašem poslužitelju, neke ključne riječi o upravljanju su sljedeće.

Zapisi poslužitelja Apache

Zapisnici poslužitelja Apache mogu se pronaći u direktoriju /var/log/apache2/ s pristup.log i error.log uz poštovanje zadani pristup i nazivi pogrešaka. To se u budućnosti može promijeniti u druga imena u vašoj konfiguracijskoj datoteci virtualnog hosta.

Apache naredbe

Sljedeće naredbe koje ćete nesumnjivo koristiti u svom svakodnevnom upravljanju kada radite s Apacheom. Neki od najčešćih su:

Za zaustavljanje Apache web poslužitelja:

sudo systemctl stop apache2

Za pokretanje Apache web poslužitelja:

sudo systemctl start apache2

Za ponovno pokretanje Apache web poslužitelja:

sudo systemctl restart apache2

Za ponovno učitavanje Apache web poslužitelja (Za više manjih promjena koje ne zahtijevaju ponovno pokretanje):

sudo systemctl reload apache2

Da biste onemogućili Apache pri pokretanju poslužitelja:

sudo systemctl disable apache2

Za pokretanje Apachea pri pokretanju poslužitelja (Automatski omogućeno prilikom instalacije):

sudo systemctl enable apache2

Kako ažurirati Apache

Da biste ažurirali Apache u budućnosti, to se radi s naredbom koju ste koristili da provjerite je li vaš sustav ažuriran. Napomena, uvijek stvarajte sigurnosne kopije ili slike ako imate Apache servis koji pokreće kritične usluge. Obično je prilično sigurno nadograditi, ali ponekad se mogu pojaviti greške kao i svaka nadogradnja softvera.

Za ažuriranje Apachea koristite sljedeću naredbu:

sudo apt update

Ako je dostupna nadogradnja Apachea, upotrijebite naredbu:

sudo apt upgrade

Oglas


Kako ukloniti (deinstalirati) Apache

Da biste uklonili Apache ako ga više ne koristite, to se može učiniti pomoću sljedeće naredbe:

sudo apt autoremove apache2 --purge

Ova naredba također će ukloniti sve neiskorištene ovisnosti koje ste dobili s instalacijom.

Komentari i zaključak

U tutorialu ste naučili kako instalirati Apache 2 bilo koristeći Ubuntu zadano spremište ili preporučeni ažurirani Apache 2 koristeći PPA od Ondřeja Surýa. Sve u svemu, Apache je desetljećima bio najčešće korišteni poslužitelj web aplikacija na svijetu. Međutim, Nginx je konačno tek malo prestigao vodstvo. Apache je još uvijek jedna od najrazvijenijih i najpriznatijih web aplikacija, posebno s combing LAMP stogom, koji se često koristi za pozadinske web poslužitelje. Naći ćete više prijateljskih opcija za Apache od Nginxa, što će novije korisnike navesti da uđu u hosting svog web poslužitelja, možda da isprobaju Apache preko Nginxa kao prvi korak.

Ostavite komentar