Installing Gitbucket with Oracle Glassfish

Github အသုံးျပဳေနသူေတြ Online ေပၚမတင္ဘဲကိုယ့္ရုံးတြင္း  Local မွာ Github လုိ User Interface နဲ႔ Git Server တစ္ခုထားခ်င္တယ္ဆုိတဲ့သူေတြအတြက္ Gitbucket ကုိမိတ္ဆက္ေပးခ်င္ပါတယ္ ။ အလားတူ Local Git Server ေထာင္လုိ႕ရတဲ့ လူသုံးမ်ားတဲ့ တျခားဟာေတြရွိပါေသးတယ္ ။ အဲ့ဒီထဲက Gitbucket ကုိလည္း စမ္းသပ္အသုံးျပဳႀကည့္ေစခ်င္ပါတယ္ ။

What is Gitbucket?

Gitbucket ဆုိတာ Scala နဲ႔ Develop လုပ္ထားတဲ့ Github Clone တစ္ခုျဖစ္ပါတယ္ ။ Takezoe ဆုိတဲ့ ဂ်ပန္လူမ်ိဳး Developer တစ္ေယာက္ဖန္တီးခဲ့တာျဖစ္ပါတယ္ ။  Github အတုိင္းအသုံးျပဳႏုိင္ပါတယ္ ။ မူရင္းကုိေတာ့ –

https://github.com/gitbucket/gitbucket

မွာသြားႀကည့္ႏုိင္ပါတယ္ ။

Gitbucket ကုိသုံးမယ္ဆုိ လုိအပ္တာေတြကေတာ့ –

  • Unzip
  • Oracle-java8-installer
  • Oracle Glassfish

တုိ႔ကတင္မယ့္စက္မွာရွိေနရမွာျဖစ္ပါတယ္ ။

အခုကြ်န္ေတာ္တုိ႔စ Install လုပ္ႀကည့္ပါမယ္ ။တကယ္လုိ႔ unzip မရွိရင္၊မတင္ရေသးရင္

sudo apt-get install unzip

နဲ႔ Install လုပ္လုိက္ပါ ။Curl မရွိေသးရင္

sudo apt-get install curl

**အခုေရးထားတာက Server ကုိကုိယ့္စက္ကေနလွမ္းျပီး Remote Install လုပ္တဲ့အေနအထားမွာေရးျပထားတာျဖစ္ပါတယ္ ။

1. Installation of Oracle Java 8 Installer

ပထမဆုံး Java ကုိ Install လုပ္ရပါမယ္ ။ Java ကုိ Webupd8 Repository ကေန Install လုပ္မွာျဖစ္ပါတယ္ ။

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

***လုိအပ္မယ္ထင္လုိ႔ထည့္ေရးေပးထားတာပါ။ တင္ျပီးသားဆုိရင္ မလုိပါ ။

2. Installation of Oracle Glassfish 4

Oracle Glassfish

ပထမဆုံးအေနနဲ႔ Oracle Glassfish ကုိ Download ခ်မွာျဖစ္ပါတယ္ ။

sudo curl -OL http://download.java.net/glassfish/4.1.1/release/glassfish-4.1.1-web.zip

ျပီးလွ်င္ဖုိင္မ်ားကို unzip ျပဳလုပ္၍ /opt/ ေအာက္ထဲကုိ ကူးထည့္ေပးရမွာျဖစ္ပါတယ္ ။

sudo unzip glassfish-4.1.1-web.zip -d /opt/

ထုိ႔ေနာက္ cd ျဖင့္ /opt/glasshfish4 ထဲဝင္လုိက္ပါ ။

cd /opt/glassfish4

Glassfish Server ကုိေအာက္ပါအတုိင္း Start လုပ္ရမည္ျဖစ္သည္ ။

sudo /bin/asadmin start-domain

ဒါဆုိ Browser မွာ ip_address:4848 ေခၚလုိက္မယ္ဆုိ ေအာက္ပါအတုိင္းျမင္ရမွာျဖစ္ပါတယ္ ။
Glassfish home page

အကယ္၍ Glassfish server ကုိ Secure ျဖစ္ေအာင္ username နဲ႔ password ထည့္မယ္ဆုိရင္ေတာ့


sudo bin/asadmin change-admin-password
Enter admin user name [default: admin]>admin <--- (default username က admin ပဲျဖစ္ပါတယ္ ။)
Enter the admin password> <---Enter ပဲ ေခါက္လုိက္ရုံပါပဲ Default password မရွိပါဘူး
Enter the new admin password> <---Password အသစ္ထည့္ပါ။
Enter the new admin password again> <---Confirm Password
Command change-admin-password executed successfully.

Secure admin setting ကုိ ေအာက္ပါအတုိင္း Enable လုပ္ေပးရပါတယ္ ။

sudo bin/asadmin enable-secure-admin
Enter admin user name> admin
Enter admin password for user "admin">
You must restart all running servers for the change in secure admin to take effect.
Command enable-secure-admin executed successfully.

ျပီးရင္ Glassfish ကို Start and Stop လုပ္ေပးရပါမယ္ ။ အမွန္ကေတာ့ Restart လုပ္တာျဖစ္ပါတယ္ ။ Restart မပါတဲ့အတြက္ Start and Stop လုပ္ရတာျဖစ္ပါတယ္ ။


sudo bin/asadmin stop-domain
Waiting for the domain to stop .
Command stop-domain executed successfully.

sudo bin/asadmin start-domain
Waiting for domain1 to start …..
Successfully started the domain : domain1
domain Location: /opt/glassfish4/glassfish/domains/domain1
Log File: /opt/glassfish4/glassfish/domains/domain1/logs/server.log
Admin Port: 4848
Command start-domain executed successfully.

ip_address:4848 ကုိေခၚႀကည့္လုိက္မယ္ဆုိရင္ေတာ့ ဒီလုိျဖစ္သြားမွာပါ ။

Glassfish login page

ေစာေစာကေပးခဲ့တဲ့ username & password နဲ႔ Login ဝင္ရမွာပါ ။

3. Deploying of GitBucket

ဆက္ျပီးေတာ့ Gitbucket ကုိ Glassfish မွာ Deploy လုပ္ပါမယ္ ။
ပထမဆုံးအေနနဲ႔ Gitbucket ကုိ Download လုပ္မွာျဖစ္ပါတယ္ ။

curl -OL https://github.com/gitbucket/gitbucket/releases/download/3.11/gitbucket.war

ျပီးရင္ gitbucket.war ဖုိင္ကို /tmp Folder ေအာက္ထဲကူးထည့္ေပးပါ။

sudo cp gitbucket.war /tmp/

ျပီးလုိ႔ရွိရင္ /var/lib/ ေအာက္မွာ gitbucket ဆုိျပီး Folder တစ္ခုေဆာက္ေပးပါ ။

cd /var/lib
sudo mkdir gitbucket

ျပီးသြားရင္ေတာ့ server_ip_address:4848 ကုိ ေခၚျပီး Glassfish ကုိ Login ဝင္လုိက္ပါ ။ ျပီးရင္
Configuration > server-config > System Properties ကုိသြားပါ ။ ပုံမွာျပထားတဲ့အတုိင္း Add Property ကုိႏွိပ္ပါ ။
Instance Variable name မွာ gitbucket.home
Default Value မွာ /var/lib/gitbucket လုိ႔ထည့္ေပးျပီး Save လုပ္ပါ ။

Gitbucket Deploy

ေနာက္တစ္ဆင့္အေနနဲ႔ Application ကိုသြားပါ ။ ပုံမွာျမင္ရတဲ့အတုိင္း Deploy ကုိႏွိပ္ပါ ။

ဒီလုိျမင္ရပါလိမ့္မယ္ ။ Local Packaged File or Directory That Is Accessible from GlassFish Server ကုိေရြးျပီး /tmp/gitbucket.war ကုိေရြးေပးလုိက္ပါ ။ (အဲ့ဒါကုိကြ်န္ေတာ္တုိ႕အေပၚမွာလုပ္ခဲ့တယ္ေနာ္္ 😉 )

ျပီးရင္ OK ႏွိပ္ေပးလုိက္ပါ ။ ဒါဆုိ Deploy လုပ္ျခင္းျပီးစီးပါျပီ ။ ဆက္ျပီးေတာ့ HTTP setting ပုိင္းကုိဆက္သြားပါမယ္ ။

4. Setting up GlassFish network listener

Oracle Glassfish network listener ကုိ configure လုပ္မွာျဖစ္ပါတယ္ ။
Configuration > server-config > HTTP Service > Http Listeners > http-listener-1 ကုိသြားလုိက္ပါ ။
ျပီးရင္ Advanced ကိုကလစ္ႏွိပ္ပါ ။

HTTP Tab ကုိေရြးလုိက္ပါ ။

ဒီေနရာမွာ Gitbucket အတြက္ Max Post Size ကုိသတ္မွတ္ေပးရမွာျဖစ္ပါတယ္ ။ 20MB ေလာက္ထားရင္အဆင္ေျပပါတယ္။ ပုိထားရင္လည္းရပါတယ္ ။ ကြ်န္ေတာ္ကေတာ့ 20MB နဲ႔ပဲလုပ္ျပမွာျဖစ္ပါတယ္ ။ Byte နဲ႔ ျဖည့္ေပးရမွာျဖစ္တဲ့အတြက္ေႀကာင့္မုိ႔ 1024 x 1024 x 20 = 20971520 Bytes ျဖစ္ပါတယ္။ ပုံမွာျပထားတဲ့အတုိင္းျဖည့္ေပးျပီးရင္ Save လုပ္လုိက္ရုံပါပဲ ။

ဒါဆုိရင္ Gitbucket installation ျပီးစီးပါျပီ ။ ip_address:8080/gitbucket လုိ႔ေခၚလုိက္မယ္ဆုိရင္ Gitbucket Home Page ကုိစျမင္ျပီျဖစ္ပါတယ္ ။ ပုံမွန္ Github အသုံးျပဳသလုိပဲ အသုံးျပဳႏုိင္ပါျပီ ။

Default username က root ျဖစ္ျပီး password ကလည္း root ပဲျဖစ္ပါတယ္ ။ အခုအေနအထားမွာ user ေတြကတန္းျပီး Register လုပ္သုံးလုိ႕မရေသးပါဘူး Admin Approval လုိပါတယ္ ။ ဒါေႀကာင့္မုိ႕ root account နဲ႔ login ဝင္ျပီး System Administration > System Settings ထဲမွာသြားျပီး Setting တစ္ခ်ိဳ႔ျပင္ေပးဖုိ႔လုိအပ္ပါတယ္ ။ ဒါေတြကေတာ့ Github သုံးတတ္တယ္ဆုိ က်န္တာနားလည္သြားျပီမုိ႔လုိ႔ ထည့္မေရးပါေပးေတာ့ပါဘူး ။ ဒီေလာက္နဲ႔ပဲေက်နပ္ႀကမယ္ထင္ပါတယ္ ။
ဒီ Article အတြက္ Hidekuro ကုိ Credit ေပးပါတယ္ ။ မူရင္းQiita က Article ကုိမီွျငမ္းထားတာျဖစ္ပါတယ္ ။

***ဒီ Installation ကုိ Ubuntu 14.04 နဲ႔ 15.10 ေပၚမွာစမ္းသပ္ထားျပီးျဖစ္ပါတယ္ ။အဆင္မေျပတာ အခက္အခဲရွိတာမ်ိဳးျဖစ္ျဖစ္ တစ္ခုခုအႀကံျပဳခ်င္တာမ်ိဳးပဲျဖစ္ျဖစ္ ကြ်န္ေတာ့္ကုိအခ်ိန္မေရြးဆက္သြယ္ႏုိင္ပါတယ္ ။ အခ်ိန္ေပးျပီးဖတ္ေပးတဲ့အတြက္လည္းေက်းဇူးတင္ပါတယ္။

aungkokomyintoo@gmail.com
fb.me/aungkokomyintoo
http://twitter.com/kafkatamura13
linkedin.com/in/kafkatamura13
github.com/kafkatamura13