Giunsa ang Pag-host sa usa ka Website nga adunay HTTPS Gamit ang Caddy sa Linux


Ang web server usa ka aplikasyon sa server-side nga gidesinyo sa pagproseso sa mga hangyo sa HTTP tali sa kliyente ug server. Ang HTTP mao ang sukaranan ug kaylap nga gigamit nga protocol sa network.

Ang Apache HTTP Server adunay hinungdanon nga papel sa pagdesinyo kung unsa ang web karon. Kini lamang ang adunay bahin sa merkado nga 37.3%. Ang Nginx ikaduha sa lista nga adunay bahin sa merkado nga 32.4%. Ang Microsoft IIS ug LiteSpeed naa sa mga numero 3 ug 4 nga adunay bahin sa merkado nga 7.8% ug 6.9% matag usa.

Bag-ohay lang, nakit-an nako ang usa ka web server nga ginganlag Caddy. Kung gisulayan nako ang pagpangutana bahin sa mga bahin niini ug gi-deploy kini sa pagsulay, kinahanglan nako isulti nga kini katingalahan. Usa ka web server nga madaladala ug wala magkinahanglan og bisan unsang configuration file. Naghunahuna ko nga kini usa ka cool kaayo nga proyekto ug gusto nga ipaambit kini kanimo. Dinhi among gisulayan si Caddy!

Ang Caddy usa ka alternatibo sa usa ka apache web server nga dali i-configure ug gamiton. Si Matthew Holt - Ang lider sa Proyekto sa Caddy nag-angkon nga ang Caddy usa ka webserver nga pangkinatibuk-an, nag-angkon nga gidisenyo alang sa mga tawo ug tingali kini ra ang klase niini.

Ang Caddy mao ra ang una nga web server nga makaangkon ug makabag-o sa mga sertipiko sa SSL/TLS nga awtomatiko gamit ang Let's Encrypt.

  1. Makusog nga HTTP nga mga hangyo gamit ang HTTP/2.
  2. Makapaigo nga Web Server nga adunay pinakagamay nga configuration ug walay hasol nga pagdeploy.
  3. TLS encryption nagsiguro, encryption tali sa komunikasyon nga mga aplikasyon ug mga tiggamit sa Internet. Mahimo nimong gamiton ang imong kaugalingon nga mga yawe ug mga sertipiko.
  4. Sayon i-deploy/gamiton. Usa lang ka file ug walay pagsalig sa bisan unsang plataporma.
  5. Walay instalar nga gikinahanglan.
  6. Mga Portable Executable.
  7. Pagdagan sa daghang mga CPU/Core.
  8. Advanced WebSockets nga teknolohiya – interactive nga sesyon sa komunikasyon tali sa browser ug server.
  9. Server Markdown nga mga dokumento dayon.
  10. Tibuok nga suporta para sa pinakabag-o nga IPv6.
  11. Naghimo ug log sa naandang pormat.
  12. Pag-alagad sa FastCGI, Reverse Proxy, Rewrite ug Redirects, Clean URL, Gzip compression, Directory Browsing, Virtual Hosts, ug Header.
  13. Anaa sa Tanan nga nailhan nga Platform – Windows, Linux, BSD, Mac, Android.

  1. Tumong ni Caddy ang pagserbisyo sa web sama sa angay sa tuig 2020 ug dili tradisyonal nga istilo.
  2. Gidisenyo kini dili lamang sa pag-alagad sa mga hangyo sa HTTP kondili sa mga tawo usab.
  3. Napuno sa Pinakabag-ong mga bahin – HTTP/2, IPv6, Markdown, WebSockets, FastCGI, templates, ug uban pang out-of-box nga mga feature.
  4. Pagdalagan ang mga executable nga wala kinahanglana ang pag-install niini.
  5. Detalyadong dokumentasyon nga adunay pinakagamay nga teknikal nga deskripsyon.
  6. Gipalambo nga hinumdoman ang panginahanglan ug kasayon sa mga Designer, Developers, ug Bloggers.
  7. Suporta ang Virtual Host – Ipasabot ang daghang mga site nga gusto nimo.
  8. Nahiangay alang kanimo - bisan kung ang imong site static o dinamiko. Kung tawo ka para nimo.
  9. Nagpokus ka sa kung unsa ang makab-ot ug dili kung giunsa kini makab-ot.
  10. Availability sa suporta alang sa kadaghanan sa mga platform – Windows, Linux, Mac, Android, BSD.
  11. Kasagaran, aduna kay usa ka Caddy file kada site.
  12. I-set up sa wala’y 1 ka minuto, bisan kung dili ka kaayo mahigalaon sa kompyuter.

Susihon nako kini sa CentOS server, ingon man sa Debian Server, apan ang parehas nga mga panudlo magamit usab sa mga distribusyon nga nakabase sa RHEL ug Debian. Alang sa duha nga server akong gamiton ang 64-bit nga mga executable.

Operating Systems: CentOS 8 and Debian 10 Buster
Caddy Version: v2.0.0

Pag-instalar sa Caddy Web Server sa Linux

Bisan unsa nga plataporma ug unsa nga matang sa arkitektura ang imong gigamit, ang caddy naghatag og andam nga gamiton nga binary nga mga pakete, nga mahimong ma-install gamit ang imong default package manager sama sa gipakita.

Atong i-install ang pinakabag-o nga bersyon sa Caddy web server gikan sa CORP repository ubos sa Fedora o RHEL/CentOS 8.

# dnf install 'dnf-command(copr)'
# dnf copr enable @caddy/caddy
# dnf install caddy

Sa RHEL/CentOS 7 gamita ang mosunod nga mga sugo.

# yum install yum-plugin-copr
# yum copr enable @caddy/caddy
# yum install caddy
$ echo "deb [trusted=yes] https://apt.fury.io/caddy/ /" \
    | sudo tee -a /etc/apt/sources.list.d/caddy-fury.list
$ sudo apt update
$ sudo apt install caddy

Kung na-install na ang caddy web server, mahimo nimong sugdan, mahimo, ug susihon ang kahimtang sa serbisyo gamit ang pagsunod sa mga command systemctl.

# systemctl start caddy
# systemctl enable caddy
# systemctl status caddy

Karon ablihi ang imong browser ug itudlo ang imong browser sa mosunod nga adres ug kinahanglan nimo nga makita ang caddy welcome page.

http://Server-IP
OR
http://yourdomain.com

Pag-set up sa mga Domain gamit ang Caddy

Aron mag-set up og domain, una, kinahanglan nimo nga itudlo ang A/AAAA DNS records sa imong domain niini nga server sa imong DNS control panel. Sunod, paghimo ug dokumento nga root directory para sa imong website \example.com\ ubos sa folder /var/www/html sama sa gipakita.

$ mkdir /var/www/html/example.com

Kung gigamit nimo ang SELinux, kinahanglan nimo nga usbon ang konteksto sa seguridad sa file alang sa sulud sa web.

# chcon -t httpd_sys_content_t /var/www/html/example.com -R
# chcon -t httpd_sys_rw_content_t /var/www/html/example.com -R

Karon ablihi ug usba ang caddy configuration file sa /etc/caddy/Caddyfile.

# vim /etc/caddy/Caddyfile

Ilisan ang :80 sa imong domain name ug usba ang gamut sa site ngadto sa /var/www/html/example.com ingon sa gipakita.

I-reload ang serbisyo sa Caddy aron i-save ang pagbag-o sa configuration.

# systemctl reload caddy

Karon paghimo og bisan unsang HTML nga panid (mahimo nimong maghimo og imong kaugalingon) ug i-save ang panid ubos sa root directory sa dokumento para sa imong website.

# touch /var/www/html/example.com/index.html

Idugang ang mosunod nga sample nga Html code sa index page sa imong website.

# echo '<!doctype html><head><title>Caddy Test Page at TecMint</title></head><body><h1>Hello, World!</h1></body></html>' | sudo tee /var/www/html/index.html

Karon bisitaha pag-usab ang imong site aron makita ang imong panid.

Kung ang tanan husto nga gi-configure, ang imong domain isilbi sa usa ka protocol sa HTTPS nga nagpaila nga luwas ang imong koneksyon.

Konklusyon

Kung bag-o ka ug gusto nga mag-set up sa usa ka webserver nga dili mahugawan ang imong mga kamot sa pag-configure, kini nga himan alang kanimo. Bisan kung ikaw usa ka eksperyensiyado nga tiggamit nga nanginahanglan dali ug yano nga web server nga Caddy angay sulayan. Uban sa usa ka gamay nga pag-configure, mahimo ka usab magtakda sa pagtugot sa folder, pagkontrol sa pagkumpirma, mga panid sa sayup, Gzip, pag-redirect sa HTTP, ug uban pa, kung kinahanglan nimo nga magbutang usa ka labi ka komplikado ug advanced nga webserver.

Ayaw kuhaa ang Caddy isip kapuli sa Apache o Nginx. Ang Caddy wala gidesinyo sa pagdumala sa taas nga palibot sa produksiyon sa trapiko. Gidisenyo kini alang sa usa ka dali nga pag-setup sa webserver kung ang imong kabalaka kay kadali ug kasaligan.

Kompleto nga Giya sa Gumagamit/Bug-os nga Dokumentasyon sa Caddy Web Server

Gidala namon kini nga dokumentasyon nga nagtumong sa dali nga pagrepaso ug mga panudlo sa pag-install nga adunay mga imahe kung kinahanglan. Kung makit-an nimo ang bisan unsang pros/cons sa proyekto o bisan unsang sugyot, mahimo nimo kini ihatag kanamo sa among seksyon sa komento.

Alang kanako kini nga proyekto bata pa kaayo nga nagtrabaho nga wala’y sayup ug ingon kusog ug saad. Ang pinakadako nga dugang nga punto nga akong nakita mao ang caddy dili kinahanglan nga magdala sa iyang configuration file bisan asa. Kini nagtumong sa paghatag sa pinakamaayo sa Nginx, Lighttpd, vagrant, ug Websocketd. Kana tanan gikan sa akong kiliran. Padayon nga konektado sa Tecmint. Kudos