Tuesday, 23 November 2010

web server එකක් මුලසිට හදාගනිමු 2

කලින් ලිපිය කියෙව්වෙ නැතිනම් මෙතනින් ඒක කියවලා ඉන්නකො. අද බලමු MySql සහ php දාගන්නෙ කොහොමද කියලා. තමන්ගෙ කැමැත්ත අනුව MySql වෙනුවට postgresql හෝ mysqlite වගේ ආදේශකයක් දාගන්නත් පුලුවන්.

ස්ථාපණය බොහෝම සරලයි. කලින් ලිපියෙ කියපු විදිහට server එකට ssh කරලා yum භාවිතයෙන් MySql දාගන්න මෙහෙම විධානය දෙන්න.

# yum install mysql-server

ස්ථාපණය ඉවර උනාම sqlserver එක run කරන්න inid.d තුල තියන demon ව run කරන්නයි තියෙන්නෙ.

# /etc/init.d/mysqld start

ස්ථාපණය ඔච්චරයි උනාට configuration කරගන්නත්‌ එපායෑ. මේක අතින් කරන්න කරදර වෙන්න ඕන නෑ. වැඩේ ලේසියෙන් කරගන්න script එකක් ලබාදීලා තියනවා. ඒක run කරලා අහන ප්‍රශ්ණ වලට උත්තර දෙන්නයි තියෙන්නෙ. script එක තියෙන්නෙ /usr/bin තුල.

# /usr/bin/mysql_secure_installation

මුලින්ම අහයි mysql වල root password එක මොකද්ද කියලා. default මුරපදයක් නැතිවයි mysql ස්ථාපණය සිද්ධ වෙන්නෙ. නිකන්ම enter කරන්නයි තියෙන්නෙ. ඊලගට කරන්න තියෙන්නෙ root සදහා අලුත් මුරපදයක් ලබාදෙන එක. මතක තියාගන්න. මෙතන root කියන්නෙ mysql root පරිශීලකයා මිසක් OS එකේ root පරිශීලකයා නෙමේ. ලබාදීපු මුරපදය සහතික කරලා enter කරන්න.

mysql ස්ථාපණය වෙද්දි default විදියට anonymous login සක්‍රීය වෙලායි තියෙන්නෙ. ඇතැම් අවස්ථා වල මෙහෙම තියන එක පහසුවක් උනාට ආරක්ශාව අතින් නම් මේක හොද දෙයක් නෙමේ. ඕන කෙනෙක්ට පරිශීලක නාමය anonymous සහ මුරපදයක් නැතිව mysql හා සම්බන්ධ වෙන්න පුලුවන් read only permission සහිතව. අනවශ්‍ය ලෙඩ දාගන්න ඕනෙ නෑ නෙ. ඒක නිසා මේක disable කරන්න y ලබාදීලා enter කරන්න.

default සැකසුම් වලට අනුව root ට වෙනත් පරිගණකයක ඉදලා සම්බන්ධ වෙන්න පුලුවන්. උදාහරණයක් විදිහට mysql client (හෝ server) ස්ථාපණය කරලා තියන වෙනත් පරිගණකයක ඉදලා

# mysql -h <ඔයාගෙ server එකේ ip එක> -u root -p

# mysql -h 192.168.11.10 -u root -p

කියලා දීලා ඔයාගෙ mysql සවාවට සම්බන්ධ වෙන්න පුලුවන්. ආරක්ෂිතව server එකට ssh කරන්න පුලුවන් කම තියෙද්දි වෙනත් පරිගණකයක sql client එකකින් ඉහත කියපු විදිහට සම්බන්ධ වෙන්න උවමනාවක් නෑ නෙ. phpmyadmin වගේ සේවවකට උනතත් මේ සැකසුමෙන් බාධාවක් වෙන්නෙ නෑ සේවාවන් දෙකම එකම server එකේ install කරලා තියනකොට. remote root login අක්‍රීය කරන්න y ලබාදීලා enter කරන්න.

mysql ස්ථාපණය වෙනකොට test කියලා database එකක් හැදෙනවා test data ටිකක් එක්ක, developers ලට අතපතගාලා බලන්න. server එකට මේක තියාගන ඉන්න එකේ වැඩක් නෑ නෙ. අනික server එකක වැඩ කෙරෙන්න උවමනාම දේවල් ඇරෙන්න අනවශ්‍ය දේවල අයින් කරලා පිලිවලට තියාගන්න ඕනා කියලා අමුතුවෙන් කියන්න ඕනෙ නෑ නෙ. test database එක ඉවත්‌කරන්න y දීලා enter කරන්න.

අර anonymous login පහසුකම disable කලා මතකනෙ. පරිශීලකයන්ගෙ rights වෙනස් කරපුවහම ඒවා සක්‍රීය වෙන්න නම් privilege tables reload කරන්න ඕනා. y කියලා enter කරන්න.

උවමනාම නම් ඇරෙන්න නිතරම root පාවිච්චි කරන එක එච්චර හොද පුරුද්දක් නෙමේ. ඒකනිසා තමන්ගෙ නමින් user account එකක් තියාගන්න එක හොද පුරුද්දක්. මේ සදහා mysql වලට log වෙන්න.
# mysql -u root -p ලෙස විධානය ලබාදෙන්න. මුරපදය ඉල්ලුවහම ඔයා අර script එක ධාවනය කරලා ලබාදීපු මුරපදය ලබාදෙන්න. mysql> විදිහට prompt එක වෙනස් උනා කියන්නෙ ඔයා mysql වෙත සාර්ථකව log වෙලයි ඉන්නෙ.
අලුත් පරිශීලක ගිනුමක් හදන්න

mysql> CREATE USER 'නම'@'localhost' IDENTIFIED BY 'මුරපදය';

අලුත හදපු පරිශීලකයට සම්පූර්ණ බලතල දෙන්න

mysql> GRANT ALL PRIVILEGES ON *.* TO 'නම'@'localhost' WITH GRANT OPTION;

ඔය *.* කියන එකෙන් අදහස් වෙන්නනෙ <සියලුම database> . <සියලුම tables> කියන එකයි. WITH GRANT OPTION කියන්නෙ පරිශීලකයට තියන බලතල වෙනත් පරිශීලකයෙකුට ලබාදරන්න ඒ පරිශීලකයට බලතල දෙන්න කින එක. application සදහා පරිශීලක ගිනුම් සදනකොට ඔය WITH GRANT OPTION කොටස ලබාදෙන්න එපා.

mysql ස්ථාපණය කරලා configure කිරිල්ල ඔච්චරයි. දැන් තියෙන්නෙ PHP ස්ථාපණය කරන්න.

# yum install php php-common

php සදහා විවිධ application සහය දක්වන්න ඒ සදහා අදාල package එක ස්ථාපණය කරගත යුතුයි.
mysql සදහා සහයදක්වන්න

# yum install php-mysql

ඔය විදිහට php සහය සහිත අනිත් packages බලාගන්න පහත විධානයෙන් පුලුවන්

# yum list php-* | more

more වලින් කරන්නෙ output එක පිටුවකට පෙනන විදියට දර්ශණය කරන එක කියලා දන්නවනෙ ;)

php සාර්ථකව ස්ථාපණය වෙලාද බලන්නෙ මෙන්න මෙහෙම. ඔයාගෙ apache ස්ථාපණය document root එක විදිහට සලකන්නෙ /var/www කියන directory එක. එන පොඩි php ගොනුවක් හදන්නයි තියෙන්නෙ.

#nano /etc/www/phpinfo.php කියලා අලුත් ගොනුවක් විවෘත කරගන පහත කේතය ලබාදෙන්න
< ?php phpinfo(); ? >

ctrl + x ලබාදීලා save කරන්න y දීලා enter කරන්න.
දැන් ඔයාගෙ browser එකේ http://< server ip එක >/phpinfo.php දීලා බලන්න php විස්තර සහිත වෙබ් පිටුවක් දිස්වෙනවද කියලා?





පිටුව හොයාගන්න බෑ කියලා error එකක් එනව නම් apache වල document root එක /var/www වලට නේද set වෙලා තියෙන්නෙ කියලා double check කරන්න.

#nano /etc/httpd/conf/httpd.conf

nano කියන්නෙ text editor එකක් කියලා දන්නවනෙ. ඔය configuration file එකේ document root කියන variable එක කොහෙද තියෙන්නෙ කියලා ගොයාගන්නයි තියෙන්නෙ. search කරන්න ctrl + w ගහලා documentroot කියලා type කරලා enter කරන්න.

DocumentRoot "/var/www" කියලා නෙමේ නම්‌ පෙන්වන්නෙ, ඔය විදිහට වෙනස් කරගන්න.

ඊට පස්සෙ apache restart කරන්න

#/etc/init.d/httpd restart

වැඩිදුර configuration කරන හැටි ඊලග ලිපියෙන් බලමු

3 comments:

  1. ඉතාමත් වටිනා ලිපියක්..ඇන්ත්‍රැක්ස් අයියට බොහොම ස්තුතියි.

    ReplyDelete
  2. මාරු ලිපිය.නොදන්න පැත්තක් ගෑන් පොඩ්ඩ පොඩ්ඩ දැගන්න පුලුවන් උනා.මේකෙ ඉතුරු කොටසත් ඉක්මනින්ම බලාපොරොත්තු වෙනව

    ReplyDelete
  3. එල එල. ඔහොම යං...

    ReplyDelete