How to set up EC2 as LAMP system ?

Amazon Linux AMI မှာ LAMP Web Server ကို INSTALL လုပ်နည်း

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

ခု လေ့လာရမဲ့ အပိုင်းကတော့ PHP/MySQL နဲ့အတူ Apache web server တစ်ခုကို Amazon Linux instance ပေါ်မှာ install လုပ်ခြင်းကို LAMP web server သို့ LAMP stack လုပ်ခြငး်လို့ ခေါ်ပါတယ်။ အဲ့သည့် server ကို အသုံးပြုပြီး static website တစ်ခုကို host လုပ်နိုင်သလို ဒါမှမဟုတ် dynamic PHP application တစ်ခုကို deploy လုပ်နိုင်ပါတယ် ။ အဲ့သည့် processing တွေကို build in ပါရှိတဲ့ database ဆီမှာ Information တွေကို read/write တွေလဲ လုပ်လို့ရပါတယ်။

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

LAMP server မဆောက်ခင်မှာ အရင်ဆုံး မိမိရဲ့ instance ကို စစ်ဖို့လိုပါတယ်။

ဘယ်အချက်တွေ ရှိရမလဲ ?

  • မိမိရဲ့ EC2 instance ရဲ့ security group မှာ SSH (port 22), HTTP (port 80), and HTTPS (port 443) connections တွေကို allow လုပ်ထားလား ? ဆိုတာကို စစ်ဆေးရပါမယ်။ OK ပြီဆိုရင်တော့ အောက်ကတစ်ဆင့်ကို ဆက်သွားရအောင်…..

Amazon Linux AMI နဲ့အတူ LAMP web server ကို INSTALL လုပ်ခြင်း

Step (1) အရင်ဆုံး Instance နဲ့ ချိတ်ဆက်ခြင်း

  • Instance ရဲ့ Linux console ထဲကို Window OS ကနေဝင်ဖို့ကို ကြားခံအနေနဲ႔ putty software ကို အသုံးပြုမှာ ဖြစ်ပါတယ်။
  • instance  (.pem) file ကို (.ppk) file type သို့ပြောင်းလဲရပါမယ်။ file type ပြောင်းဖို့တွက်  puttygen.exe ကို အသူံးပြုရမှာ ဖြစ်ပါတယ်။
  • Instance ရဲ့ Public DNS (IPv4) က address နဲ႔ instance ၏ (.ppk) file တို့နှင့်အတူ Linux console ကို ဝင်ရမှာဖြစ်ပါတယ်။
  • Login user တောင်းတဲ့အခါမှာ ec2-user လို့ ရိုက်ထည့်လိုက်ပါ။

Step (2) Instance ကို software update

  • Instance မွာ server ကို install မလုပ်ခင်မှာ မိမိ instance ၏ software packages အားလုံးကို up to date ဖြစ်ရန် အတွက် ဘဲဖြစ်ပါတယ်။
  •  ဖော်ပြပါ command ကို အသုံးပြုပြီး update  လုပ်ပါ။

Step (3) Apache webserver/MySQL/PHP software ကို INSTALL လုပ်ခြင်း

  • တစ်ပြိုင်နက်တည်း software packages ေတွေနဲ့ သက်ဆိုင်ရာ dependencies တွေအားလုံးကို INSTALL လုပ်ဖို့အတွက် yum install ကို command အသုံးပြုရမှာဖြစ်ပါတယ်။

Step (4) Apache web server ကို စတင် ခြင်း

  • Apache server ကို Install လုပ်ပြီးတဲ့အခါမှာတော့ ထို server ကို စတင္ run ဖို့ရန် အတွက် start လုပ်ပေးရပါတယ်။

Step (5) Apache server ရဲ႔ system boot တစ်ခုခြင်းစီတွက် configure လုပ်ခြင်း

  • chkconfig command ကို အသုံးပြုပြီး system boot တစ်ခုခြင်းစီတိုင်းမှာ Apache web server ကို config လုပ်ရမှာဖြစ်ပါတယ်။

  • server running ဖြစ်လား မဖြစ်လား ဆိုတာကို အောက်ပါပုံအတိုင်းဖြစ်နေလား ဆိုတာကို စစ်ဆေးပါ။

  • httpd ရဲ့ runlevels 2,3,4,5 မှာ on ဖြစ်နေတာကိုမြင်တွေ့ရမှာပါ။

Step (6) Web Server ကို စစ်ဆေးခြင်း

  • Web browser ထဲမှာ instance ၏ public DNS address (the public IP address) ကို စမ်းရမှာဖြစ်ပါတယ်။လောလောဆယ်မှာ content directory ထဲမှာ content မရှိသေးတဲ့အတွက် အောက်ပါပုံအတိုင်းတွေ့မြင်ရမှာပါ။

Step (7) File Permissions ပေးခြင်း

  • Apache group directory (/var/www) ထဲမှာ ec2-user account အနေနဲ့ group ကို ownership ကော write permission ကော ပေးဖို့ရန် လိုပါတယ်။
  • Apache group ကို ec2-user account ကို ပေါင်းထည့်ရမှာပါ။

  • exit command ကို အသုံးပြုပြီး terminal window ကို ပိတ်လိုက်ပါမယ်။

  • Apache group ထဲမှာ စောနက add ခဲ့တဲ့ ec2-user ၏ membership ရှိမရှိကို  groups command ကို အသုံးပြုပြီး စစ်ဆေးရပါမယ်။အောက်ဖော်ပြပါ ပုံအတိုင်းဖြစ်ရင် apache group မှာ ec2-user အနေနဲ့ membership ဖြစ်သွားကြောင်းသိနိုင်ပါတယ်။

  • apache group (/var/www) ရဲ့ contents  တွေကိုလဲ group ownership ပြောင်းလဲပေးရမှာဖြစ်ပါတယ်။

  • ထပ်ပြီး group ကို write permission ပေးဖို့ရန် လိုပါတယ်။ group (/var/www) directory နဲ့ subdirectories တွေကို ပြောင်းလဲပေးရပါမယ်။

  • ခုဆိုရင် ec2-user apache group ကနေ Apache document root အောက်မှာ ရှိတဲ့ files တွေကို add/delete/edit လုပ်နိုင်သလို static website/PHP application တွေလိုမျိုး content အသစ်တွေ ထပ်ပေါင်းထည့်နိုင်ပါတယ်။

Step (8)  LAMP web server ကို စစ်ဆေးခြင်း

  • install လုပ်ခဲ့ပြီး running ဖြစ်နေတဲ့ server ဟာ file permissions တွေထည့်သွင်းခြင်းလဲ မှန်ကန်နေရင် ec2-user account ကနေ /var/www/html directory ထဲမှာ PHP file တစ်ခုကို create လုပ်လိုက်ပါ။

Note: “permission denied” ဖြစ်နေခဲ့ရင်တော့ logout ပြန်ထွက်ပြီး group permission ကို ပြန်ပြီး ထည့်ပါ။

  • web browser ထဲမှာ instance ရဲ့ public DNS address နှင့် create လုပ်ခဲ့တဲ့ phpinfo.php ဆိုတဲ့ file name ကို URL မှာ ထည့်ပြီး run လိုက်ပါ။

  • URL active ဖြစ်တာကို အောက်ပါအတိုင်းတွေ့ရမှာပါ။

  • create လုပ်ခဲ့တဲ့ phpinfo.php file ကို ပြန်ဖျက်ဖို့ရန်လိုပါတယ်။ဘာလို့ဆို security ကြောင့်ဖြစ်ပါတယ်။တကယ်လို့သာ မဖျက်မိရင် မိမိ ရဲ့ page demand ဖြစ်နိုင်ပါတယ်။

Step (9) Database server ကို လုံခြုံစိတ်ချစေခြင်း

  • MySQL server ၏ default installation မှာ test/development လုပ်ဖို့အတွက် several features တွေရှိပါတယ်။ ဒါပေမဲ့ production server တွေတွက်တော့ disable/remove လုပ်သင့်ပါတယ်။ mysql_secure_installation command ဟာဆိုရင် root password ကို setup လုပ်ပြီး installation မှ insecure features ကို remove လုပ်လိုက်မှာဖြစ်ပါတယ်။ MySQL server ကို အသုံးမပြုရင်တောင်မှ secure installation ကိုတော့ run ထားသင့်ပါတယ်။
  •  MySQL server service ကို စတင် run ပါမယ်။

  • mysql_secure_installation ကို run ပါမယ်။

  • root account တြက္ password ပေးရပါမယ်။
  1. လက်ရှိ password ကိုရိုက်ထည့်ပါ။ default အနေနဲ့ root account မှာ password မရှိတဲ့အတွက်ကြောင့် Enter ကိုနှိပ်ပါ။
  2. “Set a password” ဆို Y ကို နှိပ်ပါ။ပြီးရင် secure password ကို ၂ကြိမ် ရိုက်ထည့်ပါ။
    “Remove the anonymous user accounts” ဆို Y ကို နှိပ်ပါ။ တခြား unknown account တွေကို ဖယ်ရှားပစ်ချင်တဲ့ အတွက်ကြောင့် ဖြစ်ပါတယ်။
  3. “Disable the remote root login” ဆို Y ကို နှိပ်ပါ။
  4. “Remove the test database” ဆို Y ကို နှိပ်ပါ။ အရင် က database ကိုဖျက်ပစ်ဖို့အတွက်ဖြစ်ပါတယ်။
  5. “Reload the privilege tables and save your changes” ဆို Y ကို နှိပ်ပါ။အပေါ်မှာချိန်းခဲ့သမျှကို save လုပ်ဖို့အတွက် ဖြစ်ပါတယ်။
  • (Optional) MySQL server ကို အသုံးပြုဖို့ရန် မရှိရင် server ကို stop လုပ်နိုင်သလို restart လုပ်နိုင်ပါတယ်။

  • (Optional)  MySQL server ကို boot တိုင်းမှာ start ပြန်လုပ်မယ်ဆိုရင် အောက်ပါ command ကို အသုံးပြုနိုင်ပါတယ်။

ခုဆိုရင် ပြီးပြည့်စုံတဲ့ LAMP web server တစ်ခုကို ရရှိပြီဖြစ်ပါတယ်။ Apache document root (/var/www/html) မှာ instance အတွက် public DNS address မှာ content တွေကိုလဲထပ်ပေါင်းထည့်နိုင်ပါတယ်။

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

Leave a Reply

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