Giunsa ang Pag-secure sa Apache nga adunay Libre nga Lets Encrypt SSL Certificate sa Ubuntu ug Debian


Naa kay bag-ong rehistrado nga domain name ug ang imong web server naglihok gamit ang SSL Self-Signed Certificate nga gi-isyu nimo nga maoy hinungdan sa labad sa ulo sa imong mga kliyente samtang sila mibisita sa domain tungod sa certificate's generated errors? Limitado ang imong badyet ug dili ka makapalit ug sertipiko nga gi-isyu sa usa ka kasaligan nga CA? Kini ang panahon nga ang Let's Encrypt software moabut sa eksena ug makaluwas sa adlaw.

Kung nangita ka nga i-install ang Let's Encrypt para sa Apache o Nginx sa RHEL, CentOS, Fedora o Ubuntu ug Debian, sunda kini nga mga giya sa ubos:

Ang Let's Encrypt kay usa ka Certificate Authority (CA) nga nagpadali kanimo sa pag-angkon og libre nga SSL/TLS nga mga sertipiko nga gikinahanglan para sa imong server nga modagan nga luwas, nga naghimo sa usa ka hapsay nga kasinatian sa pag-browse alang sa imong mga tiggamit, nga walay bisan unsang mga sayup.

Ang tanan nga mga lakang nga gikinahanglan aron makamugna usa ka sertipiko, kasagaran, awtomatiko alang sa Apache webserver. Bisan pa, bisan pa sa imong software sa web server, ang pipila ka mga lakang kinahanglan nga himuon nga mano-mano ug ang mga sertipiko kinahanglan nga mano-mano nga ma-install, labi na kung ang sulud sa imong website gisilbihan sa Nginx daemon.

Kini nga panudlo maggiya kanimo kung giunsa nimo ma-install ang Let's Encrypt software sa Ubuntu o Debian, paghimo ug pagkuha usa ka libre nga sertipiko alang sa imong domain ug kung giunsa nimo mano-mano nga ma-install ang sertipiko sa Apache ug Nginx webservers.

  1. Usa ka publikong rehistrado nga domain name nga adunay balido nga A nga mga rekord aron itudlo balik sa imong server nga external IP Address. Kung ang imong server naa sa luyo sa firewall, buhata ang kinahanglan nga mga lakang aron masiguro nga ang imong server ma-access sa tibuuk nga pulong gikan sa internet pinaagi sa pagdugang mga lagda sa port forward sa kilid sa router.
  2. Naka-install ang Apache web server gamit ang SSL module nga naka-enable ug naka-enable ang virtual hosting, kung mag-host ka og daghang domain o subdomains.

Lakang 1: I-install ang Apache ug I-enable ang SSL Module

1. Kung wala kay Apache webserver nga na-install na sa imong makina isyu ang mosunod nga sugo sa pag-instalar sa apache daemon.

$ sudo apt-get install apache2

2. Ang pagpaaktibo sa SSL module para sa Apache webserver sa Ubuntu o Debian dali ra kaayo. I-enable ang SSL module ug i-activate ang apache default SSL virtual host pinaagi sa pag-isyu sa ubos nga mga sugo:

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

Ang mga bisita maka-access na sa imong domain name pinaagi sa HTTPS protocol. Bisan pa, tungod kay ang imong server nga gipirmahan sa kaugalingon nga sertipiko wala gihatag sa usa ka kasaligan nga awtoridad sa sertipiko usa ka alerto sa sayup ang ipakita sa ilang mga browser sama sa gihulagway sa imahe sa ubos.

https://yourdomain.com

Lakang 2: I-install ang Libre nga Let's Encrypt Client

3. Aron ma-install ang Let's Encrypt software sa imong server kinahanglan nimo nga ma-install ang git package sa imong sistema. I-isyu ang mosunod nga sugo aron ma-install ang git software:

$ sudo apt-get -y install git

4. Sunod, pagpili og direktoryo gikan sa imong sistema nga hierarchy diin gusto nimong i-clone ang Let's Encrypt git repository. Niini nga panudlo atong gamiton ang /usr/local/ nga direktoryo isip agianan sa pag-instalar para sa Let's Encrypt.

Pagbalhin sa /usr/local nga direktoryo ug i-install ang letsencrypt nga kliyente pinaagi sa pag-isyu sa mosunod nga mga sugo:

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

Lakang 4: Paghimo usa ka Sertipiko sa SSL alang sa Apache

5. Ang proseso sa pagkuha og SSL Certificate para sa Apache automated salamat sa Apache plugin. Paghimo sa sertipiko pinaagi sa pag-isyu sa mosunod nga sugo batok sa imong domain name. Ihatag ang imong domain name isip parameter sa -d flag.

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

Pananglitan, kung kinahanglan nimo ang sertipiko aron molihok sa daghang mga dominyo o subdomain idugang silang tanan gamit ang bandila nga -d alang sa matag dugang nga balido nga mga rekord sa DNS pagkahuman sa base nga ngalan sa domain.

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

6. Pag-uyon sa lisensya, pagsulod sa usa ka email address alang sa pagbawi ug pagpili kung ang mga kliyente maka-browse sa imong domain gamit ang duha nga mga protocol sa HTTP (secure ug dili sigurado) o i-redirect ang tanan nga dili luwas nga mga hangyo sa HTTPS.

7. Human mahuman ang proseso sa pag-install nga malampuson usa ka mensahe sa pahalipay ang gipakita sa imong console nga nagpahibalo kanimo bahin sa petsa sa pag-expire ug kung giunsa nimo masulayan ang pagsumpo sama sa gihulagway sa mga screenshot sa ubos.

Karon kinahanglan nimo nga makit-an ang imong mga file sa sertipiko sa direktoryo nga /etc/letsencrypt/live nga adunay yano nga listahan sa direktoryo.

$ sudo ls /etc/letsencrypt/live

8. Sa katapusan, aron mapamatud-an ang kahimtang sa imong SSL Certificate bisitaha ang mosunod nga link. Ilisan ang ngalan sa domain sumala niana.

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

Usab, ang mga bisita maka-access na sa imong domain name gamit ang HTTPS protocol nga walay bisan unsang sayup nga makita sa ilang mga web browser.

Lakang 4: Auto Renew Lets Encrypt Certificates

9. Sa kasagaran, ang mga sertipiko nga gi-isyu sa Let's Encrypt nga awtoridad balido sulod sa 90 ka adlaw. Aron mabag-o ang sertipiko sa wala pa ang petsa sa pag-expire kinahanglan nimo nga mano-mano nga modagan ang kliyente pag-usab gamit ang eksaktong mga bandila ug mga parameter sama sa una.

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

O sa kaso sa daghang mga subdomain:

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

10. Ang proseso sa pag-renew sa sertipiko mahimong automated nga modagan sa ubos sa 30 ka adlaw sa dili pa ang expiration date pinaagi sa paggamit sa Linux schedule cron daemon.

$ sudo crontab -e

Idugang ang mosunod nga sugo sa katapusan sa crontab file gamit ang usa ka linya lamang:

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. Ang mga detalye bahin sa imong renewal domain configuration file para sa Let's Encrypt software makita sa /etc/letsencrypt/renewal/ directory.

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

Kinahanglang susihon usab nimo ang file /etc/letsencrypt/options-ssl-apache.conf aron makita ang bag-ong SSL configuration file para sa Apache webserver.

12. Usab, Atong i-encrypt ang apache plugin nag-usab sa pipila ka mga file sa imong webserver configuration. Aron masusi kung unsa nga mga file ang giusab, ilista ang sulod sa /etc/apache2/sites-enabled nga direktoryo.

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

Kana lang sa pagkakaron! Sa sunod nga serye sa mga tutorial maghisgot kung giunsa nimo makuha ug i-install ang usa ka Let's Encrypt nga sertipiko alang sa Nginx webserver sa Ubuntu ug Debian ug sa CentOS usab.