LEMP(Linux , NginX , MariaDB , PHP)

Web Development Environment နဲ႕ပတ္သက္ရင္  LAMP (Linux, Apache , MySQL , PHP )  ရွိသလုိ LEMP(Linux, Nginx, MariaDB , PHP )  ဆုိတဲ့ အတဲြလည္းသုံးလုိ႕ရပါတယ္ ။  အဲ့ဒါေတြတင္ဖုိ႕ေခါင္းရႈပ္မခံခ်င္ရင္ေတာ့ XAMPP ကုိသာသုံးပါ ။
Xampp ကုိ https://www.apachefriends.org/ မွာေဒါင္းလုိ႔ရပါတယ္ ။
အခုကေတာ့ LEMP အေႀကာင္းေျပာမွာျဖစ္ပါတယ္။
Nginx
Nginx  ကုိ Engine X လုိ႔အသံထြက္ပါတယ္။
Igor Sysoev လုိ႔ေခၚတဲ့ Russian Developer တစ္ေယာက္တီထြင္ခဲ့တာျဖစ္ပါတယ္ ။
Opensource Web server တစ္ခုျဖစ္ျပီး Apache ျပီးရင္ ဒုတိယလူသုံးအမ်ားဆုံးျဖစ္ပါတယ္ ။
တတိယလူသုံးအမ်ားဆုံးက Microsoft IIS ျဖစ္ပါတယ္ ။
MariaDB
လက္ရွိအခ်ိန္မွာ MySQL ဟာလူသုံးအမ်ား RDBMS(Relational Database Management System)
တစ္ခုျဖစ္ပါတယ္ ။ MySQL-AB အမည္ရွိ ဆြီဒင္အေျခစုိက္အဖဲြ႕တစ္ဖဲြ႕က Develop လုပ္ခဲ့တာျဖစ္ပါတယ္။
ေနာက္ပုိင္း Sun Microsystem ကဝယ္လုိက္ျပီး Sun ကုိေတာ့ Oracle ကပုိင္သြားလုိ႕ အခု MySQL ဟာ
Oracle ပုိင္နည္းပညာတစ္ခုျဖစ္ပါတယ္ ။ MariaDB ကေတာ့ MySQL ရဲ႕မူလဖန္တီးရွင္ Monty Widenius ကဖန္တီးခဲ့တာ
ျဖစ္ျပီး MySQL ရဲ႕ Source Code ကိုပဲ သုံးထားတာျဖစ္ပါတယ္ ။ သုံးရတာ MySQL အတုိင္းပါပဲ ။ အကုန္အတူတူပါပဲ။
MySQL ကို  My S Q L လုိ႔တစ္ခ်ဳိ႕ကအသံထြက္ႀကျပီး တစ္ခ်ိဳ႔က My Sequal လုိ႕အသံထြက္ပါတယ္ ။
အခုက LEMP ကုိ  Install လုပ္မွာျဖစ္တဲ့အတြက္ XAMPP တုိ႕ LAMP တုိ႕ တင္ထားရင္ျပန္ျဖဳတ္ရမွာျဖစ္ပါတယ္ ။
မတင္ထားရင္ေတာ့မလုိပါဘူး ။ တန္းတင္ရုံပါပဲ။
တကယ္လုိ႕ကုိယ့္စက္မွာ XAMPP install လုပ္ထားတယ္ဆုိရင္ေတာ့ ျပန္ျဖဳတ္ရတာလြယ္ပါတယ္ ။
sudo /opt/lampp/lampp stop
sudo rm -rf /opt/lampp
sudo rm -rf ~/.lampp
ဆုိရပါျပီ။
တကယ္လုိ႕ကုိယ့္စက္မွာ LAMP Stack ကုိ တင္ထားတယ္ ဆုိရင္ ေအာက္ပါအတုိင္း ျပန္ျဖဳတ္ရမွာျဖစ္ပါတယ္။

Remove Apache2

sudo service apache2 stop
sudo apt-get remove –purge apache2 apache2-utils apache2.2-bin apache2-common -y
sudo apt-get autoremove
sudo apt-get autoclean

Apache ရဲ႕Config  ဖုိင္ေတြက်န္ေသးလားစစ္ႀကည့္ပါ။

whereis apache2
က်န္ေသးရင္ဖ်က္လုိက္ပါ။
sudo rm -rf /etc/apache2
sudo rm -rf /usr/lib/apache2 
sudo rm -rf /usr/include/apache2
Remove MySQL
sudo apt-get remove –purge mysql-server mysql-client mysql-common
sudo apt-get autoremove
sudo apt-get autoclean
Nginx install လုပ္ပါ။

sudo apt-get install nginx
sudo service nginx start

Nginx ဟာ Ubuntu ရဲ႕Official Repo ထဲမွာက Stable ျဖစ္တဲ့ Version အေဟာင္းသာရွိတတ္တာေႀကာင့္

Up to Date ျဖစ္မွသုံးခ်င္တယ္ဆုိရင္

add-apt-repository ppa:nginx/stable
apt-get update
apt-get install nginx

ဆုိျပီးတင္ေပးလုိ႕ရပါတယ္ ။

Nginx ရဲ႕ Configuration တစ္ခ်ဳိ႔ျပင္ေပးဖုိ႕လုိပါလိမ့္မယ္ ။

sudo gedit /etc/nginx/nginx.conf

 lscpu ရုိက္ႀကည့္ပါ ။

ကုိယ့္မွာရွိတဲ့CPUအေရအတြက္အတုိင္း

worker_processes 4;

ဆုိတဲ့ေနရာမွာျပင္ေပးလုိက္ပါ။ 3 ျပရင္ 3 ထားေပးပါ ။ 2 ျပရင္ 2 ေပါ့။

ျပီးရင္ Nginx ကုိ Restart လုပ္ပါ။

sudo service nginx restart

ျပီးရင္ /etc/nginx/sites-available/default ကုိ Gedit/ VIM / nano  ႀကိဳက္တာနဲ့ဖြင့္ပါ

index.php ဆုိတာေလးထည့္ေပးဖုိ႕လုိပါလိမ့္မယ္ ။ ေအာက္ပါအတုိင္း ျဖစ္မျဖစ္တုိက္စစ္ႀကည့္ပါ။

server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /usr/share/nginx/html;
index index.php index.html index.htm; #

# Make site accessible from http://localhost/
server_name localhost
}

 #location ~ \.php$. ဆုိတဲ့ေနရာကုိရွာပါ။ Comment ပိတ္ထားေသာေနရာမ်ားကုိ ေအာက္ပါပုံစံအတုိင္းျဖစ္ေအာင္ Uncomment လုပ္ေပးပါ။

location ~ \.php$ {

try_files $uri =404; ———> Add this line
fastcgi_split_path_info ^(.+\.php)(/.+)$;
#     # NOTE: You should have “cgi.fix_pathinfo = 0;” in php.ini
#

#     # With php5-cgi alone:

#       fastcgi_pass 127.0.0.1:9000;
#     # With php5-fpm:
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params
}

ျပီးရင္ Save ျပီးထြက္လုိက္ပါ ။

sudo nginx -t

လို႕ရုိက္လုိက္ပါ။

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

ဆုိျပီးျပပါလိမ့္မယ္။

Nginx ကုိ Restart လုပ္ပါ။

တစ္ခုသတိထားေပးပါ။

include fastcgi.conf ဆုိတဲ့ စာေႀကာင္းမပါပါ။

include fastcgi_params ပဲျဖစ္ရပါမယ္ ။ Google ကရွာေတြ႕တဲ့ Guide ေတြမွာက include fastcgi.conf ပဲျပထားေတာ့

include fastcgi_params ကုိဖ်က္လုိက္ျပီးျပင္ေရးလုိက္မွာစုိးလုိ႔ပါ ။ အဲ့ဒါဆုိ test fail လုိ႔ျပပါလိမ့္မယ္ ။

အခုခ်ိန္မွာ Browser မွာ localhost ကုိေခၚႀကည့္ရင္ Nginx start page ကုိစျမင္ရျပီျဖစ္ပါတယ္။

Installing MariaDB

MariaDB ကိုInstall လုပ္ရမယ့္ Command ပါ secure_installation setting ေတြကေတာ့ MySQL နဲ့

အတူတူမုိ႔ေရးမေပးေတာ့ပါဘူး

sudo apt-get install mariadb-server  mariadb-client libmariadbclient-dev libmariadbd-dev

MariaDB ထဲတစ္ခ်က္ဝင္ႀကည့္ပါဦး

mysql -u root -p

Status နဲ႕စစ္ႀကည့္ခ်င္ရင္

sudo service mysql status

 

PHP

sudo apt-get install php5 php5-fpm php5-mysql

PHP နဲ႕ဆုိင္တဲ့ Config ကုိျပင္ေပးဖုိ႔လုိပါေသးတယ္

sudo gedit /etc/php5/fpm/php.ini

 

cgi.fix_pathinfo=1 ကုိ Comment ပိတ္ထားျပီးတာေတြ႔ပါလိမ့္မယ္ Uncomment လုပ္ျပီး 0ထားလုိက္ပါ။ Save & Exit

လုပ္ျပီး-

sudo service php5-fpm restart

လုပ္ျပီးရင္သုံးလုိ႔ရပါျပီ document path လမ္းေႀကာင္းက /usr/share/nginx/html/ ျဖစ္ပါတယ္ ။

nginx ကို SQL gui tool အေနနဲ႕ PhpMyAdmin , sqlbuddy ႏွစ္သက္ရာထည့္သုံးပါ။

PhpMyAdmin ကိုေတာ့ဒီလုိ Install  လုပ္ႏုိင္ပါတယ္ ။

sudo apt-get install phpmyadmin

MariaDB ကုိ ေျပာင္းသုံးခ်င္မွ Mysql ကုိျဖဳတ္ပါ ။ မဟုတ္ရင္ေတာ့ျဖဳတ္စရာမလုိပါ ။ အခ်ိန္ကုန္လုိ႔ပါ ။ 😀

ဒါကၽြန္ေတာ့္ဖာသာစမ္းထားတဲ့ ဟာျဖစ္ပါတယ္ ။ Guide သုံးခုေလာက္ဖတ္ျပီး အဆင္ေျပေအာင္လုပ္ထားတာပါ ။

မွားေနတာ ။ ျပင္ဆင္ျဖည့္စြက္ေစခ်င္တာရွိရင္လည္း ေျပာျပေပးပါဦး။ ကၽြန္ေတာ့္ mail က aungkokomyintoo@gmail.com ျဖစ္ပါတယ္။

ကိုအိေမာင္ေရးတဲ့ Professional Web Developer ထဲကအခ်က္အလက္တစ္ခ်ိဳ႕ကုိးကားထားပါတယ္။