MySQL Replication

sqlreplicate

ခုရက္ပိုင္းေပ်ာက္ေနျပန္ပါၿပီ။ မအားလပ္တာကတေၾကာင္း၊ 4Mbps Fiber Optics ကိုယ္တိုင္ကိုက SEA GAME အေၾကာင္းျပသျဖင့္လား၊ ဘာလားမသိပါ။ တခါ တခါ လံုး၀ကို Request Time Out က်သြားပါတယ္။ ငုတ္တုတ္ထိုင္ေနရတဲ့ရက္က မ်ားပါတယ္။  IT Director က ကၽြန္ေတာ့္ကို MySQL Database Server ကို Sync လုပ္ရန္ တာ၀န္ေပးပါတယ္။ ဒီထဲမွာ အဲဒီအပိုင္းကိုပဲ တာ၀န္ယူရပါတယ္။  ဒီထဲမွာ ဆိုတာက အမွန္က Database Server က Microsoft SQL Server ကိုသံုးထားပါတယ္။ အဲဒီ Database ကို opensource တခုျဖစ္တဲ့ MySQL ထဲကို ေျပာင္းထဲ့ပါမယ္။ အဲဒီ MySQL Server ကိုမွ ကၽြန္ေတာ္က ရံုးက MySQL Server ထဲကို လွမ္းၿပီးေတာ့ (Sync) Replicate လုပ္ေပးရမွာဗ်။ ကဲ.. စၾကရေအာင္။ အေျခခံေတာ့ရွိရမွာေပါ့ဗ်ာ။ ထပ္ေျပာမေနေတာ့ပါဘူး။ကၽြန္ေတာ္က ေရာသမေမႊ လုပ္တတ္ပါတယ္။ ဘာပဲျဖစ္ျဖစ္ အဆင္ေျပရင္ၿပီးတာပါပဲ။ GUI ေကာ၊ CUI ေကာ ခ်မယ္ေနာ္။ Ready !!!

ရွင္းရွင္းလင္းလင္းျဖစ္သြားေအာင္ Server Site (Remote Site) နဲ႕ Client Site ဆိုပီးခြဲေျပာပါမယ္။ Server Site က Master Server ျဖစ္ၿပီးေတာ့၊ Client Site ကေတာ့ Slave Server ေပါ့။ Master Server က DB တစ္ခုလံုးကို Slave Server က လွမ္းၿပီး Sync လုပ္မယ္။ ဘယ္ platform ပဲျဖစ္ျဖစ္ဒီနည္းသံုးလို႕ရပါတယ္။ Linux ပဲျဖစ္ျဖစ္၊ Windows ပဲျဖစ္ျဖစ္ပါ။ သံုးတတ္ရင္လြယ္ပါတယ္ :P(မသံုးတတ္ရင္ မလြယ္ ဘူးေပါ့)။ ကၽြန္ေတာ္လုပ္တုန္းကေတာ့ Master Server က Windows 7 ပါ။ Slave Server ကေတာ့ Ubuntu Server ပါ။ အဲ့ေတာ့ကာ ေျပာရင္ရႈပ္ေနမွာဆိိုးလို႕ Windows to Windows ဟာပဲ ေျပာျပပါမယ္။

# ပထမဆံုး XAMPP ကို Install လုပ္လိုက္ပါ။

# ၿပီးေတာ့ phpmyadmin လည္းသံုးပါမယ္။ အဲ့ဒီအတြက္ေၾကာင့္ MySQL Setting ကို နည္းနည္းျပင္ဖို႕လိုပါမယ္။ XAMPP ရဲ႕ default MySQL Password က blank ပါ။ အဲေတာ့ Security ရွိသြားေအာင္ Password ထည့္မယ္၊ေျပာင္းပါမယ္။ ၿပီးရင္အဲ့ေျပာင္းထားတဲ့ Password ကို xampp\phpmyadmin\config.inc.php ထဲမွာ သြားေပးရပါမယ္။ နည္းနည္းေတာင္ အေသးစိတ္ေနပါပီ။ တိုတိုေျပာရရင္ phpmyadmin သံုးလို႕ရေအာင္ အရင္လုပ္ပါမယ္။ MySQL Server ကို stop အရင္လုပ္လိုက္ပါမယ္။

# အခုေျပာေနတာ Master Server ဘက္ျခမ္းေရာ၊ Slave Server ဘက္ျခမ္းအထိပါ လုပ္ေပးရမွာပါ။ ကဲ… ၿပီးရင္ Master Server ဘက္ျခမ္းရဲ႕ MySQL ကို Master ျဖစ္ေအာင္ လုပ္မွာျဖစ္တဲ့အတြက္ config ခ်ပါမယ္။ အေသးစိတ္သိခ်င္ ရင္ေတာ့ official site မွာသြားဖတ္ၾကည့္ႏိုင္ပါတယ္။

# XAMPP ရဲ႕ MySQL Config ဆိုတာေလးကို ကလစ္တခ်က္ႏွိပ္လိုက္ပါ။ အဲဒီမွာ my.ini ဆိုတာေလးကို ႏွိပ္လိုက္ပါ။ notepad နဲ႕တက္လာပါလိမ့္မယ္။

# အဲဒီမွာ [mysqld] section မွာ ႏွစ္ေၾကာင္းသြားေရးပါမယ္။ log-bin=mysql-bin နဲ႕ server-id=1 ဆိုပီးသြားေရးေပးရပါမယ္။ နမူနာေအာက္မွာျပထားပါတယ္။

# Here follows entries for some specific programs

# The MySQL server
[mysqld]
port= 3306
socket = “C:/xampp/mysql/mysql.sock”
basedir = “C:/xampp/mysql”
tmpdir = “C:/xampp/tmp”
datadir = “C:/xampp/mysql/data”
pid_file = “mysql.pid”
log-bin=mysql-bin
server-id=1

# ၿပီးရင္ save လိုက္ပါ။ log-bin=mysql-bin ဆိုတာက Master ျဖစ္ဖို႕အတြက္ binlogging က enable ျဖစ္ေနရပါမယ္။ ဒါမွ Slave က Sync လွမ္းလုပ္တဲ့အခါက်ရင္ တိုက္ၾကည့္စစ္ေဆးႏိုင္ေအာင္အတြက္ျဖစ္ပါတယ္။ ေနာက္က server-id=1 ဆိုတာကေတာ့ ကၽြန္ေတာ္တို႕ Computer မွာသံုးတဲ့ Internet Protocol (IP) နဲ႕တူပါတယ္။ တစ္စက္နဲ႕ တစ္စက္ လွမ္းခ်ိတ္ဖို႕ IP လိုသလိုမ်ိဳးေပါ့။ သူကေတာ့ server-id နဲ႕သြားပါတယ္။ my.ini မွာ လုပ္ဖို႕လိုတာဒါအကုန္ပါပဲ။

# သာမန္ဆိုရင္ေျပာတာပါ။ တျခား အသံုးျပဳလို႕ရတဲ့ inno_db_flush ဆိုပီး အမ်ားႀကီး ရွိပါေသးတယ္။ MySQL Server ကို start ျပန္လုပ္လိုက္ပါ။ မွားၿပီး config ခ်မိရင္ status မွာ နီနီစာသားေတြ ေပၚလာပီး debug error ထုတ္ျပပါလိမ့္မယ္။

# Master ထဲက database ေတြကို အရင္ဆံုး dump လုပ္ပါမယ္။ ၿပီးရင္ slave ထဲထည့္ဖို႕ေပါ့။ dump လုပ္ရျခင္းအေၾကာင္းအရင္းကေတာ့ ခုနက Master ရဲ႕ bin-log ေတြနဲ႕ tables postion စတာေတြကို slave မွာ connect မလုပ္ခင္ တူေနဖို႕အတြက္ပါပဲ။ MySQL ထဲကို ၀င္ပါမယ္။

# > myql -uroot -p

# database ကို လက္ရွိရွိေနတဲ့ tables position နဲ႕ bin log မွာ ရပ္ေနေစဖို႕အတြက္ lock ခ်ပါမယ္။

# mysql > flush tables with read lock;

# mysql > show master status; ဆိုပီးလုပ္လိုက္ရင္ master-log-file နဲ႕ master-log-pos ရဲ႕ data ေတြကိုလာျပပါလိမ့္မယ္။ အဲတာေတြကို စာရြက္မွာ မွတ္လိုက္ပါ။ ဒါဆို အိုေကပါပီ။ၿပီးရင္….

# quit နဲ႕ထြက္လိုက္ပါ။ စတင္ၿပီး dump လုပ္ပါမယ္။

> mysqldump -uroot -p –all-databases –master-data > fulldb.db

ဆိုပီး shell ထဲမွာ Enter ေခါက္လိုက္ပါ။ ဒါဆို shell ရဲ႕ path လမ္းေၾကာင္းထဲမွာ ခုနက dump ေဒတာ ေရာက္ရွိေနပါလိမ့္မယ္။ ၿပီးရင္ lock ျပန္ျဖည္ေပးရပါမယ္။ ကၽြန္ေတာ္ကေတာ့ slave server ဘက္ျခမ္းမွာ db ကို execute လုပ္ၿပီးမွ unlock tables; လုပ္ပါတယ္။ error တက္ဖူးထားလို႕ပါ 😛

> unlock tables;

# ဒါဆိုရင္ေတာ့ Master ဘက္အျခမ္းကၿပီးသင့္သေလာက္ၿပီးပါၿပီ။ ကိုယ့္ကို လာခ်ိတ္ထားတဲ့ slave host ကို ၾကည့္တာေလာက္ပဲ က်န္ပါေတာ့တယ္။

# Slave ဘက္အျခမ္းကို သြားက်အံုးစို႕။ ခုနက Master အတိုင္း my.ini မွာ ႏွစ္ခုပဲ သြားျပင္ပါမယ္။ ဘာျဖစ္မယ္လို႕ ထင္ပါသလဲ။ server-id ပါ။ မတူတာေပးလိုက္ပါ။ ကၽြန္ေတာ္ကေတာ့ server-id=2 လို႕ေပးပါတယ္။ၿပီးရင္ report-host ထည့္ပါမယ္။ အဲဒီလိုထည့္ပါမွ phpmyadmin မွာတက္ၾကည့္ရင္ေပၚပါလိမ့္မယ္။ report-host=sql-slave ေပါ့။ (sql-slave) ဆိုတာ local မွာဆိုရင္ေတာ့ computer name ေပါ့၊ Internet မွာဆိုရင္ေတာ့ Host Name ေပါ့ဂ်ာ။ (ေမာလိုက္တာ…   :P)

# ကဲ.. ၿပီးရင္ ခုနက Master Server က dump ကုိ Slave Server ထဲ Execute လုပ္ပါမယ္။

> mysql -uroot -p < fulldb.db

ဒါဆိုရင္ Master Server ထဲက db ေတြ အကုန္ေရာက္ကုန္ပါပီ။ Master Server ကိုခ်ိတ္ဖို႕အတြက္ လိုအပ္တဲ့ MySQL Entry ေတြရိုက္ထည့္ရပါဦးမယ္။ Master Server မွာေပးထားတဲ့ password ပါျဖစ္သြားပါမယ္။ လိုအပ္တဲ့အတြက္ MySQL Service ကို restart လုပ္ေပးသင့္ရင္ လုပ္ေပးပါ။

# mysql> use mysql;

# mysql> change master to

> master_log_file = ‘mysql-bin.0004’ ,

> master_log_pos = 199;

ဆိုပီး ခုနက Master Server မွာ Show Master Status လုပ္တုန္းက ေပၚလာတဲ့ entry ေတြကို ထည့္ေပးရပါမယ္။ ကၽြန္ေတာ္ခုထည့္ထားတဲ့ဟာက အစမ္းပါ။ ကိုယ့္ဖာသာေပၚလာတဲ့ဟာကို ေျပာင္းထည့္ေပးရပါမယ္။

# ၿပီးရင္ Master Server ကိုသြားလိုက္ပါ။ phpmyadmin သံုးပါမယ္။

# ၀င္၀င္ခ်င္းမွာပဲ Replication ဆိုတဲ့ Tab ကိုရွာလိုက္ပါ။ မေတြ႕ဘူးဆိုရင္more နဲ႕ ဆက္ၾကည့္ပါ။ ၿပီးရင္ ႏွိပ္ပါ။

# Master Replication ဆိုတဲ့ေနရာမွာ ေပၚေနမွာျဖစ္ပါတယ္။ Replication User တစ္ခုေဆာက္လုိက္ပါ။ အဲဒီအေကာင့္နဲ႕ Slave Server မွာ phpmyadmin ဆက္သံုးပါမယ္။

# Slave Server မွာလဲ ခုနအတိုင္းလုပ္ပါ။ ဒါေပမဲ့ ခ်ိတ္ရမဲ့ host, username, password တို႕လာေတာင္းပါလိမ့္မယ္။ host ကေတာ့ Master Server ရဲ႕ name  ေပါ့။ username ကေတာ့ ခုနက Master မွာလုပ္ခဲ့တဲ့ Replication အေကာင့္ပါ။ ၿပီးရင္ GO လိုက္ပါ။

# shell ထဲက၊ MySQL prompt ထဲကေန …

# mysql > start slave; ဆိုပီး ရိုက္ထည့္လိုက္ပါ။ ဒါဆိုရင္ စတင္ အလုပ္လုပ္ပါၿပီ။

# phpmyadmin မသံုးခ်င္ဘဲ CUI သမားမ်ားကေတာ့ ခုနက change master to ဆိုတဲ့ေနရာမွာ master-host, master-user, master-password ဆိုပီးထည့္ႏိုင္ပါတယ္။

# report-host ထည့္ထားတဲ့အတြက္ေၾကာင့္ phpmyadmin မွာ slave host ဆို ပီးျပေနပါလိမ့္မယ္။

# Slave Server ကေန Master Server ဆီ အလုပ္၊လုပ္မလုပ္ လွမ္းၾကည့္ လို႕ရပါတယ္။

# mysql > show slave status\G; ဆိုပီး Enter ေခါက္လိုက္ပါ။

master-host ဆိုတဲ့ ေနရာမွာ Waiting for sync from master server လို႕ေပၚေနရင္ အိုေကေနပါၿပီ။

# Master Server ကေနလဲ ကိုယ့္ဆီ Connected ျဖစ္ေနတဲ့ Slave ကိုၾကည့္လို႕ရပါတယ္။

# mysql > show slave hosts;

ဒါဆိုရင္ေတာ့ Master Server ဆီက ဘယ္ Database ပဲ create လုပ္လုပ္၊ drop လုပ္လုပ္ အၿမဲတမ္း Sync ျဖစ္ေနတဲ့အတြက္ေၾကာင့္ Slave Server ဆီမွာ effective ျဖစ္ေနမွာပါ။ 🙂

Open Point of Sale System – Myanmar (PHP)

prnscr

ဒီရက္ပိုင္း Post အသစ္ မတင္ျဖစ္တာၾကာပါၿပီ။ ဘာေၾကာင့္လဲဆိုေတာ့ကာ မီးပ်က္ရျခင္း (အဲေလ) Project တစ္ခု စမ္းသပ္ေနလို႕ပါ။ လိုအပ္ခ်က္ တခုေၾကာင့္ Point Of Sale System နဲ႕ပတ္သက္ၿပီး ေလ့လာေနလို႕ပါ။ Notes အေနနဲ႕ပဲ ဆိုေတာ့ သိပ္ၿပီး ရွည္ရွည္ေ၀းေ၀း မေျပာေတာ့ပါဘူး။ အေျခခံ Linux knowledge, Apache, MySQL, PHP နဲ႕ shell command ေတြ သိထားဖို႕လိုပါတယ္။ လိုအပ္တာနဲ႕ ထိေရာက္တဲ့ cofig ဖိုင္ေတြကို ခ်ျပေပးသြားပါမယ္။ ပီးေတာ့ Open source ျဖစ္တဲ့အတြက္ မူရင္း English version နဲ႕ ကၽြန္ေတာ္ Modify လုပ္ထားတဲ့ ျမန္မာ version ကိုပါ လင့္မွာ တင္ေပးပါ့မယ္။

Thanks & Credit to *Developer* …

Def: of Point of Sale System

                  Point of Sale System ကို စူပါမားကတ္ေတြ၊ ေစ်းဆိုင္ေတြမွာသံုး က်ပါတယ္။ ေတာ္ေတာ္မ်ားကေတာ့ License နဲ႕ဟာေတြျဖစ္ပါတယ္။ ႏိုင္ငံျခား အရည္အေသြးျမင့္ ေတာ္ေတာ္မ်ားမ်ားရွိပါတယ္။ ျမန္မာႏိုင္ငံမွာေတာ့ ေကာင္းေပ့၊ ဆိုေပ့ ဆိုၿပီး အသံုးျပဳေနက်တာေတာ္ေတာ္မ်ား ရွိပါတယ္။ အဓိကကေတာ့ သူတို႕ကို မႀကိဳက္လို႕ စမ္းသံုးၾကည့္ခ်င္တဲ့ လူမ်ားအဖို႕ပါ။ ပိုက္ဆံလည္းမကုန္ပါ။ ၀ယ္သံုးတဲ့ အတိုင္း Feature ေတြ စံုပါတယ္။

ကဲ .. စတင္ၾကပါစုိ႕။ ဥပမာေပါ့ဗ်ာ… ကၽြန္ေတာ္က စတိုးဆိုင္တစ္ခု ကို လုပ္ေပးဖို႕ တာ၀န္က်တယ္။ အဲဒီဆိုင္မွာ ပစၥည္းေတြက စံုတယ္။ အမ်ားႀကီးဘဲ။ အဲတာ ကို စုပီး မွတ္ထားဖို႕က စာရင္းလုပ္ထားဖို႕လိုတယ္။ ကြန္ပ်ဳဳတာမွာလည္း အဲ့လို႕ပဲ။ အဲဒီအတြက္ Database Server ေတာ့လိုတယ္။ ၿပီးေတာ့ အခုလုပ္မဲ့ဟာက browser base ျဖစ္တဲ့အတြက္ Web Server လည္း လိုတယ္။ အဲဒီေတာ့ သြင္းရမွာေပါ့ ဗ်ာ 😀 ။ ကၽြန္ေတာ္က ေတာ့ XAMPP ဘဲ အားကိုးလိုက္ပါတယ္။ ႀကိဳက္တဲ့ဟာ သြင္းခ်င္လည္း သြင္းပါ။ browser ကိုေျပာတာေနာ္။ ကိုယ့္လူ .. ။

၁။ ပစၥည္းေတြကို သိမ္းဆည္းမွတ္ဖို႕ရာ  db လိုတယ္။ အဲ့ဒီအတြက္ MySQL

၂။ MySQL ထဲမွာ DB တစ္ခုအရင္ေဆာက္။ ကၽြန္ေတာ္ကေတာ့ pos လို႕ေပးတယ္။

၃။ ေဒါင္းထားတဲ့ဟာကို ျဖည္ၿပီး opensourcepos\database ေအာက္ database.sql ကို Execute လုပ္ေပးပါ။

၄။ က်န္တဲ့ opensourcepos ေအာက္က ဖိုင္ေတြကို Web Server ဆီ Upload လုပ္မယ္။

၅။ opensourcepos\application\config\database.php.tmpl ကို database.php ဆိုပီး rename လုပ္ေပးပါ။

၆။ ၿပီးရင္ notepad နဲ႕ပဲ ျဖစ္ျဖစ္၊ Linux သမားဆိုရင္ nano နဲ႕ပဲျဖစ္ျဖစ္ database.php ကို ေခၚတင္ၿပီးေတာ့ database name, username, password ေတြကို ခ်ိတ္ဆက္ဖို႕ အတြက္ ထည့္သြင္းေပးပါ။ save မွတ္ပါ။ ဒါမွ MySQL db ကိုခ်ိတ္ဆက္မႈရမွာပါ။

၇။ Browser ထဲကေန localhost  ကို ေခၚၾကည့္လိုက္ပါေတာ့ ။

ဒါဆိုရင္ ၿပီးပါၿပီ။

မူရင္း sourceforge ကေန ေဒါင္းလည္း ရပါတယ္။

http://sourceforge.net/projects/opensourcepos/

ျမန္မာ version ကေတာ့ အခု Post ေရးေနတဲ့အခ်ိန္အတြင္းမွာ Login Page အထိပဲ

ရႊိဳင္းထားရပါေသးတယ္။ အလုပ္လည္း တဖက္မို႕ပါ။ ေနာက္အခ်ိန္ရရင္ zip ျပန္ခ်ံဳ႕ပီး  လင့္ခ္ေပးသြားပါမယ္။

 

How to install ejabberd server ~~!

ပထမဆံုး ejabberd server ကိုအရင္သြင္းပါမယ္။

>apt-get install ejabberd

ပီးရင္ service stop ပါမယ္။ နည္းနည္းျပင္ခ်င္လို႕ပါ။

>service ejabberd stop

ပီးရင္ /etc/ejabberd/ejabberd.cfg ကို nano ေခၚၿပီး လိုအပ္တာေလးေတြျပင္ပါမယ္။

%% Admin user
{acl, admin, {user, "teddy"}}.
%% Hostname
{hosts, ["localhost", "ubuntu"]}.

#User ေဘးနားက ‘teddy’ ဆိုတာက admin name ပါ။ ႀကိဳက္တာေျပာင္းလို႕ရတယ္

# Hosts ေဘးနားက ‘localhost’ , ‘ubuntu’ ဆိုတာက ကိုယ့္စက္ရဲ႕ hostname ပါ

ၿပီးရင္ save ပါ။ service ျပန္ Run ပါမယ္။

>service ejabberd start

ခုနက ကိုယ္ထည့္လာတဲ့ အေကာင့္ကို Register လုပ္ပါမယ္။

>ejabberdcl register teddy ubuntu password

# register ေဘးနားက teddy က ခုနက အေကာင့္နာမည္ပါ။

# teddy ေဘးနားက hostname ပါ။

# password ကေတာ့ ကိုယ့္အေကာင့္ရဲ႕ လွ်ိဳ႕၀ွက္နံပတ္ပါ။

ဒါဆို အေကာင့္ေအာင္ျမင္စြာ လုပ္ၿပီးေၾကာင္းစာတက္လာပါလိမ့္မယ္။

ဒါဆို အဆင္ေျပသြားပါၿပီ။ လူတိုင္း Register လုပ္ႏိုင္ဖို႕အတြက္ ခုနက ejabberd.cfg

ထဲမွာ deny all ကို access all လုပ္ေပးလိုက္ရင္ အကုန္လံုး လုပ္လို႕ရသြားပါလိမ့္မယ္

User Account Control and Samba File Server – Part I

မေန႕က ရံုးကအင္တာနက္လိုင္းကို Service လုပ္ေနလို႕ ဘာမွ အလုပ္မျဖစ္လိုက္ဘူး။

ကဲဒီေန႕ေတာ့ Samba File Server နဲ႕ User Account နဲ႕ကို Sync လုပ္ပီး User Management လုပ္နည္းကို Notes ထုတ္သြားပါမယ္။

ပထမဆံုး Install လုပ္မယ္။ ဘာေၾကာင့္လဲဆိုေတာ့ System Users ေတြကို Samba User Database ထဲကို Sync လုပ္ဖုိ႕အတြက္ Package ထည့္ရပါမယ္။

>apt-get install libpam-smbpass

သူ႕ဖာသာ သြင္းသြားပါလိမ့္မယ္။ မဟုတ္ရင္လည္း စတင္သြင္းစဥ္ကတည္းထည့္ႏိုင္ ပါတယ္။

User Authenticate လုပ္ဖို႕အတြက္ /etc/samba/smb.conf မွာ ႏွစ္ခုသြားျပင္ရပါ မယ္။

[global] Section မွာက – security = user ဆိုပီး ခ်ိန္းေပးရပါမယ္။

[share] Section မွာက – guest ok = no လုပ္ေပးရပါမယ္။ ဒါဆို Authenticate လုပ္ခိုင္းပါလိမ့္မယ္။

တစ္ခုခု ျပင္ၿပီးတိုင္း service restart လုပ္ဖို႕မေမ့ပါနဲ႕။

ကဲဒီေန႕ေတာ့ ဒီေလာက္ပါပဲ…မနက္ျဖန္က်ရင္ System Users ပိုင္းကို ဆက္ေရးပါ့မယ္။

How to install Samba File Server ~!

ကဲ..ဒီေန႕ေတာ့ သူငယ္ခ်င္းတေယာက္က အကူအညီေတာင္းလို႕ ကၽြန္ေတာ္ Samba File Server သြင္းပံုနဲ႕ Standard Share အေၾကာင္း Post တင္ဖို႕ စဥ္းစားထားပါတယ္။

ပထမဆံုး terminal ထဲမွာ –

>apt-get samba

ဆိုပီး ရိုက္ထည့္လိုက္တာနဲ႕ စတင္သြင္းပါလိမ့္မယ္။

ၿပီးရင္ initial Config ခ်ပါမယ္။

>nano /etc/samba/smb.conf

အဲဒီထဲမွာ [global] လို႕ ေလးေထာင့္ကြင္းျပထားတဲ့ဟာရွိပါတယ္။

[global]

workgroup = example

……

security = user ဆိုပီး ရွိပါတယ္။ ကၽြန္ေတာ္က Standard Share ပဲ လုပ္မယ္ဆိုတဲ့အတြက္ေၾကာင့္ user ကို share ဆိုပီး ေျပာင္းေပးပါ။

ပီးရင္ [share] ေလးေထာင့္ကြင္းကို ထပ္ရွာပါ။ တခ်ိဳ႕ Comment ေတြကို ဖ်က္ပီး modify လုပ္လိုက္လည္းရပါတယ္။ အဆင္ေျပသလိုေပါ့ဗ်ာ။

[share]

comment = Dell Inc. Cop Share Server

path = /mnt/dell

browseable = yes

guest ok = ok

read only = no

create mask = 0755

ကဲ..ၿပီးပါၿပီ။

comment ကေတာ့ ဘာဘာညာညာေပါ့ဗ်ာ၊ အမွတ္အသားေလးတခုေပါ့ကိုယ္ရွယ္မဲ့

path ကေတာ့ လမ္းေၾကာင္းေပါ့ ဘယ္ ေအာက္မွာဆိုတဲ့ဟာ

browseable ကေတာ့ Windows Explorer ကေနၾကည့္လို႕ရေအာင္

guest ကေတာ့ အသံုးျပဳသူေတြကုိ password ထည့္ေပးစရာမလိုေအာင္၊

ဒါေပမဲ့ ခုနက security = share ပါလုပ္ထားမွပါ။ အဲ့လိုမဟုတ္ဘဲ user ျဖစ္ေနရင္

စ၀င္၀င္ခ်င္း တေခါက္ေတာ့ လာေတာင္းပါတယ္၊ ၾကိဳက္တာထည့္ေပးလို႕ရပါတယ္။

create mask ကေတာ့ permission သတ္မွတ္ေပးတာပါ။

လုပ္သာလုပ္ေနတာ ရွယ္မဲ့ ဖိုင္က မေဆာက္ရေသးဘူးေလ။ ေဆာက္လိုက္ၾကပါစို႕

In Terminal

>cd /mnt

>mkdir -p dell

>chown nobody.nogroup dell

ပီးရင္ service restart ခ်ပါမယ္

>service smbd restart

How to install Apache, MySQL & PHP

# အရင္ဦးဆံုး sources ေတြကို Update လုပ္ပါမယ္။

>apt-get update

ၿပီးရင္ Apache ကို install လုပ္ပါမယ္။

>apt-get install apache2

Server ရဲ႕ web content ေတြကေတာ့ /var/www ေအာက္မွာပါ။

configuration file ကေတာ့ /etc/apache2/httpd.conf မွာ သြားျပင္လို႕ရပါတယ္။ တခုခုျပင္ပီးသြားရင္ Service ကို restart/stop ခ်ဖို႕ မေမ့ပါနဲ႕။

>service apache2 restart

ဒီတေခါက္အလွည့္ကေတာ့ MySQL ပါ။

>apt-get install mysql-server

သြင္းေနတဲ့အခ်ိန္မွာ username ရယ္ passcode ရယ္ လာေတာင္းပါလိမ့္မယ္။

Connection အေျခအေနကို သိခ်င္လို႕ရွိရင္ Terminal ထဲမွာ —

> /etc/init.d/mysql status

ေနာက္ဆံုးကေတာ့ PHP ေပါ့။ သူ႕ကို ကၽြန္ေတာ္က MySQL ထဲကို Integration တခါတည္းလုပ္ပါမယ္။

>apt-get install php5 php5-mysql

ကဲ..ဒါဆိုရင္ေတာ့ Apache, MySQL & PHP သြင္းလို႕ပီးပါပီ။

သူတို႕ေတြ တခုႏွင့္တခု ေကာင္းမြန္စြာခ်ိတ္ဆက္ပီး အလုပ္လုပ္ႏိုင္ျခင္းရွိိ၊မရွိကို phpinfo script နဲ႕ စစ္ပါမယ္။

In Terminal …

>mkdir /mnt/ejnetwork

>cd /mnt/ejnetwork

>touch ejnetwork

>nano ejnetwork

ဒါဆိုရင္ edit လုပ္လုိ႕ရပါပီ။ PHP  သမားေတြကေတာ့ ဒါကိုသာသာေလးပါပဲ။ Network Engineer ေတြကေတာ့ ဒါကို အလြတ္က်က္ထားသင့္ပါတယ္။

<?php

phpinfo();

?>

save တဲ့အခ်ိန္က်ရင္ ejnetwork ေနာက္မွာ extension (.php) ထည့္ေပးပါ။

ၿပီးရင္ အဲဒီဖိိုင္ကို /var/www ေအာက္ကိုထည့္ပါ။

ထည့္လို႕အဆင္မေျပရင္ Permission ျပဳလုပ္ေပးရပါမယ္။

>cd /var/www

>chmod 777 /var/www

ကဲ..ဒါဆို browser ကေန.. http://localhost/ejnetwork.php ဆိုရင္ information page တက္လာပါမယ္။ ဒါဆို O.K ပီေပါ့။

 

Change MAC Address Via CLI

အဓိကက ေတာ့ Security သမားေတြအတြက္ပါ။

ၿပီးေတာ့ MAC Address နဲ႕ Filtering လုပ္ထားတာ မွန္သမွ်အတြက္ ဒါေလးလုပ္လိုက္ယံုနဲ႕ အဆင္ေျပပါတယ္ ။ (Spoofing)

ခ်ိန္းဖို႕အတြက္  Terminal ေခၚရပါမယ္…

In terminal …

>sudo bash

>ifconfig eth0 down

>ifconfig eth0 hw either *MAC*

>ifconfig eth0 up