Kako osigurati Apache s besplatnim Let's Encrypt SSL certifikatom na Ubuntu i Debianu


Imate novo registrovano ime domene i vaš web server radi sa SSL Self-Signed Certificate koji ste izdali i koji uzrokuje glavobolje vašim klijentima dok posjećuju domenu zbog grešaka koje je generirao certifikat? Imate ograničen budžet i ne možete si priuštiti kupovinu certifikata koji je izdao pouzdani CA? Tada dolazi na scenu softver Let’s Encrypt i spašava dan.

Ako želite da instalirate Let's Encrypt za Apache ili Nginx na RHEL, CentOS, Fedora ili Ubuntu i Debian, slijedite ove vodiče u nastavku:

Postavite Let’s Encrypt za siguran Apache na RHEL i CentOS 7/6

Postavite Let’s Encrypt za siguran Nginx na Ubuntu i Debianu

Let's Encrypt je Certificate Authority (CA) koji vam olakšava stjecanje besplatnih SSL/TLS certifikata potrebnih za vaše server za siguran rad, čineći neometano iskustvo pretraživanja za vaše korisnike, bez ikakvih grešaka.

Testiranje uzorka okruženja

Svi koraci potrebni za generiranje certifikata su uglavnom automatizirani za Apache web server. Međutim, uprkos softveru vašeg web servera, neki koraci moraju biti urađeni ručno, a certifikati moraju biti ručno instalirani, posebno u slučaju da sadržaj vaše web stranice opslužuje Nginx demon.

Ovaj vodič će vas uputiti kako možete instalirati softver Let's Encrypt na Ubuntu ili Debian, generirati i dobiti besplatni certifikat za svoju domenu i kako možete ručno instalirati certifikat na Apache i Nginx web servere.

Zahtjevi

  1. Javno registrovano ime domene sa važećim A zapisima koji upućuju na vanjsku IP adresu vašeg servera. U slučaju da je vaš server iza firewall-a, preduzmite potrebne mjere kako biste osigurali da vaš server bude dostupan širom riječi sa interneta dodavanjem pravila za prosljeđivanje portova na strani rutera.
  2. Apache web server je instaliran sa omogućenim SSL modulom i virtuelnim hostingom, u slučaju da hostujete nekoliko domena ili poddomena.

Korak 1: Instalirajte Apache i omogućite SSL modul

1. Ako nemate već instaliran Apache web server na vašem računaru, izdajte sljedeću naredbu za instalaciju apache demona.

sudo apt-get install apache2

2. Aktivacija SSL modula za Apache web server na Ubuntu ili Debianu je prilično jednostavna. Omogućite SSL modul i aktivirajte apache zadani SSL virtualni host izdavanjem sljedećih naredbi:

sudo a2enmod ssl
sudo a2ensite default-ssl.conf
sudo service apache2 restart
or
sudo systemctl restart apache2.service

Posjetioci sada mogu pristupiti imenu vaše domene putem HTTPS protokola. Međutim, budući da vaš samopotpisani certifikat servera ne izdaje pouzdano tijelo za izdavanje certifikata, u njihovim pretraživačima će se prikazati upozorenje o grešci kao što je ilustrovano na donjoj slici.

https://yourdomain.com

Korak 2: Instalirajte besplatni Let’s Encrypt Client

3. Da biste instalirali softver Let’s Encrypt na vaš server morate imati paket git instaliran na vašem sistemu. Izdajte sljedeću naredbu da instalirate softver git:

sudo apt-get -y install git

4. Zatim odaberite direktorij iz svoje sistemske hijerarhije gdje želite klonirati Encrypt git spremište. U ovom vodiču ćemo koristiti /usr/local/ direktorij kao instalacijsku stazu za Let’s Encrypt.

Prebacite se na /usr/local direktorij i instalirajte letsencrypt klijent izdavanjem sljedećih naredbi:

cd /usr/local
sudo git clone https://github.com/letsencrypt/letsencrypt

Korak 4: Generirajte SSL certifikat za Apache

5. Proces dobijanja SSL sertifikata za Apache je automatizovan zahvaljujući Apache dodatku. Generirajte certifikat izdavanjem sljedeće naredbe protiv imena vašeg domena. Navedite ime svoje domene kao parametar zastavici -d.

cd /usr/local/letsencrypt
sudo ./letsencrypt-auto --apache -d your_domain.tld

Na primjer, ako vam je potreban certifikat za rad na više domena ili poddomena, dodajte ih sve koristeći -d zastavicu za svaki dodatni važeći DNS zapis iza osnovnog imena domene.

sudo ./letsencrypt-auto --apache -d your_domain.tld  -d www. your_domain.tld 

6. Prihvatite licencu, unesite adresu e-pošte za oporavak i odaberite da li klijenti mogu pretraživati vašu domenu koristeći oba HTTP protokola (sigurni i nesigurni) ili preusmjeriti sve nesigurne zahtjeve na HTTPS.

7. Nakon što se proces instalacije uspješno završi, na vašoj konzoli se prikazuje poruka s čestitkom koja vas obavještava o datumu isteka i kako možete testirati konfiguraciju kao što je ilustrovano na snimcima ekrana ispod.

Sada biste trebali moći pronaći svoje datoteke certifikata u /etc/letsencrypt/live direktoriju s jednostavnim popisom direktorija.

sudo ls /etc/letsencrypt/live

8. Konačno, da provjerite status vašeg SSL certifikata posjetite sljedeći link. Zamijenite naziv domene u skladu s tim.

https://www.ssllabs.com/ssltest/analyze.html?d=your_domain.tld&latest

Također, posjetitelji sada mogu pristupiti imenu vašeg domena koristeći HTTPS protokol bez ikakvih grešaka u njihovim web pretraživačima.

Korak 4: Automatsko obnavljanje omogućava šifriranje certifikata

9. Prema zadanim postavkama, certifikati koje izdaje Let’s Encrypt autoritet vrijede 90 dana. Da biste obnovili certifikat prije datuma isteka, morate ručno ponovo pokrenuti klijenta koristeći točne oznake i parametre kao ranije.

sudo ./letsencrypt-auto --apache -d your_domain.tld

Ili u slučaju više poddomena:

sudo ./letsencrypt-auto --apache -d your_domain.tld  -d www. your_domain.tld

10. Proces obnavljanja certifikata može se automatizirati da se pokrene za manje od 30 dana prije datuma isteka korištenjem Linux rasporeda cron demona.

sudo crontab -e

Dodajte sljedeću naredbu na kraj crontab datoteke koristeći samo jedan red:

0 1 1 */2 * cd /usr/local/letsencrypt && ./letsencrypt-auto certonly --apache --renew-by-default --apache -d domain.tld >> /var/log/domain.tld-renew.log 2>&1

11. Detalji o konfiguracijskoj datoteci vaše domene za obnovu za softver Let’s Encrypt mogu se pronaći u direktoriju /etc/letsencrypt/renewal/.

cat /etc/letsencrypt/renewal/caeszar.tk.conf

Također biste trebali provjeriti datoteku /etc/letsencrypt/options-ssl-apache.conf da vidite novu SSL konfiguracijsku datoteku za Apache web server.

12. Također, dodatak Let’s encrypt apache mijenja neke fajlove u konfiguraciji vašeg web servera. Da biste provjerili koji su fajlovi izmijenjeni, navedite sadržaj direktorija /etc/apache2/sites-enabled.

ls /etc/apache2/sites-enabled/
sudo cat /etc/apache2/sites-enabled/000-default-le-ssl.conf

To je sve za sada! U sljedećoj seriji tutorijala govorit ćemo o tome kako možete dobiti i instalirati certifikat Let's Encrypt za Nginx web server na Ubuntu i Debian< i na CentOS također.