ലിനക്സിൽ കാഡി ഉപയോഗിച്ച് HTTPS ഉപയോഗിച്ച് ഒരു വെബ്സൈറ്റ് എങ്ങനെ ഹോസ്റ്റ് ചെയ്യാം


ക്ലയന്റിനും സെർവറിനുമിടയിൽ HTTP അഭ്യർത്ഥനകൾ പ്രോസസ്സ് ചെയ്യുന്നതിനായി രൂപകൽപ്പന ചെയ്ത സെർവർ സൈഡ് ആപ്ലിക്കേഷനാണ് വെബ് സെർവർ. HTTP എന്നത് അടിസ്ഥാനപരവും വ്യാപകമായി ഉപയോഗിക്കുന്നതുമായ നെറ്റ്uവർക്ക് പ്രോട്ടോക്കോൾ ആണ്.

അപ്പാച്ചെ എച്ച്ടിടിപി സെർവർ ഇന്ന് വെബ് എന്താണെന്ന് രൂപകൽപ്പന ചെയ്യുന്നതിൽ ഒരു പ്രധാന പങ്ക് വഹിച്ചു. ഇതിന് മാത്രം 37.3% വിപണി വിഹിതമുണ്ട്. 32.4% വിപണി വിഹിതമുള്ള Nginx പട്ടികയിൽ രണ്ടാം സ്ഥാനത്താണ്. Microsoft IIS, LiteSpeed എന്നിവ യഥാക്രമം 7.8%, 6.9% വിപണി വിഹിതമുള്ള 3, 4 എന്നീ നമ്പറുകളിൽ വരുന്നു.

ഈയിടെ ഞാൻ കാഡി എന്ന വെബ് സെർവർ കണ്ടു. ഞാൻ അതിന്റെ സവിശേഷതകളെ കുറിച്ച് അന്വേഷിക്കാൻ ശ്രമിക്കുകയും ടെസ്റ്റിംഗിലേക്ക് വിന്യസിക്കുകയും ചെയ്തപ്പോൾ, അത് അതിശയകരമാണെന്ന് ഞാൻ പറയണം. പോർട്ടബിൾ ആയതും കോൺഫിഗറേഷൻ ഫയലുകളൊന്നും ആവശ്യമില്ലാത്തതുമായ ഒരു വെബ് സെർവർ. ഇത് വളരെ രസകരമായ ഒരു പ്രോജക്റ്റ് ആണെന്ന് ഞാൻ കരുതി, അത് നിങ്ങളുമായി പങ്കിടാൻ ആഗ്രഹിക്കുന്നു. ഇവിടെ ഞങ്ങൾ കാഡിക്ക് ഒരു ശ്രമം നടത്തി!

കോൺഫിഗർ ചെയ്യാനും ഉപയോഗിക്കാനും എളുപ്പമുള്ള ഒരു അപ്പാച്ചെ വെബ് സെർവറിനുള്ള ബദലാണ് കാഡി. മാത്യു ഹോൾട്ട് - കാഡിയുടെ പ്രൊജക്റ്റ് ലീഡർ അവകാശപ്പെടുന്നത് കാഡി ഒരു പൊതു-ഉദ്ദേശ്യ വെബ്uസെർവറാണെന്നും മനുഷ്യർക്കായി രൂപകൽപ്പന ചെയ്uതതാണെന്നും ഇത് ഒരുപക്ഷേ ഇത്തരത്തിലുള്ള ഒരേയൊരു വെബ്uസെർവറാണെന്നും അവകാശപ്പെടുന്നു.

ലെറ്റ്സ് എൻക്രിപ്റ്റ് ഉപയോഗിച്ച് SSL/TLS സർട്ടിഫിക്കറ്റുകൾ സ്വയമേവ സ്വന്തമാക്കാനും പുതുക്കാനും കഴിയുന്ന ആദ്യത്തെ വെബ് സെർവറാണ് കാഡി.

  1. HTTP/2 ഉപയോഗിച്ച് വേഗത്തിലുള്ള HTTP അഭ്യർത്ഥനകൾ.
  2. കുറഞ്ഞ കോൺഫിഗറേഷനും തടസ്സരഹിത വിന്യാസവും ഉള്ള കഴിവുള്ള വെബ് സെർവർ.
  3. ഇന്റർനെറ്റിലൂടെ ആശയവിനിമയം നടത്തുന്ന ആപ്ലിക്കേഷനുകളും ഉപയോക്താക്കളും തമ്മിലുള്ള എൻക്രിപ്ഷൻ TLS എൻക്രിപ്ഷൻ ഉറപ്പാക്കുന്നു. നിങ്ങൾക്ക് നിങ്ങളുടെ സ്വന്തം കീകളും സർട്ടിഫിക്കറ്റുകളും ഉപയോഗിക്കാം.
  4. വിന്യസിക്കാൻ/ഉപയോഗിക്കാൻ എളുപ്പമാണ്. ഒരൊറ്റ ഫയൽ മാത്രം, ഒരു പ്ലാറ്റ്uഫോമിലും ആശ്രിതത്വമില്ല.
  5. ഇൻസ്റ്റാളേഷൻ ആവശ്യമില്ല.
  6. പോർട്ടബിൾ എക്സിക്യൂട്ടബിളുകൾ.
  7. ഒന്നിലധികം സിപിയു/കോറുകൾ റൺ-ഓൺ ചെയ്യുക.
  8. വിപുലമായ വെബ്uസോക്കറ്റ് സാങ്കേതികവിദ്യ - ബ്രൗസറും സെർവറും തമ്മിലുള്ള സംവേദനാത്മക ആശയവിനിമയ സെഷൻ.
  9. സെർവർ മാർക്ക്ഡൗൺ പ്രമാണങ്ങൾ.
  10. ഏറ്റവും പുതിയ IPv6 നുള്ള പൂർണ്ണ പിന്തുണ.
  11. ഒരു ഇഷ്uടാനുസൃത ഫോർമാറ്റിൽ ഒരു ലോഗ് സൃഷ്uടിക്കുന്നു.
  12. FastCGI, റിവേഴ്സ് പ്രോക്സി, റീറൈറ്റും റീഡയറക്uടുകളും, ക്ലീൻ URL, Gzip കംപ്രഷൻ, ഡയറക്uടറി ബ്രൗസിംഗ്, വെർച്വൽ ഹോസ്റ്റുകൾ, ഹെഡറുകൾ എന്നിവ സെർവ് ചെയ്യുക.
  13. അറിയപ്പെടുന്ന എല്ലാ പ്ലാറ്റ്uഫോമിനും ലഭ്യമാണ് - Windows, Linux, BSD, Mac, Android.

  1. പരമ്പരാഗത ശൈലിയിലല്ല, 2020-ൽ ആയിരിക്കണം വെബിൽ സേവനം നൽകാനാണ് കാഡി ലക്ഷ്യമിടുന്നത്.
  2. ഇത് രൂപകൽപ്പന ചെയ്uതിരിക്കുന്നത് HTTP അഭ്യർത്ഥനകൾ മാത്രമല്ല, മനുഷ്യർക്കും നൽകാനാണ്.
  3. ഏറ്റവും പുതിയ ഫീച്ചറുകൾ - HTTP/2, IPv6, Markdown, WebSockets, FastCGI, ടെംപ്ലേറ്റുകൾ, മറ്റ് ഔട്ട്-ഓഫ്-ബോക്സ് സവിശേഷതകൾ എന്നിവയാൽ ലോഡുചെയ്uതു.
  4. ഇൻസ്റ്റാൾ ചെയ്യാതെ തന്നെ എക്സിക്യൂട്ടബിളുകൾ പ്രവർത്തിപ്പിക്കുക.
  5. ഏറ്റവും കുറഞ്ഞ സാങ്കേതിക വിവരണമുള്ള വിശദമായ ഡോക്യുമെന്റേഷൻ.
  6. ഡിസൈനർമാർ, ഡെവലപ്പർമാർ, ബ്ലോഗർമാർ എന്നിവരുടെ ആവശ്യവും എളുപ്പവും കണക്കിലെടുത്ത് വികസിപ്പിച്ചത്.
  7. വെർച്വൽ ഹോസ്റ്റിനെ പിന്തുണയ്ക്കുക - നിങ്ങൾക്ക് ആവശ്യമുള്ളത്ര സൈറ്റുകൾ നിർവചിക്കുക.
  8. നിങ്ങൾക്ക് അനുയോജ്യം - നിങ്ങളുടെ സൈറ്റ് സ്റ്റാറ്റിക് അല്ലെങ്കിൽ ഡൈനാമിക് ആണെങ്കിൽ പ്രശ്നമില്ല. നിങ്ങൾ മനുഷ്യനാണെങ്കിൽ അത് നിങ്ങൾക്കുള്ളതാണ്.
  9. എന്ത് നേടണം, അത് എങ്ങനെ നേടണം എന്നതിലല്ല നിങ്ങൾ ശ്രദ്ധ കേന്ദ്രീകരിക്കുക.
  10. മിക്ക പ്ലാറ്റ്uഫോമുകൾക്കുമുള്ള പിന്തുണയുടെ ലഭ്യത - Windows, Linux, Mac, Android, BSD.
  11. സാധാരണയായി, നിങ്ങൾക്ക് ഓരോ സൈറ്റിനും ഒരു കാഡി ഫയൽ ഉണ്ട്.
  12. നിങ്ങൾ അത്ര കമ്പ്യൂട്ടർ സൗഹൃദമല്ലെങ്കിലും ഒരു മിനിറ്റിൽ താഴെ സമയം കൊണ്ട് സജ്ജീകരിക്കുക.

ഞാൻ ഇത് CentOS സെർവറിലും ഡെബിയൻ സെർവറിലും പരീക്ഷിക്കും, എന്നാൽ അതേ നിർദ്ദേശങ്ങൾ RHEL, ഡെബിയൻ അടിസ്ഥാനമാക്കിയുള്ള വിതരണങ്ങളിലും പ്രവർത്തിക്കുന്നു. രണ്ട് സെർവറുകൾക്കും ഞാൻ 64-ബിറ്റ് എക്സിക്യൂട്ടബിളുകൾ ഉപയോഗിക്കാൻ പോകുന്നു.

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

ലിനക്സിൽ കാഡി വെബ് സെർവറിന്റെ ഇൻസ്റ്റാളേഷൻ

നിങ്ങൾ ഏത് പ്ലാറ്റ്uഫോമിലും ഏത് തരത്തിലുള്ള ആർക്കിടെക്ചറാണ് ഉപയോഗിക്കുന്നതെന്നത് പ്രശ്നമല്ല, കാഡി ബൈനറി പാക്കേജുകൾ ഉപയോഗിക്കാൻ തയ്യാറാണ്, കാണിച്ചിരിക്കുന്നത് പോലെ നിങ്ങളുടെ ഡിഫോൾട്ട് പാക്കേജ് മാനേജർ ഉപയോഗിച്ച് ഇൻസ്റ്റാൾ ചെയ്യാൻ കഴിയുന്നതാണ്.

Fedora അല്ലെങ്കിൽ RHEL/CentOS 8-ന് കീഴിലുള്ള CORP ശേഖരത്തിൽ നിന്ന് ഞങ്ങൾ Caddy വെബ് സെർവറിന്റെ ഏറ്റവും പുതിയ പതിപ്പ് ഇൻസ്റ്റാൾ ചെയ്യും.

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

RHEL/CentOS 7-ൽ ഇനിപ്പറയുന്ന കമാൻഡുകൾ ഉപയോഗിക്കുക.

# 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

കാഡി വെബ് സെർവർ ഇൻസ്റ്റാൾ ചെയ്തുകഴിഞ്ഞാൽ, താഴെ പറയുന്ന systemctl കമാൻഡുകൾ ഉപയോഗിച്ച് നിങ്ങൾക്ക് സേവനത്തിന്റെ സ്റ്റാറ്റസ് ആരംഭിക്കാനും പ്രവർത്തനക്ഷമമാക്കാനും പരിശോധിക്കാനും കഴിയും.

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

ഇപ്പോൾ നിങ്ങളുടെ ബ്രൗസർ തുറന്ന് ഇനിപ്പറയുന്ന വിലാസത്തിലേക്ക് നിങ്ങളുടെ ബ്രൗസർ പോയിന്റ് ചെയ്യുക, നിങ്ങൾക്ക് കാഡി സ്വാഗത പേജ് കാണാൻ കഴിയും.

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

Caddy ഉപയോഗിച്ച് ഡൊമെയ്uനുകൾ സജ്ജീകരിക്കുന്നു

ഒരു ഡൊമെയ്ൻ സജ്ജീകരിക്കുന്നതിന്, ആദ്യം, നിങ്ങളുടെ DNS നിയന്ത്രണ പാനലിലെ ഈ സെർവറിൽ നിങ്ങളുടെ ഡൊമെയ്uനിന്റെ A/AAAA DNS റെക്കോർഡുകൾ പോയിന്റ് ചെയ്യേണ്ടതുണ്ട്. അടുത്തതായി, കാണിച്ചിരിക്കുന്നതുപോലെ /var/www/html എന്ന ഫോൾഡറിന് കീഴിൽ നിങ്ങളുടെ വെബ്uസൈറ്റിനായി \example.com\ ഒരു ഡോക്യുമെന്റ് റൂട്ട് ഡയറക്ടറി സൃഷ്ടിക്കുക.

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

നിങ്ങൾ SELinux ഉപയോഗിക്കുകയാണെങ്കിൽ, വെബ് ഉള്ളടക്കത്തിനായുള്ള ഫയൽ സുരക്ഷാ സന്ദർഭം മാറ്റേണ്ടതുണ്ട്.

# 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

ഇപ്പോൾ /etc/caddy/Caddyfile എന്നതിൽ കാഡി കോൺഫിഗറേഷൻ ഫയൽ തുറന്ന് എഡിറ്റ് ചെയ്യുക.

# vim /etc/caddy/Caddyfile

:80 എന്നതിന് പകരം നിങ്ങളുടെ ഡൊമെയ്uൻ നാമം ഉപയോഗിച്ച് സൈറ്റ് റൂട്ട് /var/www/html/example.com എന്നതിലേക്ക് മാറ്റുക.

കോൺഫിഗറേഷൻ മാറ്റം സംരക്ഷിക്കാൻ Caddy സേവനം വീണ്ടും ലോഡുചെയ്യുക.

# systemctl reload caddy

ഇപ്പോൾ ഏതെങ്കിലും HTML പേജ് സൃഷ്uടിക്കുക (നിങ്ങൾക്ക് സ്വന്തമായി സൃഷ്uടിക്കാം) കൂടാതെ നിങ്ങളുടെ വെബ്uസൈറ്റിനായി ഡോക്യുമെന്റ് റൂട്ട് ഡയറക്uടറിക്ക് കീഴിൽ പേജ് സംരക്ഷിക്കുക.

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

നിങ്ങളുടെ വെബ്uസൈറ്റിന്റെ സൂചിക പേജിലേക്ക് ഇനിപ്പറയുന്ന മാതൃകാ Html കോഡ് ചേർക്കുക.

# 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

ഇപ്പോൾ നിങ്ങളുടെ പേജ് കാണുന്നതിന് നിങ്ങളുടെ സൈറ്റ് വീണ്ടും സന്ദർശിക്കുക.

എല്ലാം ശരിയായി ക്രമീകരിച്ചിട്ടുണ്ടെങ്കിൽ, നിങ്ങളുടെ കണക്ഷൻ സുരക്ഷിതമാണെന്ന് സൂചിപ്പിക്കുന്ന ഒരു HTTPS പ്രോട്ടോക്കോളിലൂടെ നിങ്ങളുടെ ഡൊമെയ്ൻ നൽകും.

ഉപസംഹാരം

നിങ്ങൾ പുതുമുഖങ്ങളാണെങ്കിൽ, കോൺഫിഗറേഷൻ ഉപയോഗിച്ച് നിങ്ങളുടെ കൈകൾ വൃത്തികെട്ടതാക്കാതെ ഒരു വെബ്സെർവർ സജ്ജീകരിക്കാൻ ആഗ്രഹിക്കുന്നുവെങ്കിൽ, ഈ ഉപകരണം നിങ്ങൾക്കുള്ളതാണ്. നിങ്ങൾ അനുഭവപരിചയമുള്ള ഒരു ഉപയോക്താവാണെങ്കിൽപ്പോലും തൽക്ഷണവും ലളിതവുമായ വെബ് സെർവർ കാഡി പരീക്ഷിക്കേണ്ടതാണ്. ഒരു ചെറിയ കോൺഫിഗറേഷൻ ഉപയോഗിച്ച്, നിങ്ങൾക്ക് കൂടുതൽ സങ്കീർണ്ണവും നൂതനവുമായ ഒരു വെബ്സെർവർ സജ്ജീകരിക്കണമെങ്കിൽ ഫോൾഡർ അനുമതി, നിയന്ത്രണ പ്രാമാണീകരണം, പിശക് പേജുകൾ, Gzip, HTTP റീഡയറക്uട് എന്നിവയും മറ്റുള്ളവയും സജ്ജമാക്കാം.

Apache അല്ലെങ്കിൽ Nginx ന് പകരമായി കാഡിയെ എടുക്കരുത്. ഉയർന്ന ട്രാഫിക് ഉൽപ്പാദന അന്തരീക്ഷം കൈകാര്യം ചെയ്യാൻ കാഡി രൂപകൽപ്പന ചെയ്തിട്ടില്ല. നിങ്ങളുടെ ആശങ്ക വേഗതയും വിശ്വാസ്യതയും ആയിരിക്കുമ്പോൾ വേഗത്തിലുള്ള വെബ്uസെർവർ സജ്ജീകരണത്തിനായി ഇത് രൂപകൽപ്പന ചെയ്uതിരിക്കുന്നു.

കാഡി വെബ് സെർവറിന്റെ സമ്പൂർണ്ണ ഉപയോക്തൃ ഗൈഡ്/പൂർണ്ണ ഡോക്യുമെന്റേഷൻ

ഞങ്ങൾ ഈ ഡോക്യുമെന്റേഷൻ കൊണ്ടുവന്നിട്ടുണ്ട്, അത് ദ്രുത അവലോകനവും ഇൻസ്റ്റാളേഷൻ നിർദ്ദേശങ്ങളും ആവശ്യമുള്ളപ്പോഴെല്ലാം ചിത്രങ്ങൾ സഹിതം ലക്ഷ്യമിടുന്നു. പ്രോജക്റ്റിന്റെ എന്തെങ്കിലും ഗുണങ്ങൾ/ദോഷങ്ങൾ അല്ലെങ്കിൽ എന്തെങ്കിലും നിർദ്ദേശങ്ങൾ നിങ്ങൾ കണ്ടാൽ, ഞങ്ങളുടെ അഭിപ്രായ വിഭാഗത്തിൽ നിങ്ങൾക്ക് അത് ഞങ്ങൾക്ക് നൽകാം.

എന്നെ സംബന്ധിച്ചിടത്തോളം ഈ പ്രോജക്റ്റ് വളരെ ചെറുപ്പമാണ്, ഇപ്പോഴും കുറ്റമറ്റ രീതിയിൽ പ്രവർത്തിക്കുകയും ശക്തവും വാഗ്ദാനപ്രദവുമാണെന്ന് തോന്നുന്നു. ഞാൻ കാണുന്ന ഏറ്റവും വലിയ പ്ലസ് പോയിന്റ് കാഡിക്ക് അതിന്റെ കോൺഫിഗറേഷൻ ഫയൽ എല്ലായിടത്തും കൊണ്ടുപോകേണ്ട ആവശ്യമില്ല എന്നതാണ്. Nginx, Lighttpd, vagrant, Websocketd എന്നിവയിൽ ഏറ്റവും മികച്ചത് നൽകാൻ ഇത് ലക്ഷ്യമിടുന്നു. അതെല്ലാം എന്റെ ഭാഗത്തുനിന്നുള്ളതാണ്. Tecmint-ലേക്ക് കണക്uറ്റ് ചെയ്uതിരിക്കുക. അഭിനന്ദനങ്ങൾ