Wednesday, 17 November 2010

web server එකක් (තේරුමක් ඇතුව) මුලසිට හදාගනිමු 1

කලින් ලිපි වලින් කියපු ආකාරයට virtual network එකක් හදාගෙන නම් තියෙන්නෙ, නමෝ විත්තියෙන් web server එකක් configure කරගන්න විදිහ පැහැදිලි කරන්නයි මේ හදන්නෙ. ජාලයක් කියන්නෙ සුපිරි වෙළදසැල් සංකීර්ණයක් නම් පරිශීලකයො කියන්නෙ පාරිභෝගිකයො නම් servers කියන්නෙ විවිධ සේවා ලබාදෙන වෙලදසැල් වගේ. සමහර වෙලදසැල් වල "එකම වහලක් යටින් අම්බානක් සේවා" දෙනකොට සමහර වෙලදසැල් ඒ අයට විශේෂිත එක සේවාවක් ලබාදෙනවා. අපි මේ කරන්න යන්නෙ වෙළදසැල් සංකීර්ණයකින් ගොඩනැහිල්ලක් අරගෙන ඒක සේවා සපයන ස්ථාණයක් බවට පෙරලන ක්‍රියාවලිය පියවරෙන් පියවර කරලා බලන්න.

server OS එක විදිහට අපි පාවිච්චි කරන්න යන්නෙ Redhat කට්ටියගෙම වැඩක්‌වන CentOS කියන මෙහෙයුම් පද්ධතිය. වැඩේට option දෙකක් තියනවා, එකක් තමා centos වෙබ් අඩවියෙන් DVD image එක download කරගෙන සම්පූර්ණයෙන් OS installation එක සිද්ධ කරන එක (ගොඩනැගිල්ලත් තමන්ම හදනවා වගේ). දෙවනි option එක තමා CentOS VM එකක් download කරගෙන ඩෝං ගාලා වැඩ පටන්ගන්න එක (හදපු ගොඩනැහිල්ලක් අරගෙන වැඩ පටන්ගන්න එක) . CentOS 5.3 VM එකක් මෙතනින් torrent එකක් විදිහට බාගන්න පුලුවන්. download උනාට පස්සෙ ගොනුව extract කරලා vmware player එකෙන් .vmx ගොනුව විවෘත කරගන VM එක ධාවනය කරන්නයි තියෙන්නෙ.

cloud server එකක් එහෙම මිලදී ගන්නවනම් මෙන්න මේ ආකාරයේ ස්ථාපණතක් සහිත server එකක් සහ ඒකට username/password තමයි ලැබෙන්නෙ. දැන් කරන්න තියෙන්නෙ අලුත ගත්ත ගොඩනැගිල්ල වෙළදසැලක් බවට පෙරලන ක්‍රියාවලිය. මුලින්ම බලමු මේ VM එකේ IP එක මොකද්ද කියලා. ඔය VM එකක් විදියට ලබාගත්ත ස්ථාපණය සදහා root මුරපදය barebone ලෙසයි ලබාදීලා තියෙන්නෙ. log වෙලා ipconfig දීලා IP එක බලාගන්න දන්නවනෙ. මෙතන ඉදලා අපි VM එක අතින්වත් අල්ලන්න බලාපොරොත්තුවක් නෑ. cloud server එකක් ගත්තම අපිට server එක ලගට යන්න දෙන්නෙ නෑ නෙ. ip එකයි username/password විතරනෙ දෙන්නෙ. අපි මේ VM එකටත් ඒ විදිහටයි සලක්න යන්නෙ.

දැන් ගන්න shell එක ඔයාගෙ host මෙහෙයුම් පද්ධතියෙ. එතන ඉදලා කලින්‌ බලාගත්තු VM එකේ IP එකට ssh හරහා සම්බන්ධ වෙන්න. වැඩේ සරලයි

ssh root@ < VM එකේ IP එක >

ssh root@192.168.11.128

පලවෙනි වතාවට මේ විධානය දුන්නම මෙන්න මේ වගේ පනිවිඩයක් පෙන්වයි.
The authenticity of host '192.168.11.128 (192.168.11.128)' can't be established.
RSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Are you sure you want to continue connecting (yes/no)?

yes කියලා type කරලා enter කලාම root සදහා මුරපදය අහයි. මුරපදය ලබාදුන්නම අපූරුවට server එකට shell එකක් ලැබෙනවා. දැන් ඉතින් තියෙන්නෙ වැඩ පටන්ගන්න. අපි web server එක විදිහට පාවිච්චි කරන්න යන්නෙ කාටත්‌පුරුදු apache. ස්ථාපණය බොහොම සරලයි. CentOS, Fedora වල yum කියන්නෙ ubuntu වල apt-get වගේ package manager එකකට. syntax එක සුපුරුදු විදියම තමා.

yum install httpd mod_ssl

ගනන් හදලා කරලා මෙච්චර මෙච්චර download කරන්න තියනවා 'හා ද?' කියලා අහපුවම 'හා' කියලා enter කරන්න.

shell එක ලැබිලා තියෙන්නෙ root විදියට නිසා sudo පාවිච්චි කරන්න උවමනාවක් නෑ කියලා දන්නවනෙ ;) ඔය විධානය execute වෙලා ඉවර උනහම ඔයාගෙ VM එක apache run වෙන server එකක්. apache run කරන්න මේ විදිහට විධානය ලබාදෙන්න

/etc/init.d/httpd start

ඔය /etc/init.d/ folder එක කියන්නෙ windows වල services window එක වගේ තැනක්. උදාහරණයක්‌විදිහට apache සේවාව නවත්වන්න නම් /etc/init.d/httpd ඉදිරිට start වෙනුවට stop කියලා ලබාදෙන්න තියෙන්නෙ. ඒ වග restart සහ status වලින් කෙරෙන දේ ගැන හිතාගන්න පුලුවන් නේද? (බෑ නම් කරලා බලන්න ;) )

web service එක ධාවනය උනාට විතරක් මදි. දොර ඉස්සරහා ඉන්න මුරකාරයගෙ වැඩේ කඩේට එබිකම්‌ කරන්න එන ඈයන්ව, අරව මේවා අහගෙන එන අයව එලවන එකනෙ. ඉතින්‌ මුරකාරයට කියන්න ඕනා දැන්‌ ඉදලා web සේවාව ඉල්ලන් එන අයව ඇතුලට ගන්න කියලා. web සේවාව සපයන්නෙ port 80 තුලින් කියලා දන්නවනෙ? එහෙනම් firewall එකේ port 80 විවෘත කරමු.

iptables -I RH-Firewall-1-INPUT -p tcp --dport 80 -j ACCEPT

iptables කියන්නෙ අපේ firewall මෘදුකාංගය. ඔන්න ඔය විදිහට අපි එයාට කිව්වම web සේවා හොයන් එන කට්ටියව ඇතුලට ගන්න කියලා, වැඩේගොඩ.

දැන් ඔයාගෙ browser එක අරගෙන VM එකේ IP එක ලබාදීලා‌බලන්න.



ඔය වගේ පිටුවක් ලැබුනම ඒකෙ තේරුම මොකද්ද කියලා අමුතුවෙන් කියන්න ඕනෙ නෑ නෙ. ඔයාගෙ web server එක අපූරුවට up and runing. (කරුමෙකට හරි ඔය පිටුව ආවෙ නැතිනම් /etc/init.d/httpd restart දෙන්න) එහෙමයි කියලා පැත්තකට වෙන්න විදිහක් නෑ. ඇයි, අනිත් configuration කරන්නෙ පොලිසියෙන් ඈ?

මුලින්ම server එක restart කරපුවාව apache ඉබේම ධාවනය වෙන්න හදන්න එපායැ. server එක restart කරන හැම සැරේම services අතින් start කරන්න ගියොත් වෙන වැඩක් නැති වෙයි.

/sbin/chkconfig httpd on

බඩු වැඩද කියලා check කරලා බලන්නෙ මෙහෙම

/sbin/chkconfig --list httpd


web server එකකට නැතිවම බැරි ඩබලක් නෙ php සහ mysql කියන්නෙ. ඔය දෙක දාගන්න හැටි සහ httpd.conf ගොනුවෙ අපිට උවමනා විදිහට වෙනස්කම් කරන හැටි ඊලග ලිපියෙන් බලමු. 

links
VM ටොරන්ට් එකේ සැබෑ හිමිකරු
http://office.bensoft.com/minCentos53/

6 comments:

  1. පාවහන් 1000 කට බුදුවෙයන් හැකර් මහත්තයෝ...මැක්කා ලිපිය..!! :D

    ReplyDelete
  2. ඇන්ත්‍රැක්ස් අයියට ජය වේවා.......එලෝම එළ

    ReplyDelete
  3. වැදගත් ලිපියක් !!

    ReplyDelete
  4. ප්‍රතිවාර දැක්වුවාට බොහොම ඉස්තූතියි.

    ReplyDelete
  5. 1 කොටස කියෙව්වා.. Proceed to 2 කොටස.. :D

    ReplyDelete
  6. අම්මපා.. මේක ඉස්තරම් හොඳේ......

    ReplyDelete