Installing & Compiling OpenGTS Tracking System~!

Opengts

# Project ကလုပ္ခဲ့တာ ၁ႏွစ္ေက်ာ္ေက်ာ္ေလာက္ေတာ့ ရွိပီဗ်။ အဲ့တုန္းက လုပ္ထားတဲ့ Documentation ကိုပဲ ျပန္တင္တာပါ။

# မဟုတ္ရင္ ၾကာရင္ ေမ့သြားမွာစိုးတာရယ္၊ တျခား reference လုပ္လိုတဲ့သူေတြအတြက္ Share လိုက္ပါတယ္။

# GPS Tracking System နဲ႕ပတ္သက္ရင္ ဒီ OpenGTS တစ္ခုတည္းပဲ ရွိတာေတာ့ မဟုတ္ဖူးဗ်။ တျခား OpenSource  (or) CloseSource ေတြ အမ်ားအျပားရွိပါေသးတယ္။

Ok! let’s start.

Preparing & Setting Environment Variables

  1. ပထမဆံုး jdk-7u72-windows-x64 ကိုသြင္းပါ(default)။ ၿပီးရင္ Java run၊ မ run cmd ထဲမွာ စစ္ပါ။

java –version

  ( make sure it says “Java™” & “Java Hotspot™ Client VM” )

  1. mail-1.5.2.jar ဖိုင္ကို C:\Program Files\Java\jdk1.7.0_72\jre\lib\ext ထဲသို႕ Copy ကူးပါ။
  2. Apache “Ant” Folder ကို C:\Program Files\apache-ant ေအာက္သို႕ ေရြ႕ပါ။
  3. Apache-Tomcat Folder ကို C:\Program Files\apache-tomcat ေအာက္သို႕ေရြ႕ပါ။
  4. mysql-5.6.22-winx64 ကို Default feature အတိုင္း သြင္းပါ။
  5. mysql-connector-java-5.1.34 ဖိုင္ကို C:\Program Files\Java\jdk1.7.0_72\jre\lib\ext ထဲသို႕ Copy ကူးထည့္ပါ။
  6. 5.7 Folder ကို C:\OpenGTS_2.5.7 ေအာက္သို႕ ကူးထည့္ပါ။
  7. ၿပီးရင္ Variables ေတြ ေပါင္းသတ္မွတ္ပါမယ္။
  8. Run box ထဲမွာ sysdm.cpl ဟုရိုက္ပါ။ Advanced Tab ကိုသြားပါ။ Environment Variables ကို ႏိွပ္ပါ။
  9. System Variable ထဲမွာ New ကိုႏွိပ္ပါ။ Variable name ကို JAVA_HOME ဟုေပးပါ။ (capital letters)
  10. Variable Value မွာ C:\Program Files\Java\jdk1.7.0_72 ကိုထည့္ပါ။
  11. OK ႏွိပ္ပါ။ ဆက္လက္ၿပီး New ကိုႏွိပ္ပါ။
  12. Variable Name ကို ANT_HOME ေပးပါ။ Variable value ေနရာတြင္ C:\Program Files\apache-ant ထည့္ပါ။
  13. OK ႏွိပ္ပါ။ ဆက္လက္ၿပီး New ကိုႏွိပ္ပါ။
  14. Variable Name ကို CATALINA_HOME ေပးပါ။ Value ေနရာတြင္ C:\Program Files\apache-tomcatထည့္ပါ။
  15. OK ႏွိပ္ပါ။ ဆက္လက္ၿပီး New ကိုႏွိပ္ပါ။
  16. Variable Name ကို GTS_HOME ဟုေပးပါ။ Value ေနရာတြင္ C:\OpenGTS_2.5.7 ကိုထည့္ေပးပါ။
  17. System Variable ထဲမွာ Path ကိုရွာပါ။ Select ေပးၿပီး Edit ႏွိပ္ပါ။
  18. Variable Value ၏ ေနာက္ဆံုးေနရာမွာ semicolon [;] ခံၿပီး C:\Program Files\MySQL\MySQL Server 5.6\bin ကို ထည့္ပါ။
  19. Semicolon[;] ထပ္ခံၿပီး %JAVA_HOME%\bin ကိုဆက္ထည့္ပါ။
  20. Semicolon[;] ထပ္ခံၿပီး %ANT_HOME%\bin ကိုဆက္ထည့္ပါ။ [semicolon ခံစရာမလိုေတာ့ပါ။ OK ႏွိပ္ပါ။

 

Installing NT Service & Compiling OpenGTS Tracking System

  1. Run box ထဲကေန cmd ေခၚပါ။
  2. mysqld ကိုရိုက္ၿပီး enter ေခါက္ပါ။ TimeStamp error ျပေနပါလိမ့္မည္။ သို႕ေပမဲ့ Run ပါသည္။
  3. Run မ Run ကို Task Manager ေခၚၿပီး Process ထဲတြင္ ၾကည့္ပါ။ mysqld ဆိုပီး ေပၚေနပါလိမ့္မည္။
  4. cmd ကုိ ပိတ္မပစ္ဘဲ ဆက္ Run ထားပါ။ ေနာက္တခု cmd ထပ္ေခၚပါ။
  5. mysqld –install ဟုရိုက္ၿပီး Enter ေခါက္ပါ။ Successfully installed Service ဆိုပီး ေပၚလာပါလိမ့္မည္။
  6. MySQL သည္ default အားျဖင့္ password မပါပါ။ password ခ်ိန္းပါမယ္။
  7. mysql –uroot –p ဟုရိုက္ပါ။
  8. Enter Password ဟုေပၚလွ်င္ ဘာမွမရိုက္ဘဲ Enter ေခါက္ပါ။
  9. mysql > prompt ေပၚေနပါလိမ့္မည္။
  10. update mysql.user set password=password(‘password’)where user=’root’;
  11. ဟုရိုက္ပါ။ မ်က္ေတာင္ အဖြင့္အပိတ္ျပထားေသာ password ေနရာတြင္ password ကိုရိုက္ထည့္ပါ။

(root ေနရာတြင္ ဒီအတိုင္း ထားပါ။ မေျပာင္းပါႏွင့္)

  1. Query OK ဘာညာဆိုပီး ျပေနပါလိမ့္မည္။ ေနာက္တေၾကာင္းတြင္ flush privileges; ဟုရိုက္ထည့္ပါ။
  2. Effect ျဖစ္သြားပါလိမ့္မည္။ quit ရိုက္ပီးထြက္ပါ။ အဆင့္ ၇ မွ ျပန္၀င္ၿပီး Password ေျပာင္းမေျပာင္းစမ္းသပ္ပါ။
  3. Apache-Tomcat အားNT Service သြင္းရန္ cd %CATALINA_HOME%\bin ဟုရိုက္ပါ။
  4. bat install ဟုရိုက္ပါ။ (Run box ထဲမွ services.msc ေခၚၿပီး ၀င္၊ မ၀င္ၾကည့္ႏိုင္သည္။)
  5. cmd ထဲမွဆက္လက္ၿပီး openGTS compiling လုပ္ရန္ cd %GTS_HOME% ဟုရိုက္ကာ Directory ခ်ိန္းပါ။
  6. OpenGTS Folder လမ္းေၾကာင္းသုိ႕ေရာက္သြားပါလိမ့္မည္။ ant all ဟု ရိုက္ပါ။
  7. Build Sucessful ဟုေပၚလာပါလိမ့္မည္။ (error ျပေနလည္း ကိစၥမရွိပါ။)
  8. OpenGTS Database ေဆာက္ဖို႕အတြက္ db ကို import လုပ္ပါမယ္။
  9. cd %GTS_HOME%\bin ေအာက္သို႕ျပန္၀င္ပါ။
  10. bat “-rootUser:root” “-rootPass:password” 

    ဟုရိုက္ၿပီးEnter ေခါက္ပါ။

(password ေနရာတြင္ ေျပာင္းထားေသာ password ကို ထည့္ေပးပါ။)

  1. db ေတြ Create လုပ္သြားတာ ျမင္ရပါလိမ့္မည္။
  2. Web Interface ကို Access လုပ္ရန္ system account တခု ဖြင့္ပါမယ္။
  3. bat Account –account:sysadmin –pass:password –create

(password ေနရာတြင္ကိုယ္ႀကိဳက္တာေပးပါ။)

  1. openGTS ထဲက ဖိုင္ကို Tomcat server ထဲထည့္ပါမယ္။ Build ေအာက္တြင္ track.war ကိုရွာပါ။
  2. cd %GTS_HOME%\bin ဟုျပန္ရိုက္ပီး ant track.war ဟုျပန္ရိုက္ပါ။

(PDF ထဲတြင္ မည္သည့္ xml, conf ဖိုင္မ်ားကို ျပင္ပီးတိုင္း compile ျပန္လုပ္ေပးရမယ္လို႕ ေျပာထားပါတယ္)

  1. Compile ၿပီးသြားလွ်င္ Build\track.war ဖိုင္ကို C:\Program Files\apache-tomcat\webapps ေအာက္သို႕ Copy ကူးထည့္ပါ။
  2. Browser ေခၚၿပီး http://localhost:8080/track/Track ကိုေခၚၾကည့္ပါ။
Advertisements

How to install ownCloud~!

OwnCloudAdditional Information:
######################
Windows (XAMPP)
######################

ဘာမွျပင္စရာမလိုပါဘူး။ DB တခုေဆာက္ၿပီးေပၚလာတဲ့ Instructionအတိုင္းလိုက္လုပ္သြားယံုပါပဲ။

######################
Linux (Ubuntu)
######################

Linux မွာေတာ့ ျပသာနာရွိပါတယ္။ Permission ပိုင္းနည္းနည္းသတ္မွတ္ေပးရပါမယ္။ ႏို႕မို႕ဆို
တခုပီးတခုုပီး error ေပၚလို႕ၿပီးမွာမဟုတ္ပါဘူး။

> chown -R www-data:www-data /var/www/cloud/*
> chown www-data:www-data apps
> chmod 750 apps config
> chmod -R 770 data
> chown -R www-data:www-data data

ဆိုပီး သတ္မွတ္ေပးရပါမယ္။

>>>>>>> MDB2 error connect (BLAH BLAH BLAH) <<<<<<<

ဆိုပီး တက္လာခဲ့ရင္ /etc/www/owncloud/lib/setup.php ေအာက္မွာဒါေလးသြားျပင္ ေပး ရပါမယ္။
# $dbtableprefix=isset($options[‘dbtableprefix’]?$options[‘db’]:’oc_’;

ဆိုတဲ့ေနရာမွာ –

# $dbtableprefix=$options[‘dbtableprefix’];

ဒီဟာေလးကိုျပင္ထည့္ေပးရပါ့မယ္။ အသံုးျပဳတဲ့ DB ေပၚမွာ မူတည္ၿပီးေတာ့ ျပင္ေပးရမွာျဖစ္ပါတယ္။

How to install Zawgyi Keyboard Layout on Ubuntu 12.10~!

How to install zawgyi~@

# ubuntu မွာ installation လုပ္တဲ့အပိုင္းကို သူ့ရဲ့ Official site မွာတင္ထားေပးပီးသားပါ။ ver.9 — ထင္ပါတယ္။ လင့္ခ္ကေတာ့ဒီမွာပါ။

http://code.google.com/p/zawgyi-keyboard/

*Credit to –developer*

# အခုအခ်ိန္မွာေတာ့ zawgyi_keyboard_0.3.3.tar.gz ထိပဲရွိပါေသးတယ္။ကဲ.. အဲတာကို ေဒါင္းလိုက္ပါမယ္။

# ေဒါင္းပီးသြားရင္ terminal ထဲကေန Download လုပ္ထားတဲ့ေနရာကိုသြားပါမယ္။

> cd /> cd /home/ej/Downloads

# ပီးရင္ tar command သံုးျပီး zip ျဖည္ခ်ပါမယ္။

> tar zxf zawgyi_keyboard_0.3.3.tar.gz

# ပီးရင္ zawgyi directory ထဲကို ထပ္၀င္လိုက္ပါ၊ python script extension *py* နဲ့ဆံုးတဲ့ဟာကို *run* ပါမယ္။

> python zawgyi_keyboard.py

# option ေတြကိုေတြ့ျမင္ရမွာ ျဖစ္ပါတယ္။ ကိုယ္က install လုပ္မွာျဖစ္တဲ့အတြက္*i* ထည့္ရိုက္ေပးပါ။ installation ျပီးသြားတဲ့အခ်ိန္က်ရင္ စက္ကို effect ျဖစ္ဖို့ restart လုပ္ဖို့ inform ေပးပါလိမ့္မယ္။ reboot လုပ္ေပးလိုက္ပါ။

# ျပန္တက္လာတဲ့ အခ်ိန္က်ရင္ system setting ထဲကို သြားပါ။ Keyboard Layout ထဲကို ၀င္ပါ။ ဘယ္ဘက္ေထာင့္စြန္းေအာက္နားမွာ + sign ေလးကို ကလစ္နွိပ္လိုက္ပါ။

# Choose a layout ဆိုတဲ့ Box ေလးတစ္ခုတက္လာပါလိမ့္မယ္။ အဲဒီမွာ Burmese ဆိုတဲ့ဟာကို Add လုပ္ေပးပါ။ ဒါဆို ေဘးဘယ္ဘက္ layout ဘက္မွာ Burmese ဆိုပီး လာေပါ္လာပါလိမ့္မယ္။

# layout change ဖို့အတြက္ Key Sequence  ကို layout မွာ Burmese ကိုေရြးပီးေတာ့ option ကိုေရြးေပးပါ။ Key(s) to change layout မွာ ကိုယ္နဲ့အဆင္ေျပမဲ့ Key Sequence ကို ေရြးနုိင္ပါတယ္။

Visual bcdeditor~!

bcdedit

# XP မွာဆိုရင္ေတာ့ boot.ini ဖိုင္ဆိုပီး ပါပါတယ္။ boot မတက္ေတာ့ရင္ ျပန္ create  လုပ္ေပးရပါတယ္။ မေရးတက္ရင္လည္းပူစရာမလိုပါဘူး။ တက္ေနတဲ့စက္ကေန copy ကူးပီး၊ ပုံမွန္တင္ေနက် Partition အပိုင္းဆုိရင္ ျပင္စရာမလိုပဲနဲဲ႕၊ တျခား Partition ေတြမွာ တင္ထားခဲ့ရင္ Partition နံပတ္ကိုေျပာင္းေပးယံုုပါပဲ။

# vista, 7 နဲ႕ Server 2008 တို႕မွာဆိုရင္ေတာ့ boot manager editor ဆိုပီး system information ဖိုင္ ini နဲ႕ မလာပဲနဲ႕ exe နဲ႕ ပါလာပါတယ္။ configuration အပိုင္းကလဲ ရႈပ္ပါတယ္။

# ျဖစ္တဲ့ျပသာနာက windows 7 တင္ပီးေတာ့မွ Server 2008 ကို Dual  တင္ လိုက္ တာပါ။ Server 2008 လဲတင္ပီးေရာ၊ windows 7 ပါမလာေတာ့ပဲနဲ႕ Server 2008 ပဲ တက္ပါေတာ့တယ္ 😀

# Gooogling လုပ္ၾကည့္ေတာ့ visual bcdeditor  ဆိုပီးသြားေတြ႕ပါတယ္။ သံုးရတာလဲ လြယ္ပါတယ္။ ကၽြန္ေတာ္ကေတာ့ Automatic Repair နဲ႕ပဲ ကိုင္လိုက္ပါတယ္။

# ျပန္တက္လာတဲ့အခါက်ေတာ့ OS Choice Menu နဲ႕ ျပန္တက္လာပါလိမ့္မယ္။ အိုေကသြားပီေပါ့ 🙂

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 ျပန္ခ်ံဳ႕ပီး  လင့္ခ္ေပးသြားပါမယ္။