Hosting a WordPress Blog with Amazon Linux

အရင်တစ်ခါက ရေးသားခဲ့တဲ့ ပိုစ့်တွေဟာဆိုရင် Amazon Linux နဲ့ EC2 instance တစ်ခုဆောက်ခဲ့တဲ့  ဆိုတဲ့ပိုစ့်ကိုရေးသားခဲ့ပြီးနောက် Launch လုပ်ခဲ့တဲ့ EC2 ကို LAMP installation လုပ်ခဲ့တဲ့ tutorial ကိုလဲ ရေးသားခဲ့ပြီးပါပြီ။အကယ်လို့မလေ့လာရသေးဘူးဆိုရင် အောက်ပါလင့်မှာ သွားရောက်လေ့လာနိုင်ပါတယ်။

  • EC2 instance ကို Launch လုပ်ခြင်း                                                                                      How To Launch EC2 Instance ? 
  • Launch လုပ်ခဲ့တဲ့ EC2 ပေါ်မှာ LAMP server ကို setup လုပ်ခြင်း                                    How to set up EC2 as LAMP system ?

ခုဒီတစ်ခါမှာတော့ အပေါ်က tutorial တွေအပြင် Amazon Linux instance ပေါ်မှာ WordPress blog တစ်ခုကို ဘယ်လို config လုပ်ရမလဲဆိုတာကို ဆက်လက်လေ့လာကြရမှာ ဖြစ်ပါတယ်။ ဒီ tutorial ဟာဆိုရင် Amazon EC2 ကို အသုံးပြုပြီးတော့ မိမိ၏ WordPress blog တစ်ခု Host လုပ်ခြင်းကို web server တစ်ခုကနေ အပြည့်အဝ control လုပ်နိုင်တယ်ဆိုတဲ့ အရာကို လေ့လာရမှာဖြစ်ပါတယ်။ ပုံမှန် hosting service တွေနဲ့တော့တူမှာ မဟုတ်ပါဘူး။

ကြိုတင်ပြင်ဆင်ချက်

  • Amazon Linux instance ကို Launch လုပ်ထားရပါမယ်။
  • Launch လုပ်ခဲ့တဲ့ instance ပေါ်မှာ PHP/database(MySQL or MariaDB) function တွေ install လုပ်ခဲ့တဲ့ webserver လဲ ရှိနေရပါမယ်။
  • Instance ၏ security group မှာ HTTP/HTTPS traffic တွေကို allow လုပ်ဖို့ရန်တွက် Security group ရဲ့ Rules မှာ ရှိမရှိ စစ်ဆေးပါ။
  • WordPress blog ကို host လုပ်မှာဖြစ်တဲ့အတွက် EIP address ကို ချိတ်ထားဖို့တော့ recommend လုပ်ချင်ပါတယ်။ ဘာလို့ဆို Instance ရဲ့ Public DNS address တွေ changing ဖြစ်သွားတာမျိုး breaking ဖြစ်နိုင်တဲ့ အခြေနေ မှ ကာကွယ်နိုင်ဖို့ရန်ဘဲ ဖြစ်ပါတယ်။

WordPress ကို Install လုပ်ခြင်း

Step (1) Wordpress installation package ကို download/unzip လုပ်ခြင်း

  • latest ဖြစ်တဲ့ WordPress installation package ကို wget command ကို အသုံးပြုပြီး Download လုပ်ပါမယ်။

  • Installation package ကို Unzip / Unarchive လုပ်ရမှာ ဖြစ်ပါတယ်။ Installation folder ကို unzip လုပ်ခဲ့တဲ့ folder ဟာဆိုရင် wordpress folder တစ်ခုဘဲဖြစ်ပါတယ်။

Step (2) Installation လုပ်ခဲ့တဲ့ WordPress အတွက် database နဲ့ database user တစ်ခု Create လုပ်ခြင်း

  • Installation လုပ်ခဲ့တဲ့ WordPress ဟာဆိုရင် information တွေကို သိမ်းဆည်းဖို့လိုပါတယ်။ (eg. blog posts,user comments တွေကို database မှာ သိမ်းဆည်းခြင်းဖြစ်ပါတယ်။)
  • database ဆောက်ဖို့တွက် database server ကို စတင် run ရပါမယ်။

  • database server ကို Edit လုပ်ဖို့ဆိုရင် EC2-user account နဲ့ လုပ်ရင် permission denied ဖြစ်ပါလိမ့်မယ်။
  • database server ကို root account သာလျှင် Edit နိုင်မှာ ဖြစ်ပါတယ်။
  • root user အနေဖြင့် database server ကို log in ဝင်ရပါမယ်။
  • login ဝင်ဖို့ရန် database root password ကို ရိုက်ထည့်လိုက်ပါ။

  • MySQL database အတွက် username/password ကို Create လုပ်ပါမယ်။
  • Installation လုပ်ခဲ့တဲ့ WordPress ဟာဆိုရင် MySQL database နဲ့ communicate လုပ်မှာဖြစ်တဲ့အတွက်ဖြစ်ပါတယ်။
  • အောက်ဖော်ပြပါ command မှာဆိုရင် wordpress-user/your_strong_password နေရာမှာ မိမိဆောက်မဲ့ database ရဲ့ username/password ကို ထည့်ပါ။

Note: (1)user တွက် password ကို strong password မျိုးပေးရပါမယ်။secure ပိုင်းလုံခြုံမှုရှိဖို့ရန်ဖြစ်ပါတယ်။ (2) password မှာ single quote character ( ‘ ) တွေအသုံးပြုလို့မရပါဘူး။ ဘာလို့ဆို command processing ကို break ဖြစ်စေတဲ့အတွက်ကြောင့်ဖြစ်ပါတယ်။

  • Database ကို create လုပ်ပါမယ်။

                                                                               Note: db name ပေးတဲ့အခါမှာ ပြီးပြည့်စုံပြီး အဓိပ္ပာယ်ရှိတဲ့ name မျိုးပေးသင့်ပါတယ်။(ဥပမာ wordpress တွက် database ကို ဆောက်မှာဖြစ်တဲ့အတွက် wordpress-db ဆိုတဲ့ name ပုံစံမျိုးပေးသင့်ပါတယ်။)

  • စောနက create လုပ်ခဲ့တဲ့ WordPress user ကို database ကို full privileges ပေးထားရပါမယ်။ သို့မှသာ WordPress blog က database ကို အသုံးပြုနိုင်မှာဖြစ်ပါတယ်။

  • ပြောင်းလဲမှုအကုန်ကို Pick up လုပ်ဖို့ရန် database privileges ကို Flush လုပ်ရပါမယ်။

  • mysql database ကို ဆောက်ပြီးပြီ ဖြစ်တဲ့ အတွက်ကြောင့် mysql client ကနေ ထွက်လိုက်ပါ။

Step (3) Wordpress blog ရဲ့ wp-config.php file ကို ပွောငျးလဲပွငျဆငျခွငျး

  • WordPress installation folder မှာ  sample configuration file က wp-config-sample.php အနေနဲ့ ပါဝင်ပါတယ်။
  • sample config file ကို copy ယူပြီး မိမိ setup လုပ်ခဲ့တဲ့ data ကို ထည့်သွင်းရမှာ ဖြစ်ပါတယ်။
  • wp-config-sample.php file ကို copy လုပ်ပြီး file name ကို wp-config.php လို့ ပေးလိုက်ပါ။ ဘာလို့ဆို wordpress က wp-config.php ကိုနဲ့သာ connect လုပ်မှာဖြစ်တဲ့အတွက်ဖြစ်ပါတယ်။

       Note: config file ကို အသစ် create လုပ်လိုက်ပေမဲ့ sample file data တွေကတော့ keep ဖြစ်နေမှာပါ။

  • wp-config.php file ကို Edit လုပ်ဖို့တွက် text editor (nano or vim) တွေကို အသုံးပြုရမှာဖြစ်ပါတယ်။

                                                                  Note: nano text editor ကတော့ အသုံးပြုရတာ ပိုပြီး suitable ဖြစ်ပါတယ်။

  • “defines DB_NAME” line ကို ရှာပြီး “database_name_here” နေရာမှာ Step(2) မှာ Create လုပ်ခဲ့တဲ့ DB name ကို ထည့်ရမှာဖြစ်ပါတယ်။

  • “defines DB_USER” နဲ့ “defines DB_PASSWORD” lines ကိုရှာပါ။ပြီးရင် “username_here to the database user” နဲ့ “password_here to the database user”နေရာမှာလဲ database server မှာ မိမိ create လုပ်ခဲ့တဲ့ username နဲ့ password ကို ထည့်သွင်းရမှာ ဖြစ်ပါတယ်။သို့မှသာ db server ကို connect လုပ်နိုင်မှာ ဖြစ်ပါတယ်။

  • “Authentication Unique Keys and Salts” section ကိုရှာပါ။ KEY နဲ့ SALT values တွေက WordPress users တွေက local machines မှာ store လုပ်တဲ့အခါ မှာ browser cookies ရဲ့ encryption layer ကို provide လုပ်ပေးပါတယ်။ မိမိ siteကို ပိုပြီး secure ဖြစ်စေပါတယ်။
define('AUTH_KEY',         ' #U$$+[RXN8:b^-L 0(WU_+ c+WFkI~c]o]-bHw+)/Aj[wTwSiZ<Qb[mghEXcRh-'); define('SECURE_AUTH_KEY', 'Zsz._P=l/|y.Lq)XjlkwS1y5NJ76E6EJ.AV0pCKZZB,*~*r ?6OP$eJT@;+(ndLg'); define('LOGGED_IN_KEY', 'ju}qwre3V*+8f_zOWf?{LlGsQ]Ye@2Jh^,8x>)Y |;(^[Iw]Pi+LG#A4R?7N`YB3'); define('NONCE_KEY', 'P(g62HeZxEes|LnI^i=H,[XwK9I&[2s|:?0N}VJM%?;v2v]v+;+^9eXUahg@::Cj'); define('AUTH_SALT', 'C$DpB4Hj[JK:?{ql`sRVa:{:7yShy(9A@5wg+`JJVb1fk%_-Bx*M4(qc[Qg%JT!h'); define('SECURE_AUTH_SALT', 'd!uRu#}+q#{f$Z?Z9uFPG.${+S{n~1M&%@~gL>U>NV<zpD-@2-Es7Q1O-bp28EKv'); define('LOGGED_IN_SALT', ';j{00P*owZf)kVD+FVLn-~ >.|Y%Ug4#I^*LVd9QeZ^&XmK|e(76miC+&W&+^0P/'); define('NONCE_SALT', '-97r*V/cgxLmp?Zy4zUU4r99QQ_rGs2LTd%P;|_e1tS)8_B/,.6[=UK<J_y9?JWG');

Note: အထက်ဖော်ပြပါ key/salt values တွေက example ဖြစ်တဲ့အတွက် installation တွင် အသုံးမပြုရပါ။

မိမိ site ကို ပိုမို secure ဖြစ်စေဖို့ တွက် အောက်ပါ လင့်ကို သွားပြီး ရရှိလာတဲ့ ramdom values ကိုသာ ထည့်သွင်းရမှာ ဖြစ်ပါတယ်။https://api.wordpress.org/secret-key/1.1/salt/

  • ထို့နောက်မှာတော့ text editor file ကို save ပြီး exit လုပ်ပါ။

Step (4) Wordpress files များကို Apache document root အောက်သို့ ပြောင်းရွေ့ခြင်း

  • unzip လုပ်ခဲ့တဲ့ installation folder နဲ့ create လုပ်ခဲ့တဲ့ MySQL database နှင့် user တွေအပြင် customized လုပ်ခဲ့တဲ့ wordpress config file တွေကို ကူးယူပြီး web server document root အောက်မှာ သွားထည့်ပါမယ်။

  • Apache web server မှာ ပြောင်းလဲမှုအားလုံးကို pick up လုပ်တဲ့အနေနဲ့ Restart လုပ်ပေးရမှာ ဖြစ်ပါတယ်။

Step (5) Wordpress installation ရဲ့ script process ကို စစ်ဆေးခြင်း

  • chkconfig command ကို အသုံးပြုပြီး httpd နဲ့ database service တွေအားလုံးကို system boot တိုင်းမှာ start လုပ်ခြင်းဖြင့် software packages များရဲ့ လုပ်ဆောင်ချက်များကိုသိနိုင်ပါတယ်။

  • database server ကို running ဖြစ်မဖြစ် စစ်ဆေးရပါမယ်။

  • အကယ်လို့ running မဖြစ်ရင် mysql database ကို start လုပ်ပေးရပါမယ်။

  • Apache web server (httpd) ကို running ဖြစ်မဖြစ် စစ်ဆေးရပါမယ်။

  • အကယ်လို့  httpd service running မဖြစ်ရင် httpd ကို start လုပ်ပေးရပါမယ်။

  • web browser ထဲမှာ WordPress blog(instance ၏ the public DNS address) ရဲ့ URL ကို ထည့်သွင်းလိုက်ပါ။ WordPress installation screen ကို တွေ့မြင်ရမှာ ဖြစ်ပါတယ်။

  • URL Link ဟာ wordpress ရဲ့ config setup သို့ရောက်သွားမှာ ဖြစ်ပါတယ်။

                                                                                 Note : အထက်ပါပုံအတိုင်းတွေ့ရရင်တော့ English (United States) ကို ရွေးပြီး ဆက်သွားပါမယ်။

             Note : အထက်ပါ အချက်များဟာဆိုရင် Step(2) နဲ့ Step (3) များ ထည့်သွင်းထားတဲ့အချက်များပင်ဖြစ်ပါတယ်။ အချက်အလက်များမှန်ကန်ပါက အောက်ကပုံအတိုင်းတွေ့မြင်ရမှာဖြစ်ပါတယ်။

Note : မိမိ WordPress Blog တွက် Site title /username/Email တို့ကို ဖြည့်သွင်းပြီးရင် Install WordPress လုပ်ပါ။ ဒီနေရာမှာ Password က auto generate လုပ်ပေးပါလိမ့်မယ်။

            Note : Wordpress installed လုပ်ပြီးပြီ ဖြစ်ကြောင်းအထက်ပါ အတိုင်းတွေ့ရပြီ ဆိုရင်တော့ WordPress ကို login ဝင်လို့ရပါပြီ။

ခုဆိုရင် EC2 instance ရဲ့ LAMP server မှာ WordPress ကို host လုပ်ခြင်းအောင်မြင်ပါပြီ။

ကျေးဇူးတင်ပါတယ်။

 

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *