<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tech Buzz</title>
	<atom:link href="http://www.techbuzz.chamiladealwis.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.techbuzz.chamiladealwis.com</link>
	<description>echo $everyday_tech_in_writing;</description>
	<lastBuildDate>Thu, 11 Mar 2010 08:45:59 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Apt-get Update වලදි GPG Error එකක් එනවද? &#124; Fixing Apt-Get Update GPG Error</title>
		<link>http://www.techbuzz.chamiladealwis.com/2010/03/apt-get-update-gpg-error-fix/</link>
		<comments>http://www.techbuzz.chamiladealwis.com/2010/03/apt-get-update-gpg-error-fix/#comments</comments>
		<pubDate>Thu, 11 Mar 2010 08:45:59 +0000</pubDate>
		<dc:creator>පිටස්තරයා</dc:creator>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[apt-get update]]></category>
		<category><![CDATA[යාවත්කාලීන]]></category>
		<category><![CDATA[උබුන්ටු]]></category>
		<category><![CDATA[BADSIG]]></category>
		<category><![CDATA[GPG]]></category>

		<guid isPermaLink="false">http://www.techbuzz.chamiladealwis.com/?p=334</guid>
		<description><![CDATA[උබුන්ටු මෙහෙයුම් පද්ධතිය තුලදි යාවත්කාලීන කිරීම වලට භාවිතා වෙන්නේ apt-get update විධානය. මේ විධානය ලබා දුන්නට පස්සේ කලින් සඳහන් කරලා තියෙන මූලයන්ගෙන් අවශ්‍ය පැකේජ version පරීක්ෂා කරලා බලලා බාගත කරගෙන ඒවා ස්ථාපනය කරන එක. Apt වගේ පැකේජ කළමණාකරන පද්ධතියකින් ඇති වැඩිපුර වාසිය වෙන්නේ අවශ්‍ය dependencies හොයලා බලලා ඒවාත් ස්ථාපනය කරලා දෙන එක. අනිත් එක මේ වගේ අපිට මූලයන් සඳහන් කරන්න පුලුවන්.
මේ [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><img class="aligncenter size-full wp-image-335" title="apt-get-wife" src="http://www.techbuzz.chamiladealwis.com/wp-content/uploads/2010/03/apt-get-wife.png" alt="" width="700" height="240" />උබුන්ටු මෙහෙයුම් පද්ධතිය තුලදි යාවත්කාලීන කිරීම වලට භාවිතා වෙන්නේ apt-get update විධානය. මේ විධානය ලබා දුන්නට පස්සේ කලින් සඳහන් කරලා තියෙන මූලයන්ගෙන් අවශ්‍ය පැකේජ version පරීක්ෂා කරලා බලලා බාගත කරගෙන ඒවා ස්ථාපනය කරන එක. Apt වගේ පැකේජ කළමණාකරන පද්ධතියකින් ඇති වැඩිපුර වාසිය වෙන්නේ අවශ්‍ය dependencies හොයලා බලලා ඒවාත් ස්ථාපනය කරලා දෙන එක. අනිත් එක මේ වගේ අපිට මූලයන් සඳහන් කරන්න පුලුවන්.</p>
<p style="text-align: justify;">මේ පැකේජ නිර්මාණය කරන අය ඒවා තමන්ගෙම කියලා සඳහන් කරන්න පාවිච්චි කරන්නේ Digital signing කියන ක්‍රමවේදය. මෙතනදි පාවිච්චි වෙන්නෙ PKI (Public Key infrastructure) කියන ආරක්ෂක තාක්ෂණය. සාමාන්‍යයෙන් GNU ආශ්‍රිත වැඩ වලදි මේක හැඳින්වෙන්නේ GPG (GNU Privacy Guard) විදියට. PKI වලදි ධූරාවලික ආකෘතියක් භාවිතා කරනවා. GPG වලදි භාවිතා වෙන්නේ වෙබ් (ජාලගත) ආකෘතියක්. මේ ආකෘතිය යටතේ Key වර්ග දෙකක් තියෙනවා. එකක් ප්‍රසිද්ධියේ ලබා ගන්න පුලුවන් Public Key එක. අනිත් එක භාවිත කරන්නා ලඟ ප්‍රවේශමෙන් තබා ගන්න ඕන වෙන් Private Key එක.</p>
<p style="text-align: justify;">Apt-get update මගින් පැකේජ බාගත කරද්දී ඒවා අව්‍යාජ ද කියලා බලන්නේ ඒ පැකේජ වල Public Key එක ආධාරයෙන්. සමහර වෙලාවට මේ Key ආධාරයෙන් කරන පරීක්ෂා කිරීම් වැරදිනම් බාගත කරන එක නවත්තනවා. පහල තියෙන message එකට සමාන ආකාරයේ message එකක් දර්ශනය කරන්න පුලුවන්.</p>
<blockquote><p>W: GPG error: http://archive.canonical.com intrepid Release: The following signatures were invalid: BADSIG 40976EAF437D05B5 Ubuntu Archive Automatic Signing Key</p></blockquote>
<p>මේ ප්‍රශ්නය හදාගන්න අපිට පහල විධාන ලබා දීමෙන් කරගන්න පුලුවන්.</p>
<p>sudo apt-get clean</p>
<p>sudo mv /var/lib/apt/lists /var/lib/apt/lists.old</p>
<p>sudo mkdir -p /var/lib/apt/lists/partial</p>
<p>sudo apt-get clean</p>
<p>sudo apt-get update</p>
<p style="text-align: justify;">/var/lib/apt/lists කියන ඩිරෙක්ටරිය ඇතුලේ තියෙන්නේ පැකේජ අඩංගු රිපෝසිටරි (repository) වල නම් සඳහන් ගොනු ලැයිස්තුවක්. මේ ගොනුවක් cat කරලා බැලුවොත් අපිට දකින්න පුලුවන් update අවශ්‍ය වෙන පැකේජ සහ ඒවාගේ version වල ලැයිස්තුවක් (තවත් විස්තර සහිතව) ඇතුලත් වෙලා තියෙනවා කියලා. අපි මේ ඩිරෙක්ටරිය වෙනස් කිරීමෙන් හඟවන්නේ මේවා නැවත සකස් කර ගන්න කියලා. apt-get මගින් එවිට ඒ ගොනු නැවත සාදාගන්නවා.</p>
<p style="text-align: justify;">Apt-get clean මගින් මෙතෙක් කල් බාගත කරලා තියෙන පැකේජ කෑෂ් එකෙන් මකලා දානවා. එතකොට මුල ඉඳන් නැවත අදාල පැකේජ බාගත කරගන්නවා. මුල ඉඳන් බාගත කිරීමේදී කලින් ඇති වෙලා තිබුන අක්‍රමිකතා මැකිලා යන්න පුලුවන්.</p>
<p style="text-align: justify;">
<p><strong>Bibliography:</strong></p>
<p><a title="Permanent link to How to fix the Ubuntu GPG Error BADSIG" rel="bookmark" href="http://www.ubuntugeek.com/how-to-fix-the-ubuntu-gpg-error-badsig.html">How to fix the Ubuntu GPG Error BADSIG</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.techbuzz.chamiladealwis.com/2010/03/apt-get-update-gpg-error-fix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Root සර්වර් 13ක් ඇයි?</title>
		<link>http://www.techbuzz.chamiladealwis.com/2010/02/why-13-root-servers/</link>
		<comments>http://www.techbuzz.chamiladealwis.com/2010/02/why-13-root-servers/#comments</comments>
		<pubDate>Sat, 06 Feb 2010 19:24:10 +0000</pubDate>
		<dc:creator>පිටස්තරයා</dc:creator>
				<category><![CDATA[DNS]]></category>
		<category><![CDATA[anycast]]></category>
		<category><![CDATA[datagram]]></category>
		<category><![CDATA[IPv4]]></category>
		<category><![CDATA[IPv6]]></category>
		<category><![CDATA[root]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[UDP]]></category>

		<guid isPermaLink="false">http://www.techbuzz.chamiladealwis.com/?p=328</guid>
		<description><![CDATA[DNS ධුරාවලික ආකෘතියේ පලවෙනි මට්ටමේ තියෙන්නේ Root සර්වර්. මුලු ආකෘතියම රඳා පවතින්නේ මේ සර්වර් 13 මත. ඇයි සර්වර් 15ක් හරි 12ක් හරි නොවී 13ක් වුනේ?
DNS query එකක් යැවෙන්නේ UDP හරහා. මේ ප්‍රොටෝකෝලයට අනුව එක් පැකට් එකක් (UDP වලදි පැකට් එකක් හඳුන්වන්නේ Datagram එකක් ලෙසට) බයිට් 512ට වඩා වැඩි වෙන්න බැහැ.
ඊළඟ සැලකිය යුතු කාරණයෙ වෙන්නේ DNS [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://www.techbuzz.chamiladealwis.com/wp-content/uploads/2010/02/snapshot2.jpeg"><img class="aligncenter size-medium wp-image-329" title="Root Servers" src="http://www.techbuzz.chamiladealwis.com/wp-content/uploads/2010/02/snapshot2-300x180.jpg" alt="" width="300" height="180" /></a>DNS ධුරාවලික ආකෘතියේ පලවෙනි මට්ටමේ තියෙන්නේ Root සර්වර්. මුලු ආකෘතියම රඳා පවතින්නේ මේ සර්වර් 13 මත. ඇයි සර්වර් 15ක් හරි 12ක් හරි නොවී 13ක් වුනේ?</p>
<p style="text-align: justify;">DNS query එකක් යැවෙන්නේ UDP හරහා. මේ ප්‍රොටෝකෝලයට අනුව එක් පැකට් එකක් (UDP වලදි පැකට් එකක් හඳුන්වන්නේ Datagram එකක් ලෙසට) බයිට් 512ට වඩා වැඩි වෙන්න බැහැ.</p>
<p style="text-align: justify;">ඊළඟ සැලකිය යුතු කාරණයෙ වෙන්නේ DNS සේවාවේ ගුණාත්මක භාවය. අපි යවන DNS query එක දිග වැඩි වුනොත් error correction වගේ ගොඩක් ක්‍රියාවලින් සිදු කරන්න වෙනවා සැලකිය යුතු මට්ටමේ සේවාවකට. ඒක නිසා මුල් කාලයේදී ගත්ත එක තීරණයක් වුනේ DNS query එකක් එක datagram එකකට වඩා දිග වෙන්න බෑ කියලා.</p>
<p style="text-align: justify;">IPv4 යටතේ (මේ යටතේ IP address එකක් බිට් 32ක ඉඩක් ගන්නවා. උදා : 10.16.108.25) මේ එක datagram එකක් තුලට ඔබ්බවන්න පුලුවන් IP address ප්‍රමාණය වුනේ 13. එතකොට බයිට් 450ට වඩා අඩු ගණනකට එනවා. 512න් ඉතුරු ඉඩ ප්‍රොටෝකෝලයේ අනෙකුත් දත්ත තැන්පත් කරන්න අවශ්‍ය වෙනවා.</p>
<p style="text-align: justify;">මේ හේතුව නිසා තමයි මුලදී Root සර්වර් 13කට එකඟතාවයක් ඇති වෙලා තියෙන්නේ. නමුත් අනාගතයේදී (විශේෂයෙන් IPv6  සම්මත වලදී) මේ ගණන වෙනස් වෙන්න පුලුවන්.</p>
<p style="text-align: justify;">සැලකිය යුතු අනෙක් කාරණය වෙන්නේ භෞතිකව සර්වර් 13ට වඩා තිබීම. IP address 13 යටතේ සර්වර 200කට ආසන්න ප්‍රමාණයක් ලොව පුරාම විසිරිලා තියෙනවා. මේ නිසා වඩාත් ගුණාත්මක වගේම විශ්වාසනීය සේවාවක් සපයන්න මේ සර්වර් වලට පුලුවන්.</p>
<p style="text-align: justify;">එකම IP address එක යටතේ වෙන වෙනස් භෞතික සර්වර් තියෙන්නේ anycast කියන තාක්ෂණය භාවිතා කරලා. මේ යටතේ IP address එකක් සඳහා request එකක් යැවූ විට ඒ සඳහා ළඟම තියෙන භෞතික සර්වරය තෝරාගෙන ඒකට යොමු කෙරෙනවා. මේ නිසා සර්වරයට සිදු කල යුතු වැඩ ප්‍රමාණය ලොව වටාම බෙදා හරින්න පුලුවන් වෙලා තියෙනවා.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.techbuzz.chamiladealwis.com/2010/02/why-13-root-servers/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>DNS ක්‍රියාවලිය</title>
		<link>http://www.techbuzz.chamiladealwis.com/2010/02/dns-resolution-process/</link>
		<comments>http://www.techbuzz.chamiladealwis.com/2010/02/dns-resolution-process/#comments</comments>
		<pubDate>Sat, 06 Feb 2010 18:55:30 +0000</pubDate>
		<dc:creator>පිටස්තරයා</dc:creator>
				<category><![CDATA[DNS]]></category>
		<category><![CDATA[Authoritative]]></category>
		<category><![CDATA[Broadband]]></category>
		<category><![CDATA[Cache]]></category>
		<category><![CDATA[DHCP]]></category>
		<category><![CDATA[FQDN]]></category>
		<category><![CDATA[IP]]></category>
		<category><![CDATA[IP address]]></category>
		<category><![CDATA[PQDN]]></category>
		<category><![CDATA[root]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[TCP]]></category>
		<category><![CDATA[UDP]]></category>

		<guid isPermaLink="false">http://www.techbuzz.chamiladealwis.com/?p=301</guid>
		<description><![CDATA[

බ්‍රව්සරයේ address bar එක තුල අප විසින් http://blog.example.lk ලෙස වෙබ් ලිපිනය සඳහන් කරනවා.

දැන් මෙම ලිපිනය IP address එකක් බවට පත් කල යුතුයි. මේ සඳහා මුලින්ම සේවාග්‍රාහකයා (client) ළඟ තිබෙන ගොනුවේ (hosts ගොනුව) මෙම ඩොමේනය තිබෙනවාදැයි සොය බලනවා.
එම ඩොමේනය යටතේ ඇතුලත් කිරීම තිබෙනවානම් DNS සඳහා යොමු වෙන්නේ නැහැ.
එසේ නැතිනම් ඉන්පසුව DNS සඳහා යොමු වෙනවා.


 අපට අන්තර්ජාල [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-medium wp-image-324" title="connecting" src="http://www.techbuzz.chamiladealwis.com/wp-content/uploads/2010/02/connecting-243x300.jpg" alt="" width="243" height="300" /></p>
<ol>
<li>බ්‍රව්සරයේ address bar එක තුල අප විසින් http://blog.example.lk ලෙස වෙබ් ලිපිනය සඳහන් කරනවා.
<ul>
<li>දැන් මෙම ලිපිනය IP address එකක් බවට පත් කල යුතුයි. මේ සඳහා මුලින්ම සේවාග්‍රාහකයා (client) ළඟ තිබෙන ගොනුවේ (hosts ගොනුව) මෙම ඩොමේනය තිබෙනවාදැයි සොය බලනවා.</li>
<li>එම ඩොමේනය යටතේ ඇතුලත් කිරීම තිබෙනවානම් DNS සඳහා යොමු වෙන්නේ නැහැ.</li>
<li>එසේ නැතිනම් ඉන්පසුව DNS සඳහා යොමු වෙනවා.</li>
</ul>
</li>
<li> අපට අන්තර්ජාල සබඳතාවය ලබා දෙන සේවාදායකයා (ISP) මගින් එම සබඳතාවය සඳහා භාවිතා කල යුතු DNS සර්වරයේ IP address එක අපට ලබා දිය යුතුයි.
<ul>
<li>ඔබ සිටින්නේ LAN එකක් තුල නම් සාමාන්‍යයෙන් ඔබට එය තුල private static IP එකක් ලැබෙනවා. මෙම IP එක configure කරන විට අදාල DNS තොරතුරු ලබා දිය යුතුයි.</li>
<li>අපි සාමාන්‍යයෙන් භාවිතා කරන Broadband අන්තර්ජාල සේවාවන් වලදී අපට Static IP ලැබෙන්නේ නැහැ. අපට IP address එකක් ලැබෙන්නේ DHCP (Dynamic Host Configuration Protocol) නැමැති ක්‍රියාවලියක් තුලින්. සාමාන්‍යයෙන් කෙරෙන්නේ එලෙස dynamic IP address එකක් ලබා දෙන අවස්ථාවේදීම DNS IP address ද ඒ සමගම ලබා දීමයි.</li>
</ul>
</li>
<li> එසේ ලබා දී ඇති DNS සර්වරය වෙත මෙම ඩොමේනයේ IP address එක ඉල්ලා query එකක් සිදු කෙරෙනවා. මෙම request එක යැවෙන්නේ UDP හරහා (අපි සාමාන්‍ය HTTP request යවන්නේ TCP හරහා).
<ul>
<li>මේ යැවෙන request එක වර්ග දෙකකින් එකක් වෙන්න පුලුවන්.
<ul>
<li>Recursive</li>
<li>Iterative (Non recursive)</li>
</ul>
</li>
<li>සාමාන්‍යයෙන් මෙතනදි යැවෙන්නේ recursive request එකක්.</li>
</ul>
</li>
<li>එම DNS සර්වරය example.lk (හෝ blog.example.lk සඳහා) authoritative නම් එය තුල මෙම ඩොමේනයට අදාල IP address එක තිබෙනවා. එම නිසා අදාල IP address එකට අදාල A Resource Record එක පිලිතුර වශයෙන් එවනවා (Resource Records පිළිබඳව පසුව සටහනකින් බලාපොරොත්තු වන්න). එවිට සේවාග්‍රාහකයාට පුලුවන් එමගින් IP address එක සොයාගෙන එම IP address එකට අවශ්‍ය request එක ඉදිරිපත් කරන්න (උදා: වෙබ් නම් GET හෝ POST ලෙස).
<ul>
<li>හුඟක් වෙලාවට වෙන්නේ මේ සර්වර් එක Caching සර්වර් එකක් වෙන එක. ඒකෙන් කරන්නේ තමන් දැනට කෑෂ් කර ගත්ත ඇතුලත් කර ගැනීම් වල මේ blog.example.lk IP address එක තියෙනවද කියලා බලන එක.</li>
<li>එහෙම ඇතුලත් කර ගැනීමක් කෑෂ් එකේ නැත්තන් ඊළඟට blog.example.lk සඳහා request එකක් root සර්වර් වෙතට යැවෙනවා. මේ root සර්වර් 13ම IP address DNS සර්වරයක තියෙනවා. මුලින්ම තියෙන address එකට request යැවෙනවා. ඒක වැඩ නැත්තන් ඊළඟ එක, ඔය විදියට තමයි root සර්වර සම්බන්ධ කර ගන්නේ.</li>
<li>මේ සම්බන්ධ කර ගැනීම හුඟක් වෙලාවට iterative වෙන්න පුලුවන්. නමුත් recursive විදියටත් සම්බන්ධ කර ගැනීම් සිදුවෙනවා.</li>
</ul>
</li>
<li> පිලිතුරු දෙන root සර්වරය ළඟ blog.example.lk වල IP address නැහැ (කෑෂ් කිරීම සිදු කරන්නේ නැත්තන්). ඒත් මම කලින් සඳහන් කලා වගේ root සර්වර් ලඟ තියෙනවා. Root සර්වර් සම්බන්ධතාවය recursive නම් root සර්වරය විසින්ම .lk DNS සර්වරය සම්බන්ධ කර ගැනීම සිදු කරනවා. සම්බන්ධතාවය iterative නම් අදාල .lk DNS සර්වර්යේ IP address එක පිලිතුර ලෙස එවනවා. එවිට ඒ සර්වරයට request යවන්න ඕනෙ DNS caching සර්වරය මගින්.</li>
<li>.lk සර්වරය මගින් example.lk හි IP address එක එවනවා.</li>
<li>example.lk සර්වරය සම්බන්ධ කර ගැනීම මගින් blog.example.lk හි IP address එක ලබාගන්නවා. මෙය බොහෝ වෙලාවට example.lk හි IP address එකම තමයි.</li>
<li>Caching සර්වරය මගින් මේ IP address එක අපේ පරිගණකය වෙත එවනවා. ඉන්පසුව තමයි බ්‍රව්සරය මගින් ඒ IP address එකේ port 80ට (වෙනත් port එක යොදා ඇත්නම් ඒකට) HTTP GET request එකක් යවන්නේ.</li>
</ol>
<p style="text-align: justify;">අන්තර්ජාලයේ සිදුවන DNS traffic වලින් 95%ටත් වඩා තියෙන්නේ UDP traffic. ඒ කියන්නේ වැඩිපුරම තියෙන්නෙ requests. පිලිතුර දීම් සිදුවෙන්නේ TCP හරහා.</p>
<p style="text-align: justify;">සියළුම request යැවෙන්නේ http://blog.example.lk සඳහා නොවේ. ඒ වෙනුවට මේ ලිපිනයේ අගට තිතක් එකතු කරලා FQDN එක සඳහා request සිදු කෙරෙනවා (http://blog.exmaple.lk.). තිත සඳහා authoritative වෙන්නේ Root සර්වර්. ඒකයි හොයාගන්න බැරි වුනාම root සර්වර් වෙත request යැවෙන්නේ.</p>
<p style="text-align: justify;">FQDN එක අපි සාමාන්‍යයෙන් ලිනක්ස් වලදි හඳුන්වන absolute path එක වගේ. තිත නොමැතිව තියෙන වෙබ් ලිපින හඳුන්වන්නේ relative domain names/Partially qualified domain names කියලා (මේ ගැන කියලා දුන්න අනුරංගට ස්තුතියි).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.techbuzz.chamiladealwis.com/2010/02/dns-resolution-process/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>DNS ගැන කතා</title>
		<link>http://www.techbuzz.chamiladealwis.com/2010/02/what-is-dns/</link>
		<comments>http://www.techbuzz.chamiladealwis.com/2010/02/what-is-dns/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 07:11:18 +0000</pubDate>
		<dc:creator>පිටස්තරයා</dc:creator>
				<category><![CDATA[DNS]]></category>
		<category><![CDATA[anycast]]></category>
		<category><![CDATA[Authoritative]]></category>
		<category><![CDATA[Cache]]></category>
		<category><![CDATA[ccTLD]]></category>
		<category><![CDATA[Delegate]]></category>
		<category><![CDATA[Domain]]></category>
		<category><![CDATA[FQDN]]></category>
		<category><![CDATA[gTLD]]></category>
		<category><![CDATA[hierarchical]]></category>
		<category><![CDATA[hosts]]></category>
		<category><![CDATA[IP address]]></category>
		<category><![CDATA[Primary]]></category>
		<category><![CDATA[Propagation]]></category>
		<category><![CDATA[recursive]]></category>
		<category><![CDATA[root]]></category>
		<category><![CDATA[Secondary]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[TLD]]></category>
		<category><![CDATA[Zone]]></category>

		<guid isPermaLink="false">http://www.techbuzz.chamiladealwis.com/?p=298</guid>
		<description><![CDATA[ජාලකරණය පිළිබඳ යම් අදහසක් ඇති කෙනෙක් IP address එකක් කියන්නේ මොකද්ද කියලා දන්නවා. IP address එකක් කියන්නේ සාමාන්‍ය ලෝකෙදි නිවසකට තියෙන ලිපිනයක් වගේම තමයි. ජාලය තුල තියෙන පරිගණකයක් (වඩාත් නිවැරදිව කියනවානම් NIC එකක්) අනන්‍යව හඳුනාගැනීමට යොදාගන්නේ IP address එක.
අන්තර්ජාල භාවිතය තුල IP address වැදගත් වෙන්නෙ ඉහත කියපු දේට. අන්තර්ජාලය තුල ඇති පරිගණක අනන්‍ය වූ විදියට [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><img class="alignright size-full wp-image-312" title="domain-names-dice" src="http://www.techbuzz.chamiladealwis.com/wp-content/uploads/2010/02/domain-names-dice.jpg" alt="" width="116" height="115" />ජාලකරණය පිළිබඳ යම් අදහසක් ඇති කෙනෙක් IP address එකක් කියන්නේ මොකද්ද කියලා දන්නවා. IP address එකක් කියන්නේ සාමාන්‍ය ලෝකෙදි නිවසකට තියෙන ලිපිනයක් වගේම තමයි. ජාලය තුල තියෙන පරිගණකයක් (වඩාත් නිවැරදිව කියනවානම් NIC එකක්) අනන්‍යව හඳුනාගැනීමට යොදාගන්නේ IP address එක.</p>
<p style="text-align: justify;">අන්තර්ජාල භාවිතය තුල IP address වැදගත් වෙන්නෙ ඉහත කියපු දේට. අන්තර්ජාලය තුල ඇති පරිගණක අනන්‍ය වූ විදියට හඳුනාගැනීමට (NATting, Proxy, Shared Hosting වගේ කාරණා නිසා මේ කියන තරම් ම මේක සරල නෑ). අපි වෙබ් අඩවියකට යනවා කියන්නේ අන්තර්ජාලය තුල පිහිටුවලා තියෙන පරිගණකයකින් වෙබ් සේවාවක් ඉල්ලනවා කියන එක. මේ සේවාවට අපිට අවශ්‍ය දත්ත දෙකක් තියෙනවා.</p>
<ul>
<li>අදාල වෙබ් සර්වරයේ IP address එක</li>
<li>අදාල වෙබ් සේවාව ක්‍රියාත්මක වෙන Port එක (මේක සම්මතයක් විදියට 80 ලෙස සැලකෙනවා. නමුත් වෙනස් වීමට කිසිදු සීමාවක් නෑ)</li>
</ul>
<p style="text-align: justify;">නමුත් අපි කවදාවත් IP address එකක් ටයිප් කරලා වෙබ් අඩවියකට යන්නේ නැහැ. අපි IP address වෙනුවට භාවිතා කරන්නේ ඩොමේන් නාම. බ්‍රව්සරයේ http://wordpress.com ලෙස ටයිප් කරනවා මිසක් http://74.200.247.60 ලෙස ටයිප් කරන්නේ නැහැ. ඇත්තටම ඩොමේන් නාම භාවිතා වෙන්නේ මේ හේතුව නිසා. අපිට wordpress.com කියන එක මතක තබාගෙන භාවිත කරන්න පහසුයි අංක ටිකකට වඩා.</p>
<p style="text-align: justify;">නමුත් ඩොමේන් නාමයක් යොදාගෙන පරිගණකයකට කතා කරන්න බැහැ. එයට IP address අවශ්‍යමයි. එසේනම් කවුරුන් හෝ අප මේ ඇතුලත් කරන ඩොමේන් නාමය IP address බවට පරිවර්තනය කල යුතුයි. මේ ක්‍රියාවලිය ක්‍රම දෙකකින් සිදු වෙන්න පුලුවන්.</p>
<ul>
<li>ඩොමේන් නාමයට අදාල IP address එක සම්බන්ධ කරපු ගොනුවක් අපගේ පරිගණකයේ තබාගෙන ඒ ගොනුව ආශ්‍රයෙන් ඩොමේන් නාමය -&gt; IP address කල හැකියි.
<ul>
<li>ලිනක්ස් පද්ධති තුලදී මෙම ගොනුව තියෙන්නේ /etc/hosts ලෙසට</li>
<li>වින්ඩෝස් තුලදී මෙය ඇත්තේ c:\Windows\System32\drivers\etc\hosts ලෙසට</li>
</ul>
</li>
<li>වෙනත් සර්වරයක් මගින් එවැනි ගොනුවක් කළමනාකරණය කර ගනිමින් අප ඉල්ලූ විට අපට IP address ලබා දිය හැකියි.
<ul>
<li>DNS &#8211; Domain Name Service/Server ලෙස හැඳින්වෙන්නේ මෙයයි.</li>
</ul>
</li>
</ul>
<p style="text-align: justify;">අන්තර්ජාලයේ කොඳුනාරටිය විදියට ඩොමේන නාම සේවාව (Domain Name Service) හැඳින්වීමට පුලුවන්. මෙම සේවාව නොමැති වූවොත් ඕනෑම අන්තර්ජාල සේවාවක් (වෙබ්, ඊමේල්, චැට් ආදී) ලබා ගැනීමට IP address මතක තබාගැනීමට සිදු වෙනවා. Shared Server වලින් දැනට අපට ලැබෙන ලාබ දායි සේවාවත් නැතිවී යන්න පුලුවන් (Name Based Virtual Hosting සඳහා DNS අවශ්‍යයි).</p>
<h2 style="text-align: justify;">Root සර්වර්</h2>
<p style="text-align: justify;">DNS පද්ධතිය තියෙන්නේ hierarchical ආකාරයකට. ඒ කියන්නේ එක මූලයකින් බෙදි බෙදී පහළට යන ධුරාවලියක් විදියට. ඇත්තටම මේ පද්ධතියේ එක මූලයක් වෙනුවට මූලයේ කොටස් 13ක් තිබෙනවා. මේවා හැඳින්වෙන්නේ Root server විදියට. මේ 13 පිළිවෙලින් A සිට M දක්වා නම් කර තිබෙනවා.</p>
<p style="text-align: justify;">Root සර්වර් 13ක් වෙන්නේ මුලින් UDP වල තිබුන පොඩි අකාර්යක්ෂමතාවයක් නිසා. UDP packet එකක දිග බයිට් 512 වඩා අඩු වෙන්න ඕනෙ කියන අවශ්‍යතාවය නිසා පවත්වාගෙන යන්න පුලුවන් Root සර්වර් ප්‍රමාණය 13ට සීමා වුනා. හැබැයි දැන් මෙම සර්වර් 13ට වඩා තියෙනවා. ඒත් ඒ තියෙන්නේ anycast කරපු ආකාරයට. ඒ කියන්නේ තවමත් Root සර්වර් IP තියෙන්නේ 13යි. නමුත් සමහර Root සර්වර් mirror කිරීම මගින් ලෝකය පුරා බෙදා හැරලා තියෙනවා. එකක් අකර්මණ්‍ය වුනොත් අනිත් ඒවගෙන් වැඩ කරගෙන යන්න පුලුවන් විදියට. මෙයින් mirror කරපු Root සර්වරයක් ලංකාවෙත් තිබෙනවා.</p>
<p style="text-align: justify;"><a href="http://www.techbuzz.chamiladealwis.com/wp-content/uploads/2010/02/snapshot1.jpg"><img class="aligncenter size-medium wp-image-316" title="snapshot1" src="http://www.techbuzz.chamiladealwis.com/wp-content/uploads/2010/02/snapshot1-300x212.jpg" alt="" width="300" height="212" /></a>Root සර්වර් ගැන වැඩිදුර විස්තර දැන ගන්න <a href="http://www.root-servers.org/" target="_blank">මේ වෙබ් අඩවියට</a> ගිහින් බලන්න.</p>
<p style="text-align: justify;">Root සර්වරයට තියෙන හඳුනා ගැනීම වෙන්නේ &#8220;.&#8221; හෙවත් තිත. සාමාන්‍යයෙන් ඩොමේනයක Fully Qualified Domain Name (FQDN) යනුවෙන් හඳුන්වන්නේ මෙම තිතත් එක්කම තියෙන ඩොමේන නාමය.</p>
<p>උදා: http://chamiladealwis.com<span style="color: #ff0000;">.   <span style="color: #000000;">(තිත අන්තිමටම)</span><br />
</span></p>
<p style="text-align: justify;">මෙම Root සර්වරයන් තුල සියළුම Top Level Domain (TLD) සඳහා DNS සර්වරයන්ගේ IP address සටහන් වී තිබෙනවා. ඒ නිසා ඕනෑම කෙනෙකුට Root සර්වරයකින් අදාල TLD එකක IP address එක සොයාගත හැකියි. TLD වර්ග දෙකක් තිබෙනවා.<img class="alignright size-full wp-image-313" title="domain-name-hierarchy" src="http://www.techbuzz.chamiladealwis.com/wp-content/uploads/2010/02/domain-name-hierarchy.jpg" alt="" width="173" height="262" /></p>
<ol>
<li>gTLD &#8211; Generic TLD
<ul>
<li>.com</li>
<li>.org</li>
<li>.info</li>
<li>.gov</li>
<li>.biz</li>
<li>.aero ආදී වශයෙන්</li>
</ul>
</li>
<li>ccTLD &#8211; Country Code TLD
<ul>
<li>.lk</li>
<li>.in</li>
<li>.jp</li>
<li>.ly ආදී වශයෙන් රටවල් වලට ලබා දී ඇති ඩොමේන නාම</li>
</ul>
</li>
</ol>
<p style="text-align: justify;">මේ එක් එක් TLD යටතේ අප සාමාන්‍යයෙන් දන්නා ඩොමේන ක්‍රියාත්මක වනවා.</p>
<p>උදා:</p>
<ul>
<li>google.com</li>
<li>amazon.com</li>
<li>ac.lk</li>
<li>digit.lk</li>
<li>bit.ly (අහලා පුරුදුයි වගේ නේ)</li>
<li>wordpress.org</li>
<li>blogger.com</li>
</ul>
<p style="text-align: justify;">මේ නිසා අපට Root සර්වරයකින් ඇහුවොත් ac.lk හි IP address එක, එය එතනින් ලබා ගන්න බැහැ. ඒ වෙනුවට Root සර්වරය විසින් අපව .lk DNS සර්වරය වෙත යැවෙනවා. එතනින් අපට ලබා ගන්න පුලුවන් ac.lk සඳහා IP address එක.</p>
<p style="text-align: justify;">මෙම ඩොමේන යටතේ උප ඩොමේන (sub domain) පවතින්න පුලුවන්. උදාහරණයකට cmb.ac.lk කියන්නේ කොළඹ විශ්ව විද්‍යාලයට ලබා දී තිබෙන උප ඩොමේනය. cmb.ac.lk සඳහා IP address ලබා ගන්න ඕනෙ කාගෙන් ද?</p>
<h2>Zones සහ ඩොමේන</h2>
<p style="text-align: justify;">මෙම Root Server යටතේ විවිධ zone අර්ථ දක්වා තිබෙනවා. සාමාන්‍යයෙන් එක zone එකක් පාලනය කරන්නේ එක DNS සර්වරයක් මගින්. එක් zone එකක් තුල එකක් හෝ වැඩි ගණනක ඩොමේන තිබෙන්නට පුලුවන්. මෙය ටිකක් පැටලිලි සහගතයි.</p>
<p><a href="http://www.techbuzz.chamiladealwis.com/wp-content/uploads/2010/02/Domain_name_space1.jpg"><img class="aligncenter size-full wp-image-309" title="Domain_name_space" src="http://www.techbuzz.chamiladealwis.com/wp-content/uploads/2010/02/Domain_name_space1.jpg" alt="" width="675" height="538" /></a></p>
<p style="text-align: center;">(පින්තූරය ගත්තේ <a href="http://en.wikipedia.org/wiki/File:Domain_name_space.svg" target="_blank">Wikipedia</a> වලින්)</p>
<p style="text-align: justify;">කළු ඉරකින් වට කර දක්වා තියෙන්නේ Zones. එක Zone එකක් දුවන්නේ එක DNS සර්වරයකින්. එකම DNS සර්වරයකින් ඩොමේන කිහිපයක් දුවවන්න පුලුවන්. ඉහත රූපයේ .org ඩොමේනය යටතේ තිබන සියළුම ඩොමේන දුවවන්නේ එකම Zone එකක් තුල නිසා එකDNS සර්වරයකින් (සැබෑ ලෝකයේදී මෙය මෙසේ නොවිය යුතුයි).</p>
<h2 style="text-align: justify;">DNS සර්වර් වර්ග</h2>
<p style="text-align: justify;">ප්‍රධාන වශයෙන් DNS සර්වර් වර්ග දෙකකට බෙදන්න පුලුවන්.</p>
<h3>Authoritative Server</h3>
<p style="text-align: justify;">DNS සර්වරයක් මේ වර්ගයට අයිති වෙන්නේ එය යටතේ තියෙන ඩොමේන සඳහා පිළිතුරු ලබා දීමට හැකි නම් විතරයි. ඒ කියන්නේ ඒ සර්වරය තුලින් ලබා දෙන පිළිතුරු නිපදවන්නේ එය තුලමයි. හැම zone එකකටම අනිවාර්යයෙන් authoritative DNS සර්වරයක් තිබිය යුතුයි. අදාල zone එකේ ඩොමේන පිලිබඳ තොරතුරු A RR විදියට ගබඩා කර ගැනීම එය විසින් සිදු කරන්න ඕනෙ. ඊට අමතරව එම zone එක තුල zone එකක් වෙනත් Name සර්වරයකට delegate කර ඇත්නම් ඒ Name සර්වර ඇතුලත් කිරීම් ගබඩා කරගන්නත් ඕනෙ.</p>
<p style="text-align: justify;">මෙම සර්වර වර්ග දෙකක් තියෙනවා.</p>
<ol>
<li>
<h4>Primary DNS</h4>
<ul>
<li>මෙය තමයි ප්‍රධාන DNS සර්වරය. DNS ඇතුලත් කිරීම් අලුතින් සිදු කරන්නෙත්, වෙනස් කම් කරන්නෙත්, මකා දැමීම් කරන්නෙත් මෙය තුල. ක්‍රියාත්මක වන අවස්ථාවලදී query සඳහා පිලිතුරු දෙන්නේ මෙය විසින්.</li>
</ul>
</li>
<li>
<h4>Secondary DNS</h4>
<ul>
<li>මේ සර්වරය තියෙන්නේ Primary සර්වරයට අමතර දෙයක් විදියට. මෙහි කිසිම වෙනස්කමක් අපි සිදු කරන්නේ නැහැ. එය කරන්නේ කාලයෙන් කාලයට Primary DNS සර්වරයෙන් zone transfer ක්‍රියාවලිය මගින් DNS ඇතුලත් කිරීම් පිටපත් කර ගැනීම.</li>
<li>DNS සේවාවේ තියෙන වැදගත් කම නිසා තමයි secondary සර්වරයක් තියෙන්නේ. Primary සර්වරය අකර්මණ්‍ය වුනොත් සේවාව ලබා දෙන්න වෙන්නේ secondary සර්වරයට</li>
</ul>
</li>
</ol>
<h3>Caching Servers</h3>
<p style="text-align: justify;">මේ සර්වර් වර්ගයේදී තමන්ට ලැබුන query එකක් වෙනුවෙන් වෙනත් සර්වරයකට කතා කරලා පිලිතුර ලබා දෙනවා. ඒ ලබා දෙන ගමන්ම එම පිලිතුර සර්වරය තුල කෑෂ් කර ගන්නවා. එම නිසා වාසි දෙකක් සිදු වෙනවා.</p>
<ul>
<li>නැවත query එකක් ආවොත් තමන්ගේ කෑෂ් එකෙන් පිලිතුර දීමට පුලුවන්.</li>
<li>සේවාග්‍රාහකයින් විසින් කරන්න ඕනෙ කෑෂ් සර්වරයකට query එක යැවීම විතරයි. එම සර්වරයට පිලිතුරු දීමට බැරිනම් root සර්වරයන් හා recursive request මගින් (මේවා ඉදිරි සටහනකින් පැහැදිලි කරන්නම්) අදාල පිලිතුර සොයලා දෙනවා. මේ නිසා සේවාග්‍රාහක වැඩසටහන් අනවශ්‍ය ලෙස සංකීර්ණ වීම නවතිනවා. සේවාග්‍රාහකයා කල යුත්තේ අවශ්‍ය කෑෂ් සර්වරයේ IP address ගබඩා කර ගැනීම පමණයි.</li>
</ul>
<p>සාමාන්‍යයෙන් කෑෂ් සර්වර පවත්වාගෙන යන්නේ ISP විසින්. DNS Propagation කාලයට හේතු වෙන්නෙත් මේ කෑෂ් සර්වර්.</p>
<p>============================================================================================</p>
<p style="text-align: justify;">අපි බ්‍රව්සරයේ ඩොමේන නාමයක් ඇතුලත් කලාම සිදුවන මුල්ම දේ තමයි මේ ඩොමේන නාමය IP address එකක් බවට පරිවර්තනය කිරීම. මේ සඳහා අපි නොහිතන දුරකට ක්‍රියාවලියක් සිදුවෙනවා. මී ළඟ සටහනින් එය දක්වන්නම්.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.techbuzz.chamiladealwis.com/2010/02/what-is-dns/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>OpenID Delegation :: ඔබේ වෙබ් අඩවි ලිපිනය OpenID URL ලෙස භාවිතය</title>
		<link>http://www.techbuzz.chamiladealwis.com/2010/02/openid-delegation/</link>
		<comments>http://www.techbuzz.chamiladealwis.com/2010/02/openid-delegation/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 03:30:21 +0000</pubDate>
		<dc:creator>පිටස්තරයා</dc:creator>
				<category><![CDATA[OpenId]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[auhenticate]]></category>
		<category><![CDATA[delegation]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[Single Sign-on]]></category>

		<guid isPermaLink="false">http://www.techbuzz.chamiladealwis.com/?p=291</guid>
		<description><![CDATA[
OpenID පිළිබඳ ලිපි පෙලේ අවසාන කොටස විදියට මෙම සටහන ලියැවෙනවා.
OpenID සේවාදායකයින් ළඟ ලියාපදිංචි වුනාට පස්සේ අපිට ලැබෙන්නේ URL එකක්. එය සාමාන්‍යයෙන් ඔවුන්ගේ ඩොමේන් නාමය ඇතුලත් ලිපිනයක්. එම ලිපිනයේ සඳහන් තොරතුරු වලට අනුව තමයි අදාල OpenID සර්වරය තෝරා ගෙන අපව authenticate කර ගන්නේ. OpenID යොදාගෙන බ්ලොග් අඩවියක ප්‍රතිචාර යොදා තිබෙන තැනක් මත click කලොත් අප දර්ශනය [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-medium wp-image-180" title="openid" src="http://www.techbuzz.chamiladealwis.com/wp-content/uploads/2009/12/openid1-300x100.png" alt="" width="198" height="66" /></p>
<p style="text-align: justify;"><a href="http://www.techbuzz.chamiladealwis.com/category/internet/openid/" target="_blank">OpenID පිළිබඳ ලිපි පෙලේ</a> අවසාන කොටස විදියට මෙම සටහන ලියැවෙනවා.</p>
<p style="text-align: justify;">OpenID සේවාදායකයින් ළඟ ලියාපදිංචි වුනාට පස්සේ අපිට ලැබෙන්නේ URL එකක්. එය සාමාන්‍යයෙන් ඔවුන්ගේ ඩොමේන් නාමය ඇතුලත් ලිපිනයක්. එම ලිපිනයේ සඳහන් තොරතුරු වලට අනුව තමයි අදාල OpenID සර්වරය තෝරා ගෙන අපව authenticate කර ගන්නේ. OpenID යොදාගෙන බ්ලොග් අඩවියක ප්‍රතිචාර යොදා තිබෙන තැනක් මත click කලොත් අප දර්ශනය වෙන්නේ බොහෝ වෙලාවට ඒ සේවා දායකයින්ගේ පිටු.</p>
<p style="text-align: justify;">නමුත් අපිට අපේ ඩොමේනයක් OpenID URL එක ලෙස භාවිත කිරීමේ හැකියාවත් තිබෙනවා. නමුත් එයට අපි විසින් OpenID සර්වරයක් කළමනාකරණය කල යුතු නෑ. ඒ වෙනුවට වෙනත් OpenID සේවාදායකයෙකුගේ සේවාවේ සර්වරයෙන් ඒ වැඩේ කර ගන්න පුලුවන්. මෙය OpenID භාෂාවෙන් හඳුන්වන්නේ delegation කියලා.</p>
<p style="text-align: justify;">පලමුවෙන්ම OpenID සේවාදායකයෙකු ලඟ ලියා පදිංචි විය යුතුයි. මේ සඳහා <a href="http://www.techbuzz.chamiladealwis.com/2010/01/openid-service-providers/" target="_blank">ජනප්‍රිය සේවාදායකයින් පිළිබඳ කෙටි විස්තරයක්</a> කලින් ලිපියක තිබෙනවා.</p>
<p style="text-align: justify;">ඉන්පසු පහත කේත කොටස අපගේ වෙබ් අඩවියේ index පිටුවේ ඇති &lt;/header&gt; ටැගයට උඩින් ඇතුලත් කල යුතුයි.</p>
<pre class="brush: html">

&lt;link rel=&quot;openid.server&quot; href=&quot;http://openidserverurl&quot; /&gt;
&lt;link rel=&quot;openid.delegate&quot; href=&quot;http://openiddelegateurl&quot; /&gt;
</pre>
<p style="text-align: justify;">මෙහි දී openid.server හි href අගය සඳහා ඔබ ලියාපදිංචි වුන OpenID සේවාදායකයාගේ server URL එක ලබා දිය යුතුයි. openid.delegate හි href අගයට සේවාදායකයාගේ delegate URL එක ලබා දිය යුතුයි.</p>
<p style="text-align: justify;">මෙම අගයන් ලබා ගැනීමට පහත ආකාරය අනුගමනය කරන්න පුලුවන්.</p>
<ol>
<li>ඔබගේ OpenID සේවාදායකයා ලබා දුන් URL එකට බ්‍රව්සරයක් යොදාගෙන යන්න.</li>
<li>එහි Right Click කර View Page Source තෝරන්න.</li>
<li>ලැබෙන කේතය පරීක්ෂා කර බැලුවොත් ඉහත ටැග සොයා ගැනීමට පුලුවන්. ඒවාගේ href සඳහා ඇති අගයන් ලබා ගන්න පුලුවන්.</li>
</ol>
<p style="text-align: justify;">උදාහරණයකට මම භාවිතා කරන claimid.com URL එකේ පහත ටැග නිරීක්ෂණය කරන්න පුලුවන්.</p>
<pre class="brush: html">
&lt;link rel=&quot;openid.server&quot; href=&quot;https://openid.claimid.com/server&quot; /&gt;
&lt;link rel=&quot;openid.delegate&quot; href=&quot;https://openid.claimid.com/chamila_dealwis&quot; /&gt;
</pre>
<p style="text-align: justify;">දැන් ඔබගේ පිටුව save කර සර්වරයට upload කරන්න.</p>
<p style="text-align: justify;">OpenID භාවිතයේදී ඔබේ වෙබ් අඩවියේ URL එක ඇතුලත් කරන්න. Authenticate කර ගැනීම සිදුවන්නේ පරණ ආකාරයටම සේවාදායකයාගේ පිටුවේදීයි. ඒ සඳහා ඔබ අලුතින් පිටු සෑදීමක් අවශ්‍ය වන්නේ නැහැ.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.techbuzz.chamiladealwis.com/2010/02/openid-delegation/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>ඔබේ වෙබ් අඩවියේ පරිශීලක කලමනාකරණය OpenID වෙත භාර දෙමු : JanRain RPX + PHP</title>
		<link>http://www.techbuzz.chamiladealwis.com/2010/01/relying-on-openid-janrain-rpx/</link>
		<comments>http://www.techbuzz.chamiladealwis.com/2010/01/relying-on-openid-janrain-rpx/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 07:51:20 +0000</pubDate>
		<dc:creator>පිටස්තරයා</dc:creator>
				<category><![CDATA[OpenId]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[JanRain]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[POST]]></category>
		<category><![CDATA[RPXNow]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[Session]]></category>
		<category><![CDATA[SimpleXML]]></category>
		<category><![CDATA[Single Sign-on]]></category>
		<category><![CDATA[token]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.techbuzz.chamiladealwis.com/?p=241</guid>
		<description><![CDATA[කලින් ලිපි සටහන් දෙකක Single Sign-on හා OpenID සඳහා හඳුන්වාදීමකුත්, OpenID සේවාදායකත්වය පිළිබඳ විස්තරයකුත් කෙරුණා. එම ලිපි කියෙව්වොත් තේරෙනවා දිනෙන් දින OpenID භාවිතා කරන්නන් ප්‍රමාණය වැඩි වන බව. ඒ වගේම OpenID යොදා ගෙන වෙබ් අඩවි නිර්මාණය වඩ වඩාත් පහසු කර ගන්නත් පුලුවන් බව මේ ලිපියෙන් හඳුන්වා දීමට බලාපොරොත්තු වෙනවා.
අපි ‍නිර්මාණය කරන වෙබ් අඩවි තුල පරිශීලකයින් කළමනාකරණය [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><img class="alignleft size-medium wp-image-180" title="openid" src="http://www.techbuzz.chamiladealwis.com/wp-content/uploads/2009/12/openid1-300x100.png" alt="" width="210" height="70" />කලින් ලිපි සටහන් දෙකක Single Sign-on හා OpenID සඳහා හඳුන්වාදීමකුත්, OpenID සේවාදායකත්වය පිළිබඳ විස්තරයකුත් කෙරුණා. එම ලිපි කියෙව්වොත් තේරෙනවා දිනෙන් දින OpenID භාවිතා කරන්නන් ප්‍රමාණය වැඩි වන බව. ඒ වගේම OpenID යොදා ගෙන වෙබ් අඩවි නිර්මාණය වඩ වඩාත් පහසු කර ගන්නත් පුලුවන් බව මේ ලිපියෙන් හඳුන්වා දීමට බලාපොරොත්තු වෙනවා.</p>
<p style="text-align: justify;">අපි ‍නිර්මාණය කරන වෙබ් අඩවි තුල පරිශීලකයින් කළමනාකරණය බොහෝ වෙලාවට කරන්නේ බොහෝම ගතානුගතික විදියට. User table එකක් සාදගෙන අලුතින් එන හැම පරිශීලකයෙකුගේම තොරතුරු ඒ table එකේ සඳහන් කරගෙන සිටිනවා. ඇතුල් වීමට අවශ්‍ය වුන වෙලාවට SELECT query එකක් මගින් පරිශීලක නාමය (username) හා රහස් පදය (password) නිවැරදි දැයි බලනවා. ඉන්පසු Session අගයක් ලෙස එම අගයන් තබාගෙන logout වීමේදී එය අගයන් මකා දමනවා.</p>
<p style="text-align: justify;">මේ සියලු දේ වෙනුවට OpenID මගින් පරිශීලකයින්ට ඇතුල් වීමට පහසු කම ලබා දුන්නොත් ප්‍රධාන වශයෙන් පහත වාසි ලබා ගන්න පුලුවන්.</p>
<ul>
<li>පරිශීලකයින්ට අලුතින් ලියාපදිංචි වීමට හෝ පෞද්ගලික තොරතුරු නැවත නැවතත් ලබාදීමට බල කිරීමට අවශ්‍ය නෑ.</li>
<li>ලියාපදිංචි වීමේ form, ඒවා සඳහා validation ආදී කරදර වලින් මිදෙන්න පුලුවන්.</li>
<li>අමතර user table එකක් බොහෝ වේලාවට අවශ්‍ය වන්නේ නෑ (නමුත් මෙය අවශ්‍යතාවය අනුව වෙනස් වෙන්න පුලුවන්).</li>
<li>පරිශීලකයින්ගේ ‍තොරතුරු ගබඩා කර ගනිමින් වැඩි බරක් දරා සිටීමට අවශ්‍ය නෑ.</li>
<li>SSL වැනි සංකීර්ණ ආරක්ෂාවන් ලබා දීමේ ක්‍රියාවලීන් වල බරක් දරා සිටින්න අවශ්‍ය නෑ. එය බොහෝ විට OpenID සේවා දායකයින් විසින්ම ලබා දෙනවා.</li>
</ul>
<p style="text-align: justify;">වෙබ් අඩවි වලින් ලබා දෙන සේවා භාවිතයට පරිශීලකයින් මැලි වන එක ප්‍රධාන හේතුවක් තමයි අලුතින් ලියා පදිංචි වීමේ කරදරය හා පෞද්ගලික තොරතුරු ලබා දීමට ඇති මැලිකම. OpenID භාවිතය මගින් පරිශීලකයින්ට වඩාත් පහසුවෙන් ඔබ ලබා දෙන සේවා පරිහරණය කරන්න පුලුවන්.</p>
<p style="text-align: justify;">OpenID භාවිතයෙන් ඇතිවෙන්න පුලුවන් අවාසි කිහිපයක් පෙල ගස්සවන්න උත්සහ කෙරුවොත්,</p>
<ul>
<li>පරිශීලකයා මොහොතකට තමාගේ අඩවියෙන් පිටතට යැවෙනවා.</li>
<li>භාවිතා කිරීමට හැකි පරිශීලකයින් ප්‍රමාණය පාලනය කිරීමට අමතර වෙහෙසක් ගැනීමට සිදු වෙනවා.</li>
</ul>
<p style="text-align: justify;">අප නිර්මාණය කරන වෙබ් අඩවියට OpenID පහසුකම ලබා දීම  පහසු කර ගැනීමට නිපදවුන plugin තිබෙනවා. CMS යොදාගෙන අඩවි නිර්මාණය ජනප්‍රිය වී ඇති නිසා මෙම CMS බොහෝමයකට අදාල OpenID plugin එක තිබෙනවා.</p>
<ul>
<li>Drupal</li>
<li>Wordpress (OpenID)</li>
<li>SPIP</li>
<li>WebGUI</li>
<li>MediaWiki</li>
<li>DokuWiki</li>
<li>phpBB</li>
<li>PunBB</li>
</ul>
<p style="text-align: justify;">මෙහි සම්පූර්ණ ලැයිස්තුව <a href="http://openid.net/add-openid/add-getting-started/" target="_blank">මෙතනින්</a> බලා ගන්න පුලුවන්. බොහෝ විට plugin එක ස්ථාපනය කරලා සරල settings කිහිපයක් හැදු ගමන්ම OpenID පහසුකම ලබා ගන්න පුලුවන්.</p>
<p style="text-align: justify;"><img class="alignright size-full wp-image-275" title="5bd004ce4358f8626092f220368c5ff7" src="http://www.techbuzz.chamiladealwis.com/wp-content/uploads/2010/01/5bd004ce4358f8626092f220368c5ff7.png" alt="" width="198" height="76" />මෙම ලිපියෙන් බලාපොරොත්තු වන්නේ වෙනත් සේවාවක් ගැන විස්තර කරන්න. JanRain මගින් ලබා දෙන RPX now යොදා ගනිමින් ඉහත සඳහන් ලැයිස්තුවට අදාල නොවන අවස්ථා වලදී අපට OpenID පහසුකම ලබා ගන්න පුලුවන්. මෙතනදී OpenID යොදාගනිමින් login වීමේ පහසුකම (links) ලබා දෙන තැනේ ඉඳන්, අදාල OpenID සේවාදායකයින් සම්බන්ධ කරගෙන පරිශීලකයින් authenticate කර ගන්න තැන දක්වා ක්‍රියාවලිය RPX now විසින් ඉටු කර දෙනවා. ඉන්පසු එයින් නැවත එවන XML හෝ JSON response එකක් process කර ගැනීම අපට කල හැකියි. RPXnow සම්පූර්ණයෙන් නොමිලේ ලබා දෙන සේවයක් නොවුනත් OpenID සේවාදායකයින් කිහිප දෙනෙක් පමණක් සහය දක්වන ලෙස සැකසුනු නොමි‍ලේ සැපයෙන සේවාවකුත් ඔවුන් ලබා දෙනවා.</p>
<p style="text-align: justify;">මෙහිදී සිදුවිය යුතු ක්‍රියාවලිය සරලව මෙහෙමයි.</p>
<ol>
<li>මුලින්ම <a href="https://rpxnow.com/get">https://rpxnow.com/get</a> වෙත යන්න. ලැබෙන පිටුවේ අපට ලබා ගත හැකි සේවා පැකේජ තිබෙනවා. හැකියාවක් තිබෙනවානම් වාණිජමය සේවාව ලබා ගන්න පුලුවන් <img src='http://www.techbuzz.chamiladealwis.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  . නමුත් මෙතනදි මම තෝරගන්නේ Basic යනුවෙන් තිබෙන නොමිලේ ලැබෙන සේවාව.</li>
<li>Sign Up මත click කලාම ඔබට login වීමට අවශ්‍ය යැයි පැව‍සෙනවා. ඔබට කැමති ගිණුම් වර්ගයක් තෝරාගෙන login වීමට පුලුවන්. මෙම login වීමේ ක්‍රියාවලිය නිරීක්ෂණය කරන්න. මේ RPX වෙතින් ඔබට ලැබෙන සේවයේ ආකාරයයි.</li>
<li>ඉන්පසු ඔබේ වෙබ් අඩවියේ විස්තර කිහිපයක් ඇතුල් කිරීමට අවශ්‍ය වෙනවා. Application Name වෙතට අවශ්‍ය හැඳින්වීමේ නාමයක් ලබා දෙන්න. Domains යටතේ ඔබේ වෙබ් අඩවිය ක්‍රියාත්මක වන domain ඇතුලත් කරන්න. මෙය එකක් හෝ කිහිපයක් වෙන්න පුලුවන්.</li>
<li>දැන් ලැබෙන පිටුවේ Configure Sign-on Widget මත click කරන්න. එහි ඔබේ අඩවියට ඇතුලත් වීමට භාවිතා කිරීමට ඉඩ දිය හැකි OpenID සේවා දායකයින් වම් පැත්තේ කොටුවට drag කර දමන්න. අවසන් වූ පසු Publish To Widget මත click කරන්න. Test Tool මත click කලහොත් ඔබේ තේරීමේ output එක බලා ගන්න පුලුවන්.</li>
<li>නැවත Application-&gt;Dashboard වෙත යන්න.</li>
<li>Quick Start Guide මත click කරන්න.</li>
</ol>
<p style="text-align: justify;">දැන් ඔබ RPXnow වෙතින් පැමිණෙන token එක යොදා ගනිමින් POST request එකක් සිදු කිරීමටත් ඉන්පසුව ලැබෙන පිළිතුර (XML|JSON) process කිරීමටත් server side පිටුවක් ලිවිය යුතුය.  මෙම පිටුව online web server එකක රැඳවිය යුතුයි. එම පිටුවේ සබැඳිය token_url ලෙස අප පසුව භාවිතයට ගන්නවා.</p>
<p style="text-align: justify;">මෙම පිටුවෙන් සිදුවෙන දේ සාරංශයක් ලෙස ගත්තොත්,</p>
<ol>
<li>Request එකෙන් token යනුවෙන් ඇති POST variable එකේ අගය ලබා ගත යුතුයි.</li>
<li>එම token එක හා ඔබගේ RPXnow API Key එක භාවිතා කරමින් https://rpxnow.com/api/v2/auth_info වෙත POST request එකක් සිදු කල යුතුයි.</li>
<li>පරිශීලකයා අවසරය දුන්නොත් මෙම ක්‍රියාවලිය අවසානයේ නැවත token_url වෙත ඔහුව යොමු කෙරෙනවා. එහිදී ඔබේ පිටුවට ඔහුගේ OpenID credentials ලැබෙනවා. එම credentials භාවිතය ඔබට ලැබෙන පිළිතුර process කිරීම සිදු කරන්න පුලුවන්.</li>
</ol>
<p style="text-align: justify;">RPXnow API Key එක ඔබට අනන්‍ය වුන එකක්. මෙය ඔබට Application-&gt;Dashboard වෙත ගොස් API key මත click කිරීමෙන් ලබා ගන්න පුලුවන්. මේ key එක වෙන කෙනෙක් අතට යවන්න එපා.</p>
<p style="text-align: justify;">පහළ තිබෙන්නේ මෙම token_url පිටුව PHP යොදාගෙන implement කිරීමක්.</p>
<pre class="brush: php">
$token = $_POST[&#039;token&#039;];

$curlOb = curl_init();
curl_setopt($curlOb, CURLOPT_URL,&quot;https://rpxnow.com/api/v2/auth_info&quot;);
curl_setopt($curlOb, CURLOPT_POST, 1);
curl_setopt($curlOb, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curlOb, CURLOPT_POSTFIELDS, &quot;apiKey=4xxxxxxxxxxxxxxxxxxxxxxxxxxxxxa3&amp;token={$token}&amp;format=xml&quot;);
$res = curl_exec ($curlOb);
curl_close ($curlOb);

$xml = simplexml_load_string($res);
$id = $xml-&gt;profile-&gt;identifier;
$display_name = $xml-&gt;profile-&gt;displayName;
</pre>
<p style="text-align: justify;">මෙහිදී POST අගය $_POST['token'] යොදාගෙන $token variable එකට ලබා ගෙන තිබෙනවා. ඉන්පසු curl tool එක භාවිතා කරමින් https://rpxnow.com/api/v2/auth_info වෙත POST request එකක් යවා තිබෙනවා. මේ POST request එකේ variable තුනක් සඳහා අගයන් ලබාදී තිබෙනවා.</p>
<ul>
<li>apiKey &#8211; ඔබේ APIKey එක</li>
<li>token &#8211; $_POST['token'] වෙතින් ලබා ගත් token අගය</li>
<li>format &#8211; අපට ලැබෙන පිලිතුර XML format එකෙන් ලබා දෙන ලෙසට යවා තිබෙනවා. මෙම parameter එක භාවිතා නොකලොත් අපට ලැබෙන්නේ JSON ආකාරයේ පිළිතුරක්. මම PHP වලදී වැඩියෙන් දන්නේ XML process කරන්න නිසා මේ parameter එක භාවිතා කලා</li>
</ul>
<p style="text-align: justify;">මෙහිදී curl call එකින් ලැබෙන response එක අපි $res variable එකට ලබා ගෙන තිබෙනවා. දැන් එම variable එකේ තියෙන්නේ පහළ තියෙන ආකාරයේ XML ව්‍යුහයක්.</p>
<pre class="brush: xml">
&lt;?xml version=&#039;1.0&#039; encoding=&#039;UTF-8&#039;?&gt;
&lt;rsp stat=&#039;ok&#039;&gt;
&lt;profile&gt;
&lt;displayName&gt;
xxxxxxxxx
&lt;/displayName&gt;
&lt;email&gt;
xxxxxxx@gmail.com
&lt;/email&gt;
&lt;identifier&gt;

https://www.google.com/accounts/o8/id?id=Axxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

&lt;/identifier&gt;
&lt;name&gt;
&lt;givenName&gt;
xxxxx
&lt;/givenName&gt;
&lt;familyName&gt;
xxxxxxx
&lt;/familyName&gt;
&lt;formatted&gt;
xxxxxxxx
&lt;/formatted&gt;
&lt;/name&gt;
&lt;preferredUsername&gt;
xxxxxxxx
&lt;/preferredUsername&gt;
&lt;providerName&gt;
Google
&lt;/providerName&gt;
&lt;verifiedEmail&gt;
xxxxxxxxxxxxxxx
&lt;/verifiedEmail&gt;
&lt;/profile&gt;
&lt;/rsp&gt;
</pre>
<p style="text-align: justify;">මේ තිබෙන්නේ Google මගින් authenticate කර නැවත එවූ response එකක්. එක් එක් OpenID සේවාදායකයා මීට වඩා යන්තමින් වෙනස් පිළිතුරු එවන්න පුලුවන්. උදාහරණයකට සාමාන්‍ය OpenID සේවාදායකයෙක් email ලිපිනය එවන්නේ නෑ.</p>
<p style="text-align: justify;">මෙතනදී අපිට පරිශීලකයෙක් හඳුනා ගැනීමටත්, ඔහුව ගබඩා කර ගැනීමටත් යොදා ගන්න පුලුවන් දත්ත දෙකක් තිබෙනවා.</p>
<ul>
<li>displayName</li>
<li>identifier</li>
</ul>
<p style="text-align: justify;">Identifier ඒ පරිශිලකයාට අනන්‍ය වුන අගයක්. මේ නිසා මෙය ඔහුව හඳුනාගන්න භාවිතා කරන්න පුලුවන්. Display Name එක ඔහුව දර්ශනය කරන්න භාවිතා කරන්න පුලුවන්.</p>
<p style="text-align: justify;">කලින් PHP කේතයේ 11,12,13 පේළි වලින් PHP වල SimpleXML parser එක භාවිතා කරලා මේ දත්ත දෙක එළියට අරගෙන පිලිවෙලින් $id සහ $display_name යන variable දෙකට පිටපත් කරලා තිබෙනවා. දැන් අවශ්‍ය නම් මෙම අගයන් දෙක session එකේ තැන්පත් කරන්න පුලුවන් පහත ආකාරයට.</p>
<pre class="brush: php">
$_SESSION[&#039;id&#039;] = $id;
$_SESSION[&#039;name&#039;] = $display_name;
$_SESSION[&#039;logged_in&#039;] = true;
</pre>
<p style="text-align: justify;">Logout වීමේදී මෙම $_SESSION[] variable clear කර දැමිය හැකියි.</p>
<p style="text-align: justify;">ඉහත පලමුවැනි PHP පිටුව save කර PHP සර්වරයක් වෙත upload කරන්න (වෙබ් සර්වරය curl සඳහා සහය දැක්විය යුතුය).</p>
<p style="text-align: justify;">දැන් අපි නැවත අපේ වෙබ් අඩවිය වෙත හැරෙමු. පහත ‍HTML කේතය ඔබේ අඩවියේ login පිටුවේ යටින් (&lt;/html&gt; ටැගයට පෙර) පිටපත් කරන්න.</p>
<pre class="brush: javascript">
&lt;script src=&quot;https://rpxnow.com/openid/v2/widget&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
RPXNOW.overlay = true;
RPXNOW.language_preference = &#039;en&#039;;
&lt;/script&gt;
</pre>
<p style="text-align: justify;">ඉන්පසුව Login වීමට click කල යුතු ‍තැනට වෙනුවට මෙම කේතය පිටපත් කරන්න.</p>
<pre class="brush: html">
&lt;a class=&quot;rpxnow&quot; onclick=&quot;return false;&quot; href=&quot;https://test-application2.rpxnow.com/openid/v2/signin?token_url=your_token_url&quot;&gt;
Sign In
&lt;/a&gt;
</pre>
<p style="text-align: justify;">මෙහිදී token_url ඉදිරිපිට your_token_url වෙනුවට ඔබ වෙබ් සර්වරයට upload කල ගොනුවේ ලිපිනය ලබා දෙන්න. අවශ්‍යනම් Sign In පදය වෙනුවට පින්තූරයක් හෝ වෙනත් පදයක් ලබා දෙන්න පුලුවන්.</p>
<p style="text-align: justify;">දැන් ඔබගේ අඩවියට OpenID හා ඔබ RPXnow තුල ලබා දුන් සේවාදායකයින්ගේ ගිණුම් භාවිතා කර පරිශීලකයින්ට ඇතුලු වෙන්න පුලුවන්. අවශ්‍යනම් පසුව භාවිතා කිරීමට පරිශීලකයින් අනන්‍ය වශයෙන් හඳුනා ගැනීමේ දත්ත ලබා දෙන අතරම අනවශ්‍ය මොඩුයලයක් ඔබේ අඩවියෙන් ඉවත් කර ගන්නත් OpenID පහසුකම යොදා ගන්න පුලුවන්.</p>
<p style="text-align: justify;">පහළ පින්තූරයේ තිබෙන්නේ මෙම ක්‍රියාවලිය සරල ලෙස දක්වලා. තේරුම් ගන්න පහසු වෙයි කියලා හිතුන නිසා මේක හැදුවේ <img src='http://www.techbuzz.chamiladealwis.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style="text-align: justify;"><a href="http://www.techbuzz.chamiladealwis.com/wp-content/uploads/2010/01/RPX-OpenID-Process2.jpg"><img class="aligncenter size-full wp-image-284" title="RPX-OpenID-Process" src="http://www.techbuzz.chamiladealwis.com/wp-content/uploads/2010/01/RPX-OpenID-Process2.jpg" alt="" width="640" height="504" /></a></p>
<p style="text-align: justify;">
]]></content:encoded>
			<wfw:commentRss>http://www.techbuzz.chamiladealwis.com/2010/01/relying-on-openid-janrain-rpx/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>OpenID සේවාදායකයින් ගැන කෙටි හැඳින්වීමක්</title>
		<link>http://www.techbuzz.chamiladealwis.com/2010/01/openid-service-providers/</link>
		<comments>http://www.techbuzz.chamiladealwis.com/2010/01/openid-service-providers/#comments</comments>
		<pubDate>Sun, 24 Jan 2010 06:35:32 +0000</pubDate>
		<dc:creator>පිටස්තරයා</dc:creator>
				<category><![CDATA[OpenId]]></category>
		<category><![CDATA[authentication]]></category>
		<category><![CDATA[Blogger]]></category>
		<category><![CDATA[Chi.mp]]></category>
		<category><![CDATA[claimid]]></category>
		<category><![CDATA[decentralization]]></category>
		<category><![CDATA[delegation]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Providers]]></category>
		<category><![CDATA[Service]]></category>
		<category><![CDATA[Single Sign-on]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Yahoo]]></category>

		<guid isPermaLink="false">http://www.techbuzz.chamiladealwis.com/?p=189</guid>
		<description><![CDATA[අවසාන ලිපියේ සඳහන් වුන විදියට අපිට OpenID සේවාව ලබා ගත හැකි ක්‍රම දෙකක් තියෙනවා.

දැනටම මෙම සේවාව ලබා දෙන තැනකින් අපට URL එකක් ලබා ගැනීම
අපගේ domain එකක් භාවිතා ‍කර එය OpenID එකක් ලෙස යොදා ගැනීම

දැනටමත් OpenID සේවාව ලබා දෙන ප්‍රසිද්ධ සේවාදායකයින් කිහිප දෙනෙක් සිටිනවා. මෙතනදී සේවා දායකයෙක් කියන්නේ OpenID සම්මුතියට එකඟව සේවාව සපයන අය. OpenID ප්‍රධාන [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://www.techbuzz.chamiladealwis.com/wp-content/uploads/2009/12/openid1.png"><img class="alignright size-medium wp-image-180" title="openid" src="http://www.techbuzz.chamiladealwis.com/wp-content/uploads/2009/12/openid1-300x100.png" alt="" width="240" height="80" /></a><a href="http://www.techbuzz.chamiladealwis.com/2009/12/single-sign-on-openid/" target="_blank">අවසාන ලිපියේ</a> සඳහන් වුන විදියට අපිට OpenID සේවාව ලබා ගත හැකි ක්‍රම දෙකක් තියෙනවා.</p>
<ol style="text-align: justify;">
<li>දැනටම මෙම සේවාව ලබා දෙන තැනකින් අපට URL එකක් ලබා ගැනීම</li>
<li>අපගේ domain එකක් භාවිතා ‍කර එය OpenID එකක් ලෙස යොදා ගැනීම</li>
</ol>
<p style="text-align: justify;">දැනටමත් OpenID සේවාව ලබා දෙන ප්‍රසිද්ධ සේවාදායකයින් කිහිප දෙනෙක් සිටිනවා. මෙතනදී සේවා දායකයෙක් කියන්නේ OpenID සම්මුතියට එකඟව සේවාව සපයන අය. OpenID ප්‍රධාන වශයෙන් අනන්‍ය වෙන්නේ මෙවැනි සේවාදායකයින් විසිරී තිබිම නිසා. ඒ කියන්නේ ඒක විමධ්‍යගත (decentralized) ක්‍රමවේදයක්. මූලිකවම OpenID කියන්නේ සම්මතයක් පමණයි.</p>
<p style="text-align: justify;">මෙවැනි ප්‍රසිද්ධ සේවාදායකයින් කිහිප දෙනෙක් සිටිනවා. මෙම සේවාදායකයින් ළඟ ලියාපදිංචි වුනාට පස්සේ අපිට ලැබෙන්නේ URL එකක්. අපි OpenID භාවිතා කර පිවිසීමට හැකියාව ඇති අඩවි තුලට පිවිසෙන්නේ මෙම URL එක භාවිතා කරලා. මෙම ක්‍රියාවලිය ගැන මීලඟ ලිපියෙන් වැඩිදුර විස්තර කරන්න බලාපොරොත්තු වෙනවා. පහත තිබෙන්නේ OpenID සේවාදායකයින් කිහිප දෙනෙක් පිළිබඳ තොරතුරු.</p>
<ol style="text-align: justify;">
<li><a href="http://google.com/accounts" target="_blank">Google Accounts </a>
<ul>
<li style="text-align: left;">බහුතරයකට දැනටමත් තියෙන දෙයක් තමයි Gmail ගිණුම්. බහුතරයක් නොදැනගෙන හිටපු දෙයක් තමයි මේ ගිණුම අපිට වෙනත් සේවා භාවිතා කරන්නත් යොදාගන්න පුලුවන් කියන එක. උදාහරණයකට අපි Blogger බ්ලොග් එකකට ප්‍රතිචාරයක් යොදන කොට අපිව හඳුනා ගැනීම සඳහා Gmail ගිණුම යොදා ගන්න පුලුවන්. මේ ස‍ඳහා Login වීමට ඇති තැන Google ලාංඡනය ඇති දැයි සොයා බලන්න. එය මත click කල පසු ඔබව Google Accounts Login පිටුවට රැගෙන යයි (මෙය <a href="http://google.com/accounts" target="_blank">http://google.com/accounts</a> විය යුතුයි. අවම වශයෙන් google ඩොමේනය විය යුතුයි. වෙනත් ඩොමේනයක්නම් ඔබගේ රහස්‍ය තොරතුරු ඇතුලත් කරන්න එපා. බොහෝ විට OpenID authentication සිදු වෙන්නේ අදාල සේවාදායකයාගේ ඩොමේනයේ සිට මිස අප ඇතුලත් වීමට දරණ අඩවියේ නොවෙයි.).  එහිදී ඔබගේ Google ගිණුමට ඇතුලු වූ පසු ඔබව නැවත අදාල අඩවියට යොමු කරයි.</li>
</ul>
</li>
<li><a href="http://yahoo.com" target="_blank">Yahoo Accounts </a>
<ul>
<li style="text-align: left;">Google ගිණුම භාවිතා කල ආකාරයෙන්ම Yahoo ගිණුමද භාවිතා කල හැකියි. අදාල අඩවියේ Yahoo ලාංඡනයක් තිබෙනවානම් එය මත click කරන්න.</li>
</ul>
</li>
<li><a href="http://blogger.com" target="_blank">Blogger </a>
<ul>
<li style="text-align: left;">ඔබට Blogger බ්ලොග් එකක් තිබෙනවානම් (http://xxxxx.blogspot.com) (Google ගිණුමක් තිබෙනවානම් Blogger ගිණුමක් ති‍බෙනවා. එය සක්‍රීය කර ගැනීම පමණයි අවශ්‍ය. ඒ සඳහා<a href=" http://blogger.com" target="_blank"> http://blogger.com</a> වෙත යොමු වෙන්න.) එහි URL එක ඔබේ OpenID URL ලෙස භාවිතා කල හැකියි. එවිට ඔබව Blogger පිටුවට යොමු‍වෙනවා.  මේ විදියට Blogger OpenID ලෙස භාවිතා කර ඇති ලින්ක් එකක් මත click කලොත් අදාල බ්ලොග් පිටුවට යොමුවෙනවා.</li>
</ul>
</li>
<li><a href="http://Wordpress.com" target="_blank">Wordpress.com </a>
<ul>
<li style="text-align: left;">Wordpress.com බ්ලොග් එකක් (http://xxxx.wordpress.com) භාවිතා කරනවානම් ඔබට එහි URL එකත් OpenID URL එක ලෙස භාවිතා කරන්න පුලුවන්. මෙය භාවිතා කර ඇති තැන් වලිනුත් යොමු වෙන්නේ අදාල Wordpress.com බ්ලොග් අඩවියට.</li>
</ul>
</li>
<li><a href="http://claimid.com" target="_blank">ClaimId.com </a>
<ul>
<li style="text-align: left;">මෙය OpenID සේවාදායකයෙක් ලෙසම ඇති සේවයක්. <a href="http://claimid.com" target="_blank">http://claimid.com</a> වෙත ගොස් ඔබට claimid.com ගිණුමක් ලබා ගන්න පුලුවන්. එවිට එබට ලැබෙන්නේ URL එකක්. එය සාමාන්‍යයෙන් http://claimid.com/my_username ආකාරයෙන් පවතින්නේ.</li>
<li style="text-align: left;">Claimid භාවිතා කල තැනක් යොමු‍ වෙන්නෙ අප claimid තුල සාදන පිටුවක් වෙතට. නමුත් අපට අවශ්‍යනම් අපගේ පිටුවකට එය යොමු වෙන ආකාරයට සාදා ගත හැකියි. මෙය OpenID තුල හැඳින්වෙන්නේ delegation යනුවෙන්.</li>
</ul>
</li>
<li><a href="http://chi.mp" target="_blank">chi.mp </a>
<ul>
<li style="text-align: left;">මෙය ටිකක් වෙනස් ආකාරයේ සේවාදායකයෙක්. <a href="http://chi.mp" target="_blank">http://chi.mp</a> වෙත ගොස් අපට අපගේම .mp ඩොමේනයක් සාදා ගන්න පුලුවන්. ඉන් පසු එම ඩොමේනය අපගේ OpenID URL එක ලෙස භාවිතා කරන්න පුලුවන්. උදාහරණයකට මට http://chamila.mp යන ඩොමේනය භාවිතා කරමින් OpenID පහසුකම ඇති අඩවියකට පිවිසෙන්න පුලුවන්.</li>
<li style="text-align: left;">chi.mp වල විශේෂත්වය වෙන්නේ OpenID සේවාදායකයෙකු වෙමින් වෙනත් සේවා ලබා ගැනීමටත් හැකියාව තිබීම. අපගේ <a href="http://twitter.com" target="_blank">twitter</a>, <a href="http://facebook.com" target="_blank">facebook </a>වැනි ගිණුම් මධ්‍යගතව හසුරවන්න පුලුවන් සේවා chi.mp මගින් ලබා දෙනවා. එහිදී අනවශ්‍ය ලෙස අපගේ රහස් පද ඉල්ලා සිටින්නේ නෑ. මෙයට අමතරව chi.mp වෙතින් අපට ඔවුන් සාදාදෙන අඩවියකුත් ලබා දෙනවා. එය පෞද්ගලික වෙබ් අඩවියක් ලෙසත් භාවිතා කිරීමට පුලුවන්.</li>
</ul>
</li>
</ol>
<p style="text-align: justify;">මේ ලැයිස්තුව දිහා බැලුවොත් පේනවා දැනටමත් ඔබට OpenId ගිණුමක් තිබීමේ වැදගත් සම්භාවිතාවක් තියෙනවා කියලා. OpenId වල තියෙන අලංකාරය මේකයි. එය මධ්‍යගතව නැහැ. එයට භාරකාරයො නැහැ. <a href="http://OpenId.net" target="_blank">OpenId.net</a>, OpenId සම්මුතිය නඩත්තු කිරීමට ඇති සංවිධානයක් පමණයි.</p>
<p style="text-align: justify;">ඔබට හෝ ඔබගේ සමාගමට අවශ්‍ය නම් කිසිම වියදමක් දරන්නේ නැතුව OpenID සේවාදායකයෙකු විය හැකියි. ඒ සඳහා අවශ්‍ය තාක්ෂණික දැනුම හිඟ නම් delegation යොදා ගෙන වෙනත් සේවාදායකයින් හරහා authentication කාර්යය කරවා ගන්න පුලුවන්.</p>
<p style="text-align: justify;">සයිබර් සංස්කෘතිය ඇතුලේ අනන්‍යතාවය ඉතාමත් වැදගත්. මොකද අපි ලියන කියන දේවල් මොන ආකාරයෙන් කොහේ පිටපත් වෙලා කවුරු අපිව අනුකරණය කරනවාද කියන එක හරියටම කියන්න බැහැ. එම නිසා හැකි සෑම අවස්ථාවකම අනන්‍යතාවයකින් පෙනී සිටින්න පුලුවන් නම් වඩාත් හොඳයි. මේ සඳහා අවශ්‍ය තාක්ෂණික පහසුකම OpenID වෙති සාර්ථකව ලබා දීලා තියෙනවා.</p>
<div>
<blockquote>
<p style="text-align: left;">හැබැයි මේක සත්‍ය තොරතුරු වලින් පෙනී සිටිනවා කියන එකට පටලවගන්න එපා. ඕනෑම අයෙකුට නිර්නාමිකව හෝ අන්වර්ථ නාමයකින් පෙනී සිටින්න සම්පූර්ණ අයිතිය තියෙනවා. ඒ වගේම නිර්නාමිකත්වය රැක ගැනීමේ මූලික අයිතියකුත් තියෙනවා. කාටවත් බල කරන්න බැහැ තමන්ගේ සත්‍ය තොරතුරු යොදාගන්න කියලා. එහෙම කරන කෙනෙක් ඉන්නවනම් ඒ මෙහෙම දෙයක් ගැන මෙලෝ දෙයක් ගැන දන්නේ නැති කෙනෙක් හරි නැත්තන් ඔබේ පෞද්ගලික තොරතුරු දැන ගැනීමට උවමනාවෙන්ම අවශ්‍ය කෙනෙක් වෙන්න පුලුවන්.</p>
</blockquote>
</div>
<p style="text-align: justify;">මීළඟ ලිපියෙන් OpenID පහසු කම අඩවියකින් ලබා දෙන හැටි විස්තර කර ගනිමු.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.techbuzz.chamiladealwis.com/2010/01/openid-service-providers/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Single Sign-on සහ OpenID</title>
		<link>http://www.techbuzz.chamiladealwis.com/2009/12/single-sign-on-openid/</link>
		<comments>http://www.techbuzz.chamiladealwis.com/2009/12/single-sign-on-openid/#comments</comments>
		<pubDate>Thu, 31 Dec 2009 03:00:46 +0000</pubDate>
		<dc:creator>පිටස්තරයා</dc:creator>
				<category><![CDATA[OpenId]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[authentication]]></category>
		<category><![CDATA[Blogger]]></category>
		<category><![CDATA[centralized]]></category>
		<category><![CDATA[credentials]]></category>
		<category><![CDATA[decentralized]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Kerberos]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[passport]]></category>
		<category><![CDATA[Single Sign-on]]></category>
		<category><![CDATA[token]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Yahooo]]></category>

		<guid isPermaLink="false">http://www.techbuzz.chamiladealwis.com/?p=173</guid>
		<description><![CDATA[අන්තර්ජාල පරිශීලකයින් විදිහට අපි නොයෙකුත් සේවා භාවිතා කරනවා. Gmail වැනි වෙබ් ආශ්‍රිත ඊමේල් ‍සේවා, Blogger හෝ Wordpress වැනි සේවා ආදී වශයෙන් මේවා බොහෝම පුළුල් පරාසයක විහිදෙන්න පුලුවන්. ඒ විදිහට විහිදෙන අතරේ එම සේවා සපයන සේවාදායකයින් ප්‍රමාණයත් ඉතාමත් වැඩි වෙන්න පුලුවන්. එතකොට අපි මෙම සේවා එකින් එක භාවිතා කරන්න කලින් සාමාන්‍යයෙන් username හා password ද්විත්වය භාවිතා [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><img class="alignright size-medium wp-image-180" title="openid" src="http://www.techbuzz.chamiladealwis.com/wp-content/uploads/2009/12/openid1-300x100.png" alt="" width="198" height="66" />අන්තර්ජාල පරිශීලකයින් විදිහට අපි නොයෙකුත් සේවා භාවිතා කරනවා. Gmail වැනි වෙබ් ආශ්‍රිත ඊමේල් ‍සේවා, Blogger හෝ Wordpress වැනි සේවා ආදී වශයෙන් මේවා බොහෝම පුළුල් පරාසයක විහිදෙන්න පුලුවන්. ඒ විදිහට විහිදෙන අතරේ එම සේවා සපයන සේවාදායකයින් ප්‍රමාණයත් ඉතාමත් වැඩි වෙන්න පුලුවන්. එතකොට අපි මෙම සේවා එකින් එක භාවිතා කරන්න කලින් සාමාන්‍යයෙන් username හා password ද්විත්වය භාවිතා කරලා අපිව authenticate කර ගන්නවා. නමුත් ‍සේවාදායකයින් ප්‍රමාණය වැඩි වෙන්න වැඩි වෙන්න අපි භාවිතා කරන username/password ප්‍රමාණය වැඩි වෙන්න පුලුවන් (එකම username එක දිගටම භාවිත කරන්න ටිකක් අමාරුයි. එකම password එක භාවිත කිරීම ඉතාමත් අනාරක්ෂිතයි). අනිත් කාරණය මේ වෙන වෙනස් සේවාදායකයින්ගේ සේවා පරිශීලනය කරන්න අපි වෙන වෙනම authenticate කරන්න සිදුවීම.  තවත් දෙයක් තමයි සෑම සේවාදායකයෙකුම එක් එක් පරිශීලකයගේ විස්තර වෙන වෙනම ගබඩා කර තබා ගැනීමට සිදුවීම. මේවා බොහෝවිට එකම දත්ත වෙන් වෙන් තැන්වල තිබෙන ලෙසට තිබුනේ. මේක ඉතාමත් අපහසුකාරී තත්වයක් වුනා.</p>
<p style="text-align: justify;">ඊට පස්සේ ඉතාමත් දක්ෂ අදහසක් මතු වුනා. මේ සියළු වෙනස් සේවා පරිශීලනය කරන්න එකම එක authentication එකක් තිබුනොත් කොහොමද? ඒ කියන්නේ blogger වලට ඇතුලු වෙන්නත් yahoo වලට ඇතුලු වෙන්නත් වෙනත් ප්‍රසිද්ධ නැති සේවාදායකයෙකුගේ සේවයකට ඇතුලු වෙන්නත් එක username/password ද්විත්වයක් තිබුනොත් සහ ඒ සියළු දේට ඇතුලු වෙන්න එක පාරක් විතරක් authenticate කර ගෙන පුලුවන් වුනොත් කොහොමද?</p>
<p style="text-align: justify;">මේ විදියට තමයි single sign-on කියන සංකල්පය අන්තර්ජාලයට ඇතුලු වෙන්නේ. මෙතනදි එක මධ්‍යගත සේවාදායකයෙක් ඉන්නවා. ඔහු තමයි authentication කර්තව්‍යය සිදු කරන්නේ. පහළ තියෙන්නේ මේ සිදුවීම් ජාලාවේ අවුල් ලිහලා ගත්ත version එකක්.</p>
<ol>
<li>මුලින්ම ඒ මධ්‍යගත සේවාදායකයා (A) ලඟ අපි ලියාපදිංචි වෙන්න ඕනේ. එතකොට එතනින් අපිට URL එකක් දෙනවා අපිව අඳුන ගන්න.</li>
<li>අපිට සේවය අවශ්‍ය කරන සේවාදායකයගේ (B) වෙබ් අඩවියට ගියාට පස්සේ එතනින් අපිට අපේ URL ඇතුල් කරන්න තැනක් ලබා දෙනවා (තාම password එකක් ඇතුලු කලේ නෑ).</li>
<li>දැන් B විසින් අපිව අර මධ්‍යගත සේවාදායකයගේ වෙබ් පිටුවට (A) redirect කරනවා. එවිට අපි එතන username එක සහ password එක ලබා දී authenticate කර ගන්න ඕනේ.</li>
<li>දැන් A විසින් අපෙන් අහනවා B වෙතට අපේ තොරතුරු (credentials) යවන්න ද කියලා. අපිට අවශ්‍යනම් අපි අනුමැතිය ලබා දෙනවා. එතකොට කරුණු දෙකක් වෙනවා.
<ol>
<li>B වෙතට අපේ තොරතුරු (credentials) යැවෙනවා</li>
<li>අපේ browser එකට token එකක් ලැබෙනවා (cookie එකක් ලෙසට). මෙය තමයි අපි එම cookie/token එකට අදාල කාලය සඳහා A වෙතින් authenticate කර ගත් බවට ලැබෙන සහතිකය</li>
</ol>
</li>
<li>දැන් B වෙතට ලැබෙන විස්තර වලින් B අපිව authenticate කර ගන්නවා. එතැනට අවශ්‍යනම් (A වෙතින් ලැබෙන) අපගේ identifier එකක් ගබඩා කර තබා ගත හැකියි. පරිශීලක ‍දත්ත වෙනුවට B හට A වෙතින් ලැබෙන තොරතුරු (credentials) භාවිතා කල හැකියි.</li>
<li>දැන් අපි තවත් single sign-on enable කර ඇති සේවා දායකයෙකුගේ (C) වෙබ් අඩවියකට පැමිණියහොත් A වෙතට නොගොස් අපට කලින් A වෙතින් ලැබුණු token එක ඉදිරිපත් කල හැකියි. එය expire වී නැතිනම් අපව C විසින් authenticate කර ගන්නවා. එවිට C හටත් එම token එක භාවිතා කර අ‍පගේ විස්තර ලබා ගත හැකියි.</li>
<li>අදාල token එක expire වූ පසු නැවත භාවිතා කිරීමට අවශ්‍යනම් අපි නැවත A වෙත ගොස් authenticate කර ගත යුතුයි.</li>
</ol>
<p style="text-align: justify;">පැහැදිලි මදි වගේද? අපි උදාහරණයකට යමු OpenID ගැන කතා කලාට පසුව.</p>
<p style="text-align: justify;"><img class="aligncenter size-medium wp-image-177" title="netsignin" src="http://www.techbuzz.chamiladealwis.com/wp-content/uploads/2009/12/netsignin-300x283.jpg" alt="" width="300" height="283" />මෙම single sign-on ක්‍රමය ක්‍රියාත්මක කරන්න මුලින්ම කර ගැහුවේ Microsoft .net Certificate යනුවෙන්. එය ටික ‍කාලෙකට පස්සේ නොයෙකුත් හේතු උඩ අසාර්ථක වුනා. මම දන්න ආකාරයට Kerberos යනුවෙන් තිබුණු පද්ධතියත් එවැනි කාර්යයක් සිදු කලා. නමුත් එයත් වඩාත් ජනප්‍රිය වුනේ නෑ.</p>
<p style="text-align: justify;">OpenID මෙම කරළියට එන අලුත්ම මෙන්ම වැඩියෙන්ම ජනප්‍රිය වෙච්ච implementation එක. එය implementation එකකටත් වඩා සම්මතයක් කීවොත් නිවැරදියි. අපි කලින් flow එකේදි එක් මධ්‍යගත ස්වාදායකයෙකු (A) ගැන කතා කලා. OpenID වලදි මේක ටිකක් වෙනස් වෙනවා. එහි මධ්‍යගත (centralized) වෙනුවට විමධ්‍යගත (decentralized) සේවාදායකයින් කිහිප දෙනෙක් සිටිනවා. අපට වුනත් අලුත් OpenID සේවාදායකයෙකු ලෙස එකතු විය හැකියි. ඉතුරු කාර්යයන් ටික බොහෝ දුරට සමානයි. OpenID වල වැඩි පුර වාසියක් වෙන්නේ එය එක් authentication ආකාරයක් බල කරන්නේ නැති බව. ඒ නිසා අපට username/password වෙනුවට ඇඟිළි සළකුණු, SmartCards වැනි දේත් authentication සඳහා යොදා ගන්න පුලුවන්. ඉතාමත් ගුණාත්මක ආකාරයේ authentication ආකාරයක් භාවිතා කරමින් OpenID වඩා ආරක්ෂාව වැදගත් කටයුතු (උදා: බැංකු කටයුතු) වලටත් යොදා ගන්න පුලුවන්.</p>
<p>අපට OpenID එකක් ලබා ගත හැකි ක්‍රම දෙකක් තිබෙනවා.</p>
<ul>
<li>දැනටම මෙම සේවාව ලබා දෙන තැනකින් අපට URL එකක් ලබා ගැනීම</li>
<li>අපගේ domain එකක් භාවිතා ‍කර එය OpenID එකක් ලෙස යොදා ගැනීම</li>
</ul>
<p style="text-align: justify;">දැනට OpenID සේවාව ලබා ගත හැකි බොහෝ ස්ථාන තිබෙනවා. ClaimID, MyOpenID වැනි සේවාදායකයින්ගෙන් අපට OpenID එකක් ලබා ගත හැකියි. ඒ වගේම Google, Yahoo, Blogger, Wordpress වැනි සංවිධාන වලින් ඔවුන්ගේ පරිශීලකයින්ට OpenID සේවාව ලබා දෙනවා. ඔබට දැනටමත් මෙම සේවාදායකයින්ගේ ගිණුමක් තිබෙනවනම් එම අදාල URL (උදා: blogger වල නම් blogspot අඩවි ලිපිනය) එක OpenID එකක් ලෙස භාවිතා කල හැකියි. මෙම සේවාදායකයින් පිළිබඳ වැඩි විස්තර සඳහා <a href="http://openid.net/get-an-openid/" target="_blank">http://openid.net/get-an-openid/</a> වෙතට යන්න.</p>
<p style="text-align: justify;">OpenID පිළිබඳ වැඩි දුරටත් මීළඟ ලිපියෙන් බලාපොරොත්තු වෙන්න.</p>
<p><strong>Bibliography</strong></p>
<ol>
<li><a href="# http://en.wikipedia.org/wiki/OpenID" target="_blank">http://en.wikipedia.org/wiki/OpenID</a></li>
<li><a href="http://openid.net/get-an-openid/" target="_blank">http://openid.net/get-an-openid/</a></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.techbuzz.chamiladealwis.com/2009/12/single-sign-on-openid/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>වින්ඩෝස් තුල .htaccess ගොනුවක් සෑදීම</title>
		<link>http://www.techbuzz.chamiladealwis.com/2009/12/creating-htaccess-in-windows/</link>
		<comments>http://www.techbuzz.chamiladealwis.com/2009/12/creating-htaccess-in-windows/#comments</comments>
		<pubDate>Wed, 30 Dec 2009 19:48:49 +0000</pubDate>
		<dc:creator>පිටස්තරයා</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[access]]></category>
		<category><![CDATA[වින්ඩෝස්]]></category>
		<category><![CDATA[DOS]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[htaccess]]></category>
		<category><![CDATA[httpd]]></category>
		<category><![CDATA[server]]></category>

		<guid isPermaLink="false">http://www.techbuzz.chamiladealwis.com/?p=169</guid>
		<description><![CDATA[.htaccess කියන්නේ Apache httpd server එක සඳහා access rights ලබා දීමට උපයෝගී කරගන්නා ගොනු වර්ගයක්. උදාහරණයක් ලෙස අපට යම් කිසි ෆෝල්ඩරයක් පිට පරිශීලකයින්ට ඇතුල් වීම තහනම් කිරීමට අවශ්‍යනම් ඒ සඳහා directives මෙම .htaccess ගොනුව තුල ලියා එය අදාල ෆෝල්ඩරය තුලට පිටපත් කරන්න පුලුවන්.
. වලින් පටන් ගන්න ගොනු ලිනක්ස් තුලදී නම් සැඟවුණු ගොනු (hidden files) ලෙසටයි [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><img class="alignright size-full wp-image-170" title="apache-logo" src="http://www.techbuzz.chamiladealwis.com/wp-content/uploads/2009/12/apache-logo.jpg" alt="" width="200" height="96" />.htaccess කියන්නේ Apache httpd server එක සඳහා access rights ලබා දීමට උපයෝගී කරගන්නා ගොනු වර්ගයක්. උදාහරණයක් ලෙස අපට යම් කිසි ෆෝල්ඩරයක් පිට පරිශීලකයින්ට ඇතුල් වීම තහනම් කිරීමට අවශ්‍යනම් ඒ සඳහා directives මෙම .htaccess ගොනුව තුල ලියා එය අදාල ෆෝල්ඩරය තුලට පිටපත් කරන්න පුලුවන්.</p>
<p style="text-align: justify;">. වලින් පටන් ගන්න ගොනු ලිනක්ස් තුලදී නම් සැඟවුණු ගොනු (hidden files) ලෙසටයි ගන්නේ. එම නිසා ලිනක්ස් තුලදී එවැනි ගොනුවක් සෑදීම පහසුයි. නමුත් වින්ඩෝස් තුල එවැන්නක් නැහැ. ගොනුවක් සඟවන්න එහි attribute එකක් වෙනස් කරන්න ඕනේ (Dos තුලදී attrib +h &lt;<em>file_name</em>&gt; වැනි විධානයක්). ඒ වගේම වින්ඩෝස් තුල ලිනක්ස් වල නැති ගොනු වලට අදාල ගුණාංගයක් තියෙනවා. ඒක තමයි extension එක. මේක ලිනක්ස් වලදී අත්‍යවශ්‍ය නැහැ. නමුත් වින්ඩෝස් තුලදී extension එකක් ගොනුවක් හඳුනා ගැනීම හා ඒවා කියවීමට අත්‍යවශ්‍යයි. Extension එකක් නැති වුවහොත් එය බලෙන් කියවීමට අපට සිදුවෙනවා. සාමාන්‍යයෙන් වින්ඩෝස් තුල ගොනු නාමය (file name) හා extension එක වෙන වෙන්නේ තිතකින් (උදා: usp10.dll).</p>
<p style="text-align: justify;">වින්ඩෝස් ඇතුලෙදි .htaccess ගොනුවක් සාදන්න සාමාන්‍යයෙන් බැහැ. මොකද ඒකට file name එකක් නැති නිසා. extension එකක් පමණක් ඇති ගොනු තිබෙන්න බැහැ. මේ කරදරය වලක්වා ගැනීම සඳහා අපට Notepad යොදා ගන්න පුලුවන්.</p>
<p style="text-align: justify;">අපට .htaccess ගොනුවට දැමීමට අවශ්‍ය ‍දේ Notepad විවෘත කර ඒ තුල ලියන්න. ඉන්පසුව Save වෙත ගොස් එහි File name තුල &#8220;.htaccess&#8221; ලෙස (double quotation ද ඇතුලුව) යොදන්න. දැන් අදාල ගොනුව සෑදි තිබෙන හැටි දකින්න පුලුවන්. මෙය ඔබට අදාල තැනට පිටපත් කර ගන්න.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.techbuzz.chamiladealwis.com/2009/12/creating-htaccess-in-windows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipse ලිනක්ස් තුල ස්ථාපනය කර ගැනීම</title>
		<link>http://www.techbuzz.chamiladealwis.com/2009/12/installing-eclipse-in-linux/</link>
		<comments>http://www.techbuzz.chamiladealwis.com/2009/12/installing-eclipse-in-linux/#comments</comments>
		<pubDate>Sat, 05 Dec 2009 16:08:50 +0000</pubDate>
		<dc:creator>පිටස්තරයා</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[JBuilder]]></category>
		<category><![CDATA[netbeans]]></category>
		<category><![CDATA[shortcut]]></category>

		<guid isPermaLink="false">http://www.techbuzz.chamiladealwis.com/?p=157</guid>
		<description><![CDATA[Java සහ වෙනත් පරිගණක භාෂා භාවිතයේදී eclipse කියන්නේ හැමෝම දන්න දෙයක්. eclipse කියන්නේ IDE එකක්. නමුත් වෙනත් IDE (netbeans, Jbuilder etc) වලට වඩා developers ලාගේ සිත් ගත් එකක්. ඒ හුඟක් වෙලාවට eclipse වෙනස් කර ගන්න බොහෝම ලේසි නිසා.
ලිනක්ස් තුලට eclipse ස්ථාපනය කර ගන්න පුලුවන් විධි දෙකක් (සාමාන්‍යයෙන්) තියෙනවා. එකක් package manager භාවිතා කරලා ස්ථාපනය කර [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><img class="alignright size-full wp-image-163" title="eclipse-logo-white" src="http://www.techbuzz.chamiladealwis.com/wp-content/uploads/2009/12/eclipse-logo-white.jpg" alt="eclipse-logo-white" width="198" height="115" />Java සහ වෙනත් පරිගණක භාෂා භාවිතයේදී eclipse කියන්නේ හැමෝම දන්න දෙයක්. eclipse කියන්නේ IDE එකක්. නමුත් වෙනත් IDE (netbeans, Jbuilder etc) වලට වඩා developers ලාගේ සිත් ගත් එකක්. ඒ හුඟක් වෙලාවට eclipse වෙනස් කර ගන්න බොහෝම ලේසි නිසා.</p>
<p style="text-align: justify;">ලිනක්ස් තුලට eclipse ස්ථාපනය කර ගන්න පුලුවන් විධි දෙකක් (සාමාන්‍යයෙන්) තියෙනවා. එකක් package manager භාවිතා කරලා ස්ථාපනය කර ගන්න එක. මේ ක්‍රමයෙන් ස්ථාපනය වෙන eclipse ටිකක් පරණ වෙන්න පුලුවන්. අනිත් එක <a href="http://www.eclipse.org/downloads/" target="_blank">eclipse අඩවිය</a>ට ගිහින් තියෙන අලුත්ම එක බාගත කරගෙන අතින් ස්ථාපනය කරන එක. අපි මේ ක්‍රමය අනුගමනය කරමු.</p>
<p style="text-align: justify;">මුලින්ම තමන්ට අවශ්‍ය eclipse අනුවාදය බාගත කර ගන්න. ඒක හුඟක් වෙලාවට ~/Downloads ඇතුලට ටාර්බෝල් එකක් විදියට තමයි බාගත වෙන්නේ. දැපහත විධාන ටික ටර්මිනලයක ඇතුලත් කරන්න. මුලින්ම අපි root වෙලා හිටියොත් හරි නැත්තන් sudo තියෙනවනම් ඒක භාවිතා කලොත් හරි හොඳයි. මම sudo විදියට කරන්නම්.</p>
<pre class="brush: bash">
sudo mv ~/Downloads/eclipse-java-*****.tar.gz /usr/local/
cd /usr/local
sudo tar -xzf eclipse-java*****.tar.gz
sudo chown -R your_username:your_group_name eclipse
sudo ln -s /usr/local/eclipse/eclipse /usr/local/bin/eclipse
</pre>
<p style="text-align: justify;">පළවෙනි පේළියෙන් කරන්නේ දැනට බාගත කරපු .tar.gz ගොනුව /usr/local ඩිරෙක්ටරිය ඇතුලට move කරන එක. සාමාන්‍යයෙන් ලිනක්ස් ඇතුලේ මෘදුකාංග ස්ථාපනය කරන්නේ /usr හෝ /usr/local ඇතුලේ. දෙවෙනි පේළියෙන් අපි ඒ ඩිරෙක්ටරිය ඇතුලට යනවා.</p>
<p style="text-align: justify;">තුන්වෙනි පේළියෙන් කරන්නේ .tar.gz ගොනුව extract කරන එක.  ඊට පස්සේ ls -l කියලා විධානය දුන්නොත් ඔබ දකියි /usr/local/eclipse යනුවෙන් ඩිරෙක්ටරියක් හැදිලා තියෙන බව. නමුත් තාමත් ඒ ගොනුව අයිති අපිට නෙමෙයි. ඒක අපේ අතට ගන්න එක තමයි හතරවෙනි පේළියෙන් කරන්නේ. මෙතනදි <em>your_username</em> වෙනුවට ඔබ භාවිතා කරන පරිශීලක නම දෙන්න. <em>your_group_name </em>වෙනුවට ඔබේ සමූහයේ නම දෙන්න. ඒක හුඟක් වෙලාවට ඔබේ පරිශීලක නමම තමයි. මම දුන්නේ chamila:chamila  කියලා. chown විධානයෙන් කරන්නේ අදාල ගොනුවේ (හෝ ඩිරෙක්ටරියෙ. ලිනක්ස් තුල හැම එකක්ම ගොනුවක්!) අයිතිකාරයා වෙනස් කරන එක.</p>
<p style="text-align: justify;">දැන් අන්තිමට කරන්නේ තියෙන්නේ ටර්මිනලයේ eclipse කියලා විධානය දුන්නාම eclipse විවෘත වෙන විදියට පොඩි සබැඳියක් දාන එක. මේකට අපි හදනවා symbolic link එකක්. මේකත් ගොනු වර්ගයක්. නමුත් symbolic link එකකින් කරන්නේ වෙනත් ගොනුවකට යොමු කිරීම. හරියට වින්ඩෝස් වල shortcut (.lnk ගොනුවක්) එකක් වගේ. මේ සඳහා අපි පස්වෙනි පේළියේ විධානය දෙනවා. එතනින් කරන්නේ /usr/local/eclipse/eclipse ගොනුවට shortcut එකක් /usr/local/bin/ ඩිරෙක්ටරිය තුල යෙදීමයි.</p>
<p style="text-align: justify;">දැන් ටර්මිනලය තුල eclipse යනුවෙන් විධානය ලබා දී බලන්න. අවශ්‍යනම් Gnome පැනලයකට launcher එකක් ඇතුලත් කල හැකියි. එහි command තුලට eclipse යනුවෙන් ලබා දීම පමණයි අවශ්‍ය.</p>
<p style="text-align: justify;"><img class="aligncenter size-full wp-image-167" title="Screenshot-Launcher Properties" src="http://www.techbuzz.chamiladealwis.com/wp-content/uploads/2009/12/Screenshot-Launcher-Properties.png" alt="Screenshot-Launcher Properties" width="415" height="187" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.techbuzz.chamiladealwis.com/2009/12/installing-eclipse-in-linux/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
