Wéi sécher Apache mat Free Lets Encrypt SSL Certificate op Ubuntu an Debian


Dir hutt en nei registréierten Domain Numm an Äre Webserver funktionnéiert mat engem SSL Self-Signed Certificate deen Dir ausgestallt hutt, wat Kappwéi fir Är Clienten verursaacht wärend se d'Domain besichen wéinst Zertifikat generéiert Feeler? Dir hutt e limitéierten Budget an Dir kënnt Iech net leeschten en Zertifika ze kafen deen vun engem vertrauenswürdege CA ausgestallt gëtt? Dëst ass wann Let's Encrypt Software an d'Szen kënnt a rett den Dag.

Wann Dir sicht Let's Encrypt fir Apache oder Nginx op RHEL, CentOS, Fedora oder Ubuntu an Debian z'installéieren, befollegt dës Guiden hei ënnen:

Let's Encrypt ass eng Certificate Authority (CA) déi Iech erliichtert fir gratis SSL/TLS Zertifikater ze kréien, déi néideg sinn fir datt Äre Server sécher leeft, wat e glat Surferfarung fir Är Benotzer mécht, ouni Feeler.

All déi néideg Schrëtt fir e Certificat ze generéieren si meeschtens automatiséiert fir den Apache Webserver. Wéi och ëmmer, trotz Ärer Webserver Software, mussen e puer Schrëtt manuell gemaach ginn an d'Zertifikater musse manuell installéiert ginn, besonnesch am Fall wou Ären Websäitinhalt vum Nginx Daemon zerwéiert gëtt.

Dësen Tutorial wäert Iech guidéieren wéi Dir Let's Encrypt Software op Ubuntu oder Debian installéiere kënnt, e gratis Zertifika fir Ären Domain generéieren a kritt a wéi Dir den Zertifika manuell op Apache an Nginx Webserver installéiere kënnt.

  1. En ëffentlech registréierten Domain Numm mat gëltege A records fir zréck op Är extern IP Adress vun Ärem Server ze weisen. Am Fall wou Äre Server hannert enger Firewall ass, huelt déi néideg Moossname fir sécherzestellen datt Äre Server Wuertwäit vum Internet zougänglech ass andeems Dir Port Forward Regelen op der Router Säit bäidréit.
  2. Apache Webserver installéiert mam SSL Modul aktivéiert a virtuelle Hosting aktivéiert, am Fall wou Dir e puer Domainen oder Ënnerdomainen host.

Schrëtt 1: Apache installéieren an SSL Modul aktivéieren

1. Wann Dir den Apache Webserver net schonn op Ärer Maschinn installéiert hutt, gitt de folgende Kommando fir den Apache Daemon z'installéieren.

$ sudo apt-get install apache2

2. SSL Modul Aktivéierung fir Apache Webserver op Ubuntu oder Debian et ass ganz einfach. Aktivéiert SSL Modul an aktivéiert Apache Standard SSL virtuelle Host andeems Dir déi folgend Kommandoen ausgëtt:

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

Besucher kënnen elo Zougang zu Ärem Domain Numm iwwer HTTPS Protokoll kréien. Wéi och ëmmer, well Äre Server selwer ënnerschriwwenen Zertifikat net vun enger vertrauter Zertifizéierungsautoritéit ausgestallt gëtt, gëtt eng Fehleralarm op hire Browser ugewisen wéi am Bild hei ënnen illustréiert.

https://yourdomain.com

Schrëtt 2: Installéiere Free Let's Encrypt Client

3. Fir Let's Encrypt Software op Ärem Server z'installéieren musst Dir Git Package op Ärem System installéieren. Gitt de folgende Kommando aus fir Git Software z'installéieren:

$ sudo apt-get -y install git

4. Wielt dann e Verzeechnes vun Ärer Systemhierarchie wou Dir wëllt Klonen Let's Encrypt git Repository. An dësem Tutorial benotze mir /usr/local/ Verzeechnes als Installatiounswee fir Let's Encrypt.

Wiesselt op /usr/local Verzeichnis an installéiere letsencrypt Client andeems Dir déi folgend Kommandoen ausginn:

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

Schrëtt 4: Generéiere engem SSL Zertifikat fir Apache

5. De Prozess fir e SSL Zertifikat fir Apache ze kréien ass automatiséiert duerch Apache Plugin. Generéiert den Zertifika andeems Dir de folgende Kommando géint Ären Domain Numm ausginn. Gitt Ären Domain Numm als Parameter un de -d Fändel.

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

Zum Beispill, wann Dir den Zertifika braucht fir op multiple Domainen oder Subdomains ze bedreiwen, addéiere se all mat dem -d Fändel fir all extra gëlteg DNS records nom Basis Domain Numm.

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

6. Gitt d'Lizenz averstanen, gitt eng E-Mailadress fir d'Erhuelung a wielt ob d'Clienten Är Domain benotze kënnen andeems se HTTP-Protokoller benotzen (sécher an onsécher) oder all net-sécher Ufroen op HTTPS redirectéieren.

7. Nodeems den Installatiounsprozess erfollegräich ofgeschloss ass, gëtt e Gratulatiounsmessage op Ärer Konsole ugewisen, déi Iech iwwer den Verfallsdatum informéiert a wéi Dir d'Konfiguratioun testen kann, wéi op de Screenshots illustréiert.

Elo sollt Dir fäeg sinn Är Zertifikatdateien am /etc/letsencrypt/live Verzeechnes mat enger einfacher Verzeechneslëscht ze fannen.

$ sudo ls /etc/letsencrypt/live

8. Endlech, fir de Status vun Ärem SSL Certificate z'iwwerpréiwen, besicht de folgende Link. Ersetzen den Domain Numm deementspriechend.

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

Och d'Besucher kënnen elo Zougang zu Ärem Domainnumm mam HTTPS Protokoll kréien ouni datt e Feeler an hire Webbrowser erschéngt.

Schrëtt 4: Auto Erneierung léisst d'Zertifikater verschlësselen

9. Par défaut sinn Certificaten ausgestallt vun Let's Encrypt Autoritéit valabel fir 90 Deeg. Fir den Zertifika virum Verfallsdatum ze erneieren, musst Dir de Client manuell erëm mat de genaue Fändelen a Parameteren lafen wéi virdrun.

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

Oder am Fall vu multiple Subdomains:

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

10. Den Zertifikat Erneierungsprozess kann automatiséiert ginn fir a manner wéi 30 Deeg virum Verfallsdatum ze lafen andeems Dir Linux Stonneplang Cron Daemon benotzt.

$ sudo crontab -e

Füügt de folgende Kommando um Enn vun der Crontab Datei mat nëmmen enger Zeil:

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. Detailer iwwer Är Erneierung Domain Konfiguratiounsdatei fir Let's Encrypt Software kënnen am /etc/letsencrypt/renewal/ Verzeechnes fonnt ginn.

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

Dir sollt och d'Datei /etc/letsencrypt/options-ssl-apache.conf kontrolléieren fir déi nei SSL Konfiguratiounsdatei fir den Apache Webserver ze gesinn.

12. Och, Loosst eis den Apache Plugin verschlëssele ännert e puer Dateien an Ärer Webserverkonfiguratioun. Fir z'iwwerpréiwen wéi eng Dateie geännert goufen, lëscht den Inhalt vum /etc/apache2/sites-enabled Verzeichnis.

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

Dat ass alles fir elo! An der nächster Serie vun Tutorials wäerten diskutéieren wéi Dir e Let's Encrypt Zertifikat fir Nginx Webserver op Ubuntu an Debian an op CentOS kritt an installéiere kënnt.