Showing posts with label (at) linux. Show all posts
Showing posts with label (at) linux. Show all posts

Tuesday, January 8, 2013

Instalasi CodeIgniter Spark pada Ubuntu

No comments :
Salah satu framework PHP tercepat di dunia yang dinyatakan oleh founder bahasa pemrograman PHPRasmus Ledorf, telah merelease package management system yang dikenal dengan spark. Spark merupakan sebuah inovasi pemrograman pada CodeIgniter, karena dengan menggunakan spark programmer tidak perlu repot - repot menambah library pada codeigniter. Semua library bisa di install dengan menggunakan terminal pada Linux atau command prompt pada Windows. Dukungan list repository  pada situs http://getsparks.org memudahkan programmer untuk mencari library - library yang akan digunakan untuk integrasi maupun pengembangan aplikasi web yang mereka bangun.



Okey mari kita coba install spark, tetapi langkah yang saya bahas hanya berlaku pada sistem operasi linux.

Langkah pertama lakukan instalasi paket php5-curl agar spark paket management bisa digunakan oleh codeigniter spark:

apt-get install php5-curl

Setelah itu restart service apache anda dengan sitaks berikut ini :


service apache2 restart

Setelah itu, Download CodeIgniter Reactor pada link berikut ini : CodeIgniter-Reactor-v.2.0.3
Kemudian ekstrak file tersebut pada directory apache anda, misalnya seperti /var/www/ dan setelah itu ketik pada terminal anda perintah berikut ini :

cd /var/www/codeigniter/
php -r "$(curl -fsSL http://getsparks.org/go-sparks)"

Okey jika anda telah selesai maka sekarang anda bisa melakukan instalasi contoh paket spark dengan perintah berikut ini :

php tools/spark install -v1.0.0 example-spark



dalam proses instalasi kemungkinan anda akan melihat output pada terminal seperti ini :


[ SPARK ]  Retrieving spark detail from getsparks.org
[ SPARK ]  From Downtown! Retrieving spark from Mercurial repository at https://github.com/katzgrau/example-spark
[ SPARK ]  Installing spark
[ SPARK ]  Spark installed to ./sparks/example-spark/1.0.0 - You're on fire!

Okey, coba anda perhatikan susunan folder anda pada /var/www/codeigniter/, anda mungkin akan melihat susunan folder yang seperti berikut ini :
/var/www/codeigniter/application
/var/www/codeigniter/sparks
/var/www/codeigniter/system
/var/www/codeigniter/tools
/var/www/codeigniter/user_guide

okey, paket example-spark yang telah anda install dengan terminal tadi sudah berada pada folder /var/www/codeigniter/sparks/example-spark. soo, what the next??

selanjutnya adalah memanggil paket spark tadi dengan sintaks berikut pada controller anda :

Salah satu framework PHP tercepat di dunia yang dinyatakan oleh founder bahasa pemrograman PHPRasmus Ledorf, telah merelease package management system yang dikenal dengan spark. Spark merupakan sebuah inovasi pemrograman pada CodeIgniter, karena dengan menggunakan spark programmer tidak perlu repot - repot menambah library pada codeigniter. Semua library bisa di install dengan menggunakan terminal pada Linux atau command prompt pada Windows. Dukungan list repository  pada situs http://getsparks.org memudahkan programmer untuk mencari library - library yang akan digunakan untuk integrasi maupun pengembangan aplikasi web yang mereka bangun.



Okey mari kita coba install spark, tetapi langkah yang saya bahas hanya berlaku pada sistem operasi linux.

Langkah pertama lakukan instalasi paket php5-curl agar spark paket management bisa digunakan oleh codeigniter spark:
apt-get install php5-curl

Setelah itu restart service apache anda dengan sitaks berikut ini :
service apache2 restart

Setelah itu, Download CodeIgniter Reactor pada link berikut ini : CodeIgniter-Reactor-v.2.0.3
Kemudian ekstrak file tersebut pada directory apache anda, misalnya seperti /var/www/ dan setelah itu ketik pada terminal anda perintah berikut ini :
cd /var/www/codeigniter/
php -r "$(curl -fsSL http://getsparks.org/go-sparks)"

Okey jika anda telah selesai maka sekarang anda bisa melakukan instalasi contoh paket spark dengan perintah berikut ini :
php tools/spark install -v1.0.0 example-spark

dalam proses instalasi kemungkinan anda akan melihat output pada terminal seperti ini :

[ SPARK ]  Retrieving spark detail from getsparks.org
[ SPARK ]  From Downtown! Retrieving spark from Mercurial repository at https://github.com/katzgrau/example-spark
[ SPARK ]  Installing spark
[ SPARK ]  Spark installed to ./sparks/example-spark/1.0.0 - You're on fire!

Okey, coba anda perhatikan susunan folder anda pada /var/www/codeigniter/, anda mungkin akan melihat susunan folder yang seperti berikut ini :
/var/www/codeigniter/application
/var/www/codeigniter/sparks
/var/www/codeigniter/system
/var/www/codeigniter/tools
/var/www/codeigniter/user_guide

okey, paket example-spark yang telah anda install dengan terminal tadi sudah berada pada folder /var/www/codeigniter/sparks/example-spark. soo, what the next??

selanjutnya adalah memanggil paket spark tadi dengan sintaks berikut pada controller anda :

$this->load->sparks('example-spark/1.0.0');



ATAU

jika ingin menjalankan secara otomatis gunakan autoload pada folder /var/www/codeigniter/config/autoload.php, dan tambahkan sintaks berikut ini :

    $autoload['sparks']=array('example-spark/1.0.0');

Sekarang anda siap untuk beraksi...
silah mencoba.....

referensi : getsparks.org $this->load->sparks('example-spark/1.0.0');

ATAU

jika ingin menjalankan secara otomatis gunakan autoload pada folder /var/www/codeigniter/config/autoload.php, dan tambahkan sintaks berikut ini :

    $autoload['sparks']=array('example-spark/1.0.0');

Sekarang anda siap untuk beraksi...
silah mencoba.....

referensi : getsparks.org
Read More

Ngoprek MikroTik Api Client Berbasis Python

No comments :
Okeh, jika anda ingin menjadi pengembang MikroTik API client sepertinya anda perlu mencoba MikroTik API client berbasis python untuk melakukan reverse engineering. Langkah ini diperlukan untuk mengetahui setiap inputan dan hasilnya...

Okeh script ini ane ambil dari http://wiki.mikrotik.com/wiki/Manual:API pada bagian paling bawah, berikut ini  scriptnya :

[sourcecode language="python"]
#!/usr/bin/python

import sys, posix, time, md5, binascii, socket, select

class ApiRos:
"Routeros api"
def __init__(self, sk):
self.sk = sk
self.currenttag = 0

def login(self, username, pwd):
for repl, attrs in self.talk(["/login"]):
chal = binascii.unhexlify(attrs['=ret'])
md = md5.new()
md.update('\x00')
md.update(pwd)
md.update(chal)
self.talk(["/login", "=name=" + username,
"=response=00" + binascii.hexlify(md.digest())])

def talk(self, words):
if self.writeSentence(words) == 0: return
r = []
while 1:
i = self.readSentence();
if len(i) == 0: continue
reply = i[0]
attrs = {}
for w in i[1:]:
j = w.find('=', 1)
if (j == -1):
attrs[w] = ''
else:
attrs[w[:j]] = w[j+1:]
r.append((reply, attrs))
if reply == '!done': return r

def writeSentence(self, words):
ret = 0
for w in words:
self.writeWord(w)
ret += 1
self.writeWord('')
return ret

def readSentence(self):
r = []
while 1:
w = self.readWord()
if w == '': return r
r.append(w)

def writeWord(self, w):
print "<<< " + w self.writeLen(len(w)) self.writeStr(w) def readWord(self): ret = self.readStr(self.readLen()) print ">>> " + ret
return ret

def writeLen(self, l):
if l < 0x80:
self.writeStr(chr(l))
elif l < 0x4000: l |= 0x8000 self.writeStr(chr((l >> 8) & 0xFF))
self.writeStr(chr(l & 0xFF))
elif l < 0x200000: l |= 0xC00000 self.writeStr(chr((l >> 16) & 0xFF))
self.writeStr(chr((l >> 8) & 0xFF))
self.writeStr(chr(l & 0xFF))
elif l < 0x10000000: l |= 0xE0000000 self.writeStr(chr((l >> 24) & 0xFF))
self.writeStr(chr((l >> 16) & 0xFF))
self.writeStr(chr((l >> 8) & 0xFF))
self.writeStr(chr(l & 0xFF))
else:
self.writeStr(chr(0xF0))
self.writeStr(chr((l >> 24) & 0xFF))
self.writeStr(chr((l >> 16) & 0xFF))
self.writeStr(chr((l >> 8) & 0xFF))
self.writeStr(chr(l & 0xFF))

def readLen(self):
c = ord(self.readStr(1))
if (c & 0x80) == 0x00:
pass
elif (c & 0xC0) == 0x80:
c &= ~0xC0
c <<= 8
c += ord(self.readStr(1))
elif (c & 0xE0) == 0xC0:
c &= ~0xE0
c <<= 8
c += ord(self.readStr(1))
c <<= 8
c += ord(self.readStr(1))
elif (c & 0xF0) == 0xE0:
c &= ~0xF0
c <<= 8
c += ord(self.readStr(1))
c <<= 8
c += ord(self.readStr(1))
c <<= 8
c += ord(self.readStr(1))
elif (c & 0xF8) == 0xF0:
c = ord(self.readStr(1))
c <<= 8
c += ord(self.readStr(1))
c <<= 8
c += ord(self.readStr(1))
c <<= 8
c += ord(self.readStr(1))
return c

def writeStr(self, str):
n = 0;
while n < len(str):
r = self.sk.send(str[n:])
if r == 0: raise RuntimeError, "connection closed by remote end"
n += r

def readStr(self, length):
ret = ''
while len(ret) < length:
s = self.sk.recv(length - len(ret))
if s == '': raise RuntimeError, "connection closed by remote end"
ret += s
return ret

def main():
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((sys.argv[1], 8728))
apiros = ApiRos(s);
apiros.login(sys.argv[2], sys.argv[3]);

inputsentence = []

while 1:
r = select.select([s, sys.stdin], [], [], None)
if s in r[0]:
# something to read in socket, read sentence
x = apiros.readSentence()

if sys.stdin in r[0]:
# read line from input and strip off newline
l = sys.stdin.readline()
l = l[:-1]

# if empty line, send sentence and start with new
# otherwise append to input sentence
if l == '':
apiros.writeSentence(inputsentence)
inputsentence = []
else:
inputsentence.append(l)

if __name__ == '__main__':
main()
[/sourcecode]

Simpan file diatas dengan nama routeros.py, dan untuk menjalankan nya masukan perintah berikut ini :

[sourcecode language="bash"]
chmod 777 routeros.py
python routeros.py 192.168.88.1 admin admin
[/sourcecode]


jika login anda benar maka akan muncul hasil seperti dibawah ini :

[sourcecode language="bash"]
<<< /login
<<< >>> !done
>>> =ret=3febe34367f76733cbece5c7822ebf7c
>>>
<<< /login
<<< =name=admin
<<< =response=0043af609b070655d06d5c1a7984377b6f
<<< >>> !done
>>>
[/sourcecode]

dan jika password anda salah maka akan tampil pesan berikut ini :

[sourcecode language="bash"]
<<< /login
<<< >>> !done
>>> =ret=8b5b3964ffd9422d920b6497960bfddd
>>>
<<< /login
<<< =name=admin
<<< =response=00f3f3219cdea9fc3861b19551f3457af6
<<< >>> !trap
>>> =message=cannot log in
>>>
>>> !done
>>>
[/sourcecode]

Okey, sekarang mari mencoba menampilakan semua interface pada mikrotik dengan MikroTik API client berbasis python ini. Ketik perintah dibawah ini dan ketik enter :

[sourcecode language="bash"]
/interface/print
[/sourcecode]

pada laptop ane muncul nya seperti ini,:

[sourcecode language="bash"]
/interface/print

<<< /interface/print
<<< >>> !re
>>> =.id=*1
>>> =comment=
>>> =name=ether1
>>> =mtu=1500
>>> =type=ether
>>> =dynamic=false
>>> =running=true
>>>
>>> !re
>>> =.id=*2
>>> =comment=
>>> =name=ether2
>>> =mtu=1500
>>> =type=ether
>>> =dynamic=false
>>> =running=true
>>>
>>> !re
>>> =.id=*3
>>> =comment=
>>> =name=ether3
>>> =mtu=1500
>>> =type=ether
>>> =dynamic=false
>>> =running=true
>>>
>>> !re
>>> =.id=*4
>>> =comment=
>>> =name=ether4
>>> =mtu=1500
>>> =type=ether
>>> =dynamic=false
>>> =running=true
>>>
>>> !re
>>> =.id=*5
>>> =comment=
>>> =name=ether5
>>> =mtu=1500
>>> =type=ether
>>> =dynamic=false
>>> =running=true
>>>
>>> !re
>>> =.id=*6
>>> =comment=
>>> =name=vlan1
>>> =mtu=1500
>>> =type=vlan
>>> =dynamic=false
>>> =running=true
>>>
>>> !re
>>> =.id=*7
>>> =comment=
>>> =name=vrrp1
>>> =mtu=1500
>>> =type=vrrp
>>> =dynamic=false
>>> =running=true
>>>
>>> !re
>>> =.id=*8
>>> =comment=
>>> =name=vlan2
>>> =mtu=1500
>>> =type=vlan
>>> =dynamic=false
>>> =running=true
>>>
>>> !done
>>>
[/sourcecode]

bagaimana dengan laptop anda.....??? pengen tau, coba aja di ketik ...
Okey, kalau laptop ane, ada banyak interface yang sudah di add, jadi untuk memilih interface secara spesifik ketik perintah berikut :

[sourcecode language="bash"]
/interface/print
?=type=vlan
[/sourcecode]

Hasilnya anda akan menampilkan interface yang type vlan saja, berikut ini hasilnya :

[sourcecode language="bash"]
/interface/print
?=type=vlan

<<< /interface/print
<<< ?=type=vlan
<<< >>> !re
>>> =.id=*6
>>> =comment=
>>> =name=vlan1
>>> =mtu=1500
>>> =type=vlan
>>> =dynamic=false
>>> =running=true
>>>
>>> !re
>>> =.id=*8
>>> =comment=
>>> =name=vlan2
>>> =mtu=1500
>>> =type=vlan
>>> =dynamic=false
>>> =running=true
>>>
>>> !done
>>>
[/sourcecode]

Okeh, sekarang bagaimana kalau ingin menampilkan interface ether1 dan ether2? coba ketik perintah berikut ini :

[sourcecode language="bash"]
/interface/print
?=name=ether1
?=name=ether2
?#|
[/sourcecode]

Hasilnya akan seperti ini :

[sourcecode language="bash"]
<<< /interface/print
<<< ?=name=ether1
<<< ?=name=ether2
<<< ?#|
<<< >>> !re
>>> =.id=*1
>>> =comment=
>>> =name=ether1
>>> =mtu=1500
>>> =type=ether
>>> =dynamic=false
>>> =running=true
>>>
>>> !re
>>> =.id=*2
>>> =comment=
>>> =name=ether2
>>> =mtu=1500
>>> =type=ether
>>> =dynamic=false
>>> =running=true
>>>
>>> !done
>>>
[/sourcecode]

Okeh, sekali lagi, bagaimana kalau ingin menampilkan interface ether saja dan selain daripada ether1 dan ether2? coba ketik perintah ini :

[sourcecode language="bash"]
/interface/print
?=type=ether
?#&
?=name=ether1
?#!
?=name=ether2
?#!
[/sourcecode]

maka hasilnya akan seperti dibawah ini :

[sourcecode language="bash"]
<<< /interface/print
<<< ?=type=ether
<<< ?#&
<<< ?=name=ether1
<<< ?#!
<<< ?=name=ether2
<<< ?#!
<<< >>> !re
>>> =.id=*3
>>> =comment=
>>> =name=ether3
>>> =mtu=1500
>>> =type=ether
>>> =dynamic=false
>>> =running=true
>>>
>>> !re
>>> =.id=*4
>>> =comment=
>>> =name=ether4
>>> =mtu=1500
>>> =type=ether
>>> =dynamic=false
>>> =running=true
>>>
>>> !re
>>> =.id=*5
>>> =comment=
>>> =name=ether5
>>> =mtu=1500
>>> =type=ether
>>> =dynamic=false
>>> =running=true
>>>
>>> !done
>>>
[/sourcecode]

Mengapa hasilnya bisa seperti itu ??? bagaimana rumusan nya??? Topik apa yang sedang kita bahas saat ini???
Okey, jadi yang sedang ane uji coba sekarang ini adalah tentang MikroTik API bagian Queries yang hanya disupport pada RouterOS versi 3.22 ke atas...
begini rumusan nya (walaupun sebenarnya ane masih belum terlalu faham betul, but ini asumsi ane okeh!!)

kalau berdasarkan situs http://wiki.mikrotik.com/wiki/Manual:API, berikut keterangan nya:
Okeh, jadi kalau di terjemahkan (pake google translate and di perbaiki) :

QUERIES
perintah cetak menerima kata-kata yang telah di kirimkan dan akan mengatur ulang satu set kalimat . Fitur ini tersedia sejak RouterOS 3.21.


Query dimulai dengan tanda '?' (tanpa tanda petik)
Urutan kata - kata Query sifatnya signifikan. Query di evaluasi mulai dari kata pertama.
Query akan di evaluasi pertiap item yang berada dalam daftar, jika query berhasil, item akan diproses dan jika query gagal item akan diabaikan.
Query di evaluasi menggunakan tumpukan (stack) nilai boolean (true/false). Awalnya tumpukan (stack) berisi jumlah nilai 'true' tak terbatas. Pada akhir proses evaluasi, jika tumpukan (stack) berisi setidaknya satu nilai 'false' maka query menjadi gagal.
Pengoperasian kata - kata dalam query adalah berdasar pada aturan berikut ini :































QueryDesciption
?nameStack akan mengirim 'true' jika item mempunyai value (nilai) dari property name, dan Stack akan mengirim 'false' jika hal sebaliknya terjadi.
?-nameStack akan mengirim 'true' jika item tidak memiliki value (nilai) dari property name, dan Stack akan mengirim 'false' jika hal sebaliknya terjadi.
?name=x
?=name=x
Stack akan mengirim 'true' jika property name memiliki value (nilai) sama dengan x, dan Stack akan mengirim 'false' jika hal sebaliknya terjadi.
?<name=xStack akan mengirim 'true' jika property name memiliki nilai kurang dari x, dan Stack akan mengirim 'false' jika hal sebaliknya terjadi.
?>name=xStack akan mengirim 'true' jika property name lebih besar dari x, dan Stack akan mengirim 'false' jika hal sebaliknya terjadi.
?#operationsberikut ini aturan operasi yang berlaku dalam stack: string operasi di evaluasi dari kiri ke kanan.

urutan digit desimal di ikuti dengan sembarang karakter atau akhir kata ditafsirkan sebagai index stack dimana nilai index pada stack pertama adalah 0.

index  yang di ikuti oleh karakter akan mendorong salinan (copy) pada nilai tersebut. index yang di ikuti kata akhiran akan menggantikan semua nilai dengan nilai pada index tersebut.

'!' (not) karakter akan menggantikan nilai atas dengan nilai yang berlawanan dengan nya.

'&' (and) karakter akan membuang dua nilai (value) dan sebagai hasilnya karakter ini akan melakukan operasi logis 'and'.

'|' (or) karakter akan membuang dua nilai (value) dan sebagai hasilnya karakter ini akan melakukan operasi logis 'or'.

'.' (dot) karakter tidak akan menjadikan error

'.' (dot) karakter setelah karakter lain akan mendorong atau mengirim salinan pada nilai di bagian atas.

Audience : Wah masih bingung gan???
Penulis : Tenang ane juga bingung kok, abis bahasanya baku bangets... tapi mari kita bahas sama - sama siapa tau kita bisa mengerti...
jadi begini, misalnya ada sintaks seperti ini:

[sourcecode language="bash"]
/interface/print
?=type=vlan
?=type=ether
?#|
?=name=ether1
?#!
?#&
[/sourcecode]

kemudian misalnya, kita anggap masing - masing baris dengan kode seperti ini :
?=type=vlan adalah P1
?=type=ether adalah P2
?#| adalah L1
?=name=ether1 adalah P3
?#! adalah L2
?#& adalah L3

okey kalau kita susun dalam bentuk ke kanan jadinya seperti ini :
P1 P2 L1 P3 L2 L3

seperti yang telah dijelaskan dalam tabel diatas, setiap operasi yang ditandai dengan ?# maka dia memiliki rumusan sendiri. Dan setelah ane analisa maka bentuk tadi akan diubah menjadi seperti ini :
P1 L1 P2 L3 L2 P3

dan hasilnya akan menjadi seperti sintaks dibawah ini saat dibaca oleh MikroTik RouterOS :

[sourcecode language="bash"]
?=type=vlan
?#|
?=type=ether
?#&
?#!
?=name=ether1
[/sourcecode]

sehingga seolah - olah sintaks yang diterima oleh mikrotik menjadi seperti ini :

[sourcecode language="bash"]
?=type=vlan ?#| ?=type=ether ?#& ?#! ?=name=ether1
[/sourcecode]

masih belibet kan??? sama... tapi mari coba ubah bentuknya agar lebih mudah dimengerti menjadi seperti ini :

[sourcecode language="bash"]
type=vlan or type=ether and name!=ether1
[/sourcecode]

Pertanyaan nya adalah bagaimana bentuk seperti ini bisa di analogikan???
Hal ini karena mikrotik mengimplementasikan stack, yang mana setiap operasi logika and dan or akan membuang dua perintah dari stack dan akan mengubahnya menjadi bentuk operasi logis.
Nah itu asumsi ane... jadi benar atau salahnya masih belum bisa ane pertanggung jawabkan, untuk mendapat contoh - contoh yang lebih banyak silahkan buka link pada wiki mikrotik ini : http://wiki.mikrotik.com/wiki/API_command_notes

Okeh, semoga bermanfaat... sekian dan terima kasih...
Read More

Instalasi Graphical Network Simulator (GNS) sebagai Lab Virtual Cisco pada Ubuntu

No comments :
Menurut situs GNS, Graphical Network Simulator (GNS) adalah sebuah simulator yang digunakan untuk membangun sebuah simulasi jaringan yang kompleks.  GNS berjalan dengan integrasi aplikasi-aplikasi lain untuk menyediakan simulasi yang akurat dan komperhensif. Aplikasi-aplikasi tersebut antara lain :

  • Dynamips, yang berfungsi untuk simulator Cisco IOS

  • Dynagen, interface berbasis text yang berfungsi mengontrol Dynamips

  • Qemu, emulator dan virtulisasi open source

  • VirtualBox, perangkat lunak virtualisasi yang powerfull


GNS adalah sebuah perangkat lunak pelengkap yang sangat baik untuk simulasi yang mendekati nyata (laboratorium nyata) bagi insinyur jaringan, administrator jaringan dan tentunya bagi mereka yang sedang dalam proses untuk mendapatkan sertifikasi seperti, Cisco CCNA, CCNP, dan CCIE dan juga untuk mereka yang ingin mengejar sertifikasi Juniper JNCIA, JNCIS, dan JNCIE.

Dukungan dan  integrasi VirtualBox (unofficial version) saat ini memungkinkan system engineer dan Administrator untuk membangun sebuah lab virtual  untuk RedHat (RHCE, RHCT), Microsoft (MSCE, MSCA), Novell(CLP) dan sertifikasi-sertifikasi lain. Selain itu, GNS bersifat open sources dan multiplatform, sehingga memungkinkan GNS bisa digunakan pada berbagai sistem operasi seperti Microsoft Windows, Linux, dan MacOS.

GNS juga menyediakan dukungan untuk integrasi dengan wireshark untuk melakukan analisa segment, packet, ataupun frame padal layer TCP/IP. Dukungan integrasi ini memungkinkan Anda bisa untuk mengetahui setiap layer TCP/IP yang bekerja pada Lab Virtual anda. Sifat GNS yang virtual memungkinkan rancangan jaringan virtual yang Anda bangun bisa diakses melalui komputer lain dengan port-port yang telah Anda ataupun GNS tentukan.

Secara sederhana saya dapat menilai GNS salah satu bentuk Lab Virtual yang sangat baik untuk pembelajaran terutama bagi mereka yang sedang mengejar sertifikasi dan network engineer. Menggunakan GNS sebagai Lab Virtual serasa memiliki perangkat asli tapi palsu(virtual ghitu loh). Bagi yang kurang uang saku di dompet untuk membeli perangkat asli dengan jumlah yang memadai untuk membangun sebuah uji coba maka GNS salah satu solusi terbaik yang anda punya saat ini.

Cisco sendiri memiliki perangkat lunak simulator untuk mempermudah proses belajar Anda seperti Packet Tracer, namun Packet Tracer bisa dikatakan Lab Virtual yang tertutup dan terbatas. Sementara GNS, batasan nya hanya resource komputer anda (RAM, CPU dan lain sebagainya), hal ini karena GNS menggunakan Cisco IOS langsung untuk bisa berjalan. Di setiap kelebihan selalu ada kekurangan, begitu pula dengan GNS. Kelebihan yang dimiliki GNS sebagai Lab Virtual di isi dengan kekurangan bahwa GNS tidak bisa berjalan kecuali Anda memilki Cisco IOS yang berasal dari perangkat Cisco Anda langsung, sehingga untuk bisa menggunakan GNS anda harus melakukan ekstrak Cisco IOS dari perangkat Cisco anda yang asli.

Okeh, cukup bicara teori nya....

Sekarang mari mencoba untuk menginstall GNS pada Ubuntu anda... tuliskan sintaks dibawah ini pada terminal linux ubuntu anda:

[sourcecode language="bash"]
sudo apt-get install gns3 dynamips qemu wireshark
[/sourcecode]

Okey setelah proses instalasi anda selesai, buka unity dan ketik gns kemudian klik icon GNS maka akan tampil antarmuka sebagai berikut :

GNS3_020

Pada bagian samping kiri pada antarmuka diatas Anda disediakan perangkat-perangkat Jaringan Cisco, Juniper, Swicth, ATM, IDS Qemu Host dan Cloud. Perangkat-perangkat virtual diatas bisa anda tambahkan pada jika anda memiliki Firmware atau IOS. Okey selanjutnya buka menu Edit->IOS image and hypervisor seperti pada gambar dibawah ini :

Menu_021

Setelah itu akan muncul antarmuka sebagai berikut :

Preferences_030

Pada tab IOS Image, anda disediakan sebuah fitur untuk menambah Image dari system operasi dari Cisco, Juniper maupun Qemu. Seperti yang Anda lihat pada gambar diatas pada label Settings, Anda bisa memilih OS Image dan mengatur platform serta model dari OS Image anda. Biasanya jika Anda memiliki Image Cisco IOS, Default RAM yang digunakan oleh Cisco sudah secara default ditentukan akan tetapi anda bisa menambah jumlah penggunaan RAM sesuai kebutuhan Anda. Jika Anda telah mengisi field-filed pada label Setting jangan lupa untuk mengklik tombol save untuk menyimpan OS Image yang telah Anda inputkan.

Untuk melakukan pengaturan terhadap Qemu Host (Virtual Machine) agar anda bisa membuat sebuah mesin virtual untuk menjalankan Sistem Operasi yang berbeda, buka menu Preference->Qemu seperti pada gambar dibawah in :
Menu_022

Preferences_030

 

Pada gambar diatas anda bisa memasukan OS Image untuk sistem operasi yang akan berjalan sebagai virtual machine. Field-field yang dibutuhkan antara lain :

  • Identifier name sebagai nama virtual machine

  • Binary Image sebagai path OS Image Sistem Operasi Anda

  • RAM yang akan digunakan untuk menjalankan virtual machine

  • Number of NICs untuk mengatur jumlah kartu jaringan Anda

  • NIC Model untuk menentukan Model kartu jaringan yang Anda inginkan

  • Qemu Option jika anda memerlukan opsional untuk pengaturan tambahan dalam menjalankan Qemu

  • Use KQemu untuk menjalankan Qemu dalam bentuk KDE

  • Use KVM (Linux Only) untuk mengatur kernell based virtual machine (tentunya ini khusus untuk sistem operasi linux)


Jika anda telah seleasi maka langkah selanjutnya mengklik tombol save untuk menyimpan inputan data Anda.

 

Okey, tutorial dengan kasus akan dibahas selanjtunya... to be continued....

Sumber Rujukan : http://www.gns3.net
Read More

Instalasi Eclipse pada Ubuntu 11.10

No comments :
Okeh, ane iseng - iseng aja bikin tulisan ney...
Eclipse adalah salah satu Integrated Development Environtment (IDE) yang mutlifungsi. Ada banyak bahasa pemrograman yang bisa anda edit dengan menggunakan IDE ini. Sebelum anda melakukan instalasi eclipse pada ubuntu maka sebaiknya baca dulu Instalasi JDK pada ubuntu pada link ini dibawah ini :

 
http://nunenuh.wordpress.com/2013/01/08/installasi-oracle-jdk-7-pada-ubuntu-11-10/

Okeh, ane anggap instalasi JDK sudah berhasil, langkah selanjutnya download eclipse pada link di bawah ini dan simpan pada folder Download pada Home anda:
http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/R-3.7.1-201109091335/eclipse-SDK-3.7.1-linux-gtk.tar.gz

Okey jika proses download telah selesai, sekarang masuk ke terminal (Bertais Kalee).... dan tulis sintak berikut ini :

[sourcecode language="bash"]
sudo cd ~/Download/
sudo cp eclipse-SDK-3.7.1-linux-gtk.tar.gz /opt/
sudo cd /opt/
sudo tar -xvzf eclipse-SDK-3.7.1-linux-gtk.tar.gz
sudo chmod 777 -R eclipse
[/sourcecode]

Langkah selanjutnya buat sebuah file pada /usr/share/applications/ dengan nama eclipse.desktop dan isi dengan sintaks dibawah ini :

[sourcecode language="bash"]
[Desktop Entry]
Encoding=UTF-8
Name=Eclipse Classic 3.7
Exec=/opt/eclipse/eclipse
Icon=/opt/eclipse/icon.xpm
Categories=Application;Development;Java;IDE
Version=3.7
Type=Application
Terminal=0
[/sourcecode]

File diatas perlu anda buat agar eclipse yang sudah anda install bisa anda akses melalui Unity.
Silahkan mencoba....
Sekian dan Terima Kasih...
Read More

Installasi Oracle JDK 7 pada Ubuntu 11.10

1 comment :
Okey, setelah menginstall Oracle JDK 7 tanpa synaptic atau apt,  browser google chrome saya menjadi tidak berfungsi dengan baik ketika berhadapan dengan java applet dan sejenisnya. Setelah bergoogling ria akhirnya saya mendapat pencerahan (beeeiihhh mudah!!!!)... Supaya sama - sama cerah bagi yang merasa gelap pikiran, saya bagi oprekan script plus langkah - langkah nya.

 

Langkah Pertama ,

  1. Download JDK 7 pada link berikut ini : http://download.oracle.com/otn-pub/java/jdk/7u1-b08/jdk-7u1-linux-i586.tar.gz

  2. Pastikan anda mendownload JDK dengan extensi file tar.gz


Jika anda telah selesai mendownload tulis sintaks berikut ini pada terminal anda :

[sourcecode language="bash"]
cp jdk-7u1-linux-i586.tar.gz /opt/
cd /opt/
tar -xvzf jdk-7u1-linux-i586.tar.gz
[/sourcecode]

Langkah Kedua,

Buka Text Editor atau nano dan isi dengan sintaks berikut ini :

[sourcecode language="bash"]
#!/bin/bash
#Iseng - Iseng VTHINK

echo "Please Enter Your JAVA HOME (e.g /opt/jdk1.7.0) : "
read java_dir

echo "Creatng symlink in /usr/lib/jvm/java-7-sun.."
ln -s $java_dir /usr/lib/jvm/java-7-sun

echo "Creating Environment JAVA_HOME.."
JAVA_HOME=/usr/lib/jvm/java-7-sun
export JAVA_HOME

echo "Creating PATH Environment JAVA_HOME.."
PATH=$PATH:$JAVA_HOME/bin:
export PATH

echo "Creating CLASSPATH Environment JAVA_HOME.."
CLASSPATH=$JAVA_HOME/lib/:.
export CLASSPATH

echo "Please Enter Your Java Architecture (i386/amd64) : "
read java_arch


echo "Do update-alternatives..."
update-alternatives --quiet --install /usr/lib/xulrunner-addons/plugins/libjavaplugin.so xulrunner-1.9-javaplugin.so /usr/lib/jvm/java-7-sun/jre/lib/$java_arch/libnpjp2.so 63
update-alternatives --quiet --install /usr/lib/mozilla/plugins/libjavaplugin.so mozilla-javaplugin.so /usr/lib/jvm/java-7-sun/jre/lib/$java_arch/libnpjp2.so 63
update-alternatives --quiet --install /usr/bin/appletviewer appletviewer /usr/lib/jvm/java-7-sun/bin/appletviewer 63 --slave /usr/share/man/man1/appletviewer.1 appletviewer.1 /usr/lib/jvm/java-7-sun/man/man1/appletviewer.1
update-alternatives --quiet --install /usr/bin/apt apt /usr/lib/jvm/java-7-sun/bin/apt 63 --slave /usr/share/man/man1/apt.1 apt.1 /usr/lib/jvm/java-7-sun/man/man1/apt.1
update-alternatives --quiet --install /usr/bin/extcheck extcheck /usr/lib/jvm/java-7-sun/bin/extcheck 63 --slave /usr/share/man/man1/extcheck.1 extcheck.1 /usr/lib/jvm/java-7-sun/man/man1/extcheck.1
update-alternatives --quiet --install /usr/bin/idlj idlj /usr/lib/jvm/java-7-sun/bin/idlj 63 --slave /usr/share/man/man1/idlj.1 idlj.1 /usr/lib/jvm/java-7-sun/man/man1/idlj.1
update-alternatives --quiet --install /usr/bin/jar jar /usr/lib/jvm/java-7-sun/bin/jar 63 --slave /usr/share/man/man1/jar.1 jar.1 /usr/lib/jvm/java-7-sun/man/man1/jar.1
update-alternatives --quiet --install /usr/bin/jarsigner jarsigner /usr/lib/jvm/java-7-sun/bin/jarsigner 63 --slave /usr/share/man/man1/jarsigner.1 jarsigner.1 /usr/lib/jvm/java-7-sun/man/man1/jarsigner.1
update-alternatives --quiet --install /usr/bin/javac javac /usr/lib/jvm/java-7-sun/bin/javac 63 --slave /usr/share/man/man1/javac.1 javac.1 /usr/lib/jvm/java-7-sun/man/man1/javac.1
update-alternatives --quiet --install /usr/bin/javadoc javadoc /usr/lib/jvm/java-7-sun/bin/javadoc 63 --slave /usr/share/man/man1/javadoc.1 javadoc.1 /usr/lib/jvm/java-7-sun/man/man1/javadoc.1
update-alternatives --quiet --install /usr/bin/javah javah /usr/lib/jvm/java-7-sun/bin/javah 63 --slave /usr/share/man/man1/javah.1 javah.1 /usr/lib/jvm/java-7-sun/man/man1/javah.1
update-alternatives --quiet --install /usr/bin/javap javap /usr/lib/jvm/java-7-sun/bin/javap 63 --slave /usr/share/man/man1/javap.1 javap.1 /usr/lib/jvm/java-7-sun/man/man1/javap.1
update-alternatives --quiet --install /usr/bin/jconsole jconsole /usr/lib/jvm/java-7-sun/bin/jconsole 63 --slave /usr/share/man/man1/jconsole.1 jconsole.1 /usr/lib/jvm/java-7-sun/man/man1/jconsole.1
update-alternatives --quiet --install /usr/bin/jdb jdb /usr/lib/jvm/java-7-sun/bin/jdb 63 --slave /usr/share/man/man1/jdb.1 jdb.1 /usr/lib/jvm/java-7-sun/man/man1/jdb.1
update-alternatives --quiet --install /usr/bin/jhat jhat /usr/lib/jvm/java-7-sun/bin/jhat 63 --slave /usr/share/man/man1/jhat.1 jhat.1 /usr/lib/jvm/java-7-sun/man/man1/jhat.1
update-alternatives --quiet --install /usr/bin/jinfo jinfo /usr/lib/jvm/java-7-sun/bin/jinfo 63 --slave /usr/share/man/man1/jinfo.1 jinfo.1 /usr/lib/jvm/java-7-sun/man/man1/jinfo.1
update-alternatives --quiet --install /usr/bin/jmap jmap /usr/lib/jvm/java-7-sun/bin/jmap 63 --slave /usr/share/man/man1/jmap.1 jmap.1 /usr/lib/jvm/java-7-sun/man/man1/jmap.1
update-alternatives --quiet --install /usr/bin/jps jps /usr/lib/jvm/java-7-sun/bin/jps 63 --slave /usr/share/man/man1/jps.1 jps.1 /usr/lib/jvm/java-7-sun/man/man1/jps.1
update-alternatives --quiet --install /usr/bin/jrunscript jrunscript /usr/lib/jvm/java-7-sun/bin/jrunscript 63 --slave /usr/share/man/man1/jrunscript.1 jrunscript.1 /usr/lib/jvm/java-7-sun/man/man1/jrunscript.1
update-alternatives --quiet --install /usr/bin/jsadebugd jsadebugd /usr/lib/jvm/java-7-sun/bin/jsadebugd 63 --slave /usr/share/man/man1/jsadebugd.1 jsadebugd.1 /usr/lib/jvm/java-7-sun/man/man1/jsadebugd.1
update-alternatives --quiet --install /usr/bin/jstack jstack /usr/lib/jvm/java-7-sun/bin/jstack 63 --slave /usr/share/man/man1/jstack.1 jstack.1 /usr/lib/jvm/java-7-sun/man/man1/jstack.1
update-alternatives --quiet --install /usr/bin/jstat jstat /usr/lib/jvm/java-7-sun/bin/jstat 63 --slave /usr/share/man/man1/jstat.1 jstat.1 /usr/lib/jvm/java-7-sun/man/man1/jstat.1
update-alternatives --quiet --install /usr/bin/jstatd jstatd /usr/lib/jvm/java-7-sun/bin/jstatd 63 --slave /usr/share/man/man1/jstatd.1 jstatd.1 /usr/lib/jvm/java-7-sun/man/man1/jstatd.1
update-alternatives --quiet --install /usr/bin/native2ascii native2ascii /usr/lib/jvm/java-7-sun/bin/native2ascii 63 --slave /usr/share/man/man1/native2ascii.1 native2ascii.1 /usr/lib/jvm/java-7-sun/man/man1/native2ascii.1
update-alternatives --quiet --install /usr/bin/rmic rmic /usr/lib/jvm/java-7-sun/bin/rmic 63 --slave /usr/share/man/man1/rmic.1 rmic.1 /usr/lib/jvm/java-7-sun/man/man1/rmic.1
update-alternatives --quiet --install /usr/bin/schemagen schemagen /usr/lib/jvm/java-7-sun/bin/schemagen 63 --slave /usr/share/man/man1/schemagen.1 schemagen.1 /usr/lib/jvm/java-7-sun/man/man1/schemagen.1
update-alternatives --quiet --install /usr/bin/serialver serialver /usr/lib/jvm/java-7-sun/bin/serialver 63 --slave /usr/share/man/man1/serialver.1 serialver.1 /usr/lib/jvm/java-7-sun/man/man1/serialver.1
update-alternatives --quiet --install /usr/bin/wsgen wsgen /usr/lib/jvm/java-7-sun/bin/wsgen 63 --slave /usr/share/man/man1/wsgen.1 wsgen.1 /usr/lib/jvm/java-7-sun/man/man1/wsgen.1
update-alternatives --quiet --install /usr/bin/wsimport wsimport /usr/lib/jvm/java-7-sun/bin/wsimport 63 --slave /usr/share/man/man1/wsimport.1 wsimport.1 /usr/lib/jvm/java-7-sun/man/man1/wsimport.1
update-alternatives --quiet --install /usr/bin/xjc xjc /usr/lib/jvm/java-7-sun/bin/xjc 63 --slave /usr/share/man/man1/xjc.1 xjc.1 /usr/lib/jvm/java-7-sun/man/man1/xjc.1
update-alternatives --quiet --install /usr/bin/java-rmi.cgi java-rmi.cgi /usr/lib/jvm/java-7-sun/bin/java-rmi.cgi 63
update-alternatives --quiet --install /usr/bin/ControlPanel ControlPanel /usr/lib/jvm/java-7-sun/jre/bin/ControlPanel 63
update-alternatives --quiet --install /usr/bin/java java /usr/lib/jvm/java-7-sun/jre/bin/java 63
update-alternatives --quiet --install /usr/bin/java_vm java_vm /usr/lib/jvm/java-7-sun/jre/bin/java_vm 63
update-alternatives --quiet --install /usr/bin/javaws javaws /usr/lib/jvm/java-7-sun/jre/bin/javaws 63
update-alternatives --quiet --install /usr/bin/jcontrol jcontrol /usr/lib/jvm/java-7-sun/jre/bin/jcontrol 63
update-alternatives --quiet --install /usr/bin/keytool keytool /usr/lib/jvm/java-7-sun/jre/bin/keytool 63
update-alternatives --quiet --install /usr/bin/pack200 pack200 /usr/lib/jvm/java-7-sun/jre/bin/pack200 63
update-alternatives --quiet --install /usr/bin/policytool policytool /usr/lib/jvm/java-7-sun/jre/bin/policytool 63
update-alternatives --quiet --install /usr/bin/rmid rmid /usr/lib/jvm/java-7-sun/jre/bin/rmid 63
update-alternatives --quiet --install /usr/bin/rmiregistry rmiregistry /usr/lib/jvm/java-7-sun/jre/bin/rmiregistry 63
update-alternatives --quiet --install /usr/bin/unpack200 unpack200 /usr/lib/jvm/java-7-sun/jre/bin/unpack200 63
update-alternatives --quiet --install /usr/bin/orbd orbd /usr/lib/jvm/java-7-sun/jre/bin/orbd 63
update-alternatives --quiet --install /usr/bin/servertool servertool /usr/lib/jvm/java-7-sun/jre/bin/servertool 63
update-alternatives --quiet --install /usr/bin/tnameserv tnameserv /usr/lib/jvm/java-7-sun/jre/bin/tnameserv 63
update-alternatives --quiet --install /usr/bin/jexec jexec /usr/lib/jvm/java-7-sun/jre/lib/jexec 63

echo "Updating Done!"
[/sourcecode]

Setelah itu simpan dengan nama java_config.sh, kemudian ketik sintaks berikut ini :

[sourcecode language="bash"]
chmod +x java_config.sh
sudo ./java_config.sh
[/sourcecode]

hasilnya akan seperti berikut ini :
[sourcecode language="bash"]
root@Dell:~/Desktop# ./java_config
Please Enter Your JAVA HOME (e.g /opt/jdk1.7.0) :
/opt/jdk1.7.0_01
Creatng symlink in /usr/lib/jvm/java-7-sun..
Creating Environment JAVA_HOME..
Creating PATH Environment JAVA_HOME..
Creating CLASSPATH Environment JAVA_HOME..
Please Enter Your Java Architecture (i386/amd64) :
i386
Do update-alternatives...
Updating Done!
[/sourcecode]

Sekian dan Terima Kasih...

Referensi : http://brunoreis.com/tech/intalling-java-ubuntu-natty/
Read More

Tuesday, February 7, 2012

Menjalankan Aplikasi Java Sebagai Service di Ubuntu

No comments :
Saat bikin aplikasi java yang sudah berjalan, saya punya rencana untuk buat aplikasi ini sebagai service di ubuntu. Nah, permasalahannya adalah ada berbagai macam cara yang bisa digunakan menjadikan aplikasi java sebagai service di linux. Misalnya Java Service Wrapper, JSVC, YAJWS, dan masih banyak lagi. Namun, apa bisa dikata saya butuh yang cepat dari latar belakang keilmuwan saya, akhirnya pilihan jatuh ke daemon.

Langsung saja ke TKP....

Untuk bisa menjadikan Aplikasi Java anda berjalan sebagai daemon, langkah pertama yang perlu anda lakukan adalah install daemon dengan perintah sebagai berikut :

[sourcecode language="css"]
sudo apt-get install daemon
[/sourcecode]

okey, jika instalasi sudah berjalan lancar, saya akan bahas secara singkat cara menggunakan daemon untuk menjadikan aplikasi sebagai services.
Membuat Sebuah Services (Start Services)

Perintah di bawah ini digunakan untuk menjalankan sebuah service.

[sourcecode language="css"]
sudo daemon --name="ngeping" -- ping localhost
[/sourcecode]

Keterangan:
--name="ngeping" --> digunakan untuk memberikan nama service yang dijalankan

-- ping localhost --> adalah aplikasi yang akan dijadikan services

Jadi pada saat anda menuliskan perintah "sudo daemon --name="ngeping" -- ping localhost" pada terminal linux, daemon akan menjalankan aplikasi ping secara tersembunyi. Pertanyaan nya, bagaimana cara melihat hasil ping yang sedang berlangsung?
Begini perintahnya :

[sourcecode language="css"]
sudo daemon --name="ngeping" --output=/tmp/ping.log -- ping localhost
tail -f /tmp/ping.log
[/sourcecode]

hasilnya kira-kira begini :

[sourcecode language="css"]
root@nunenuh:~/# tail -f /tmp/ping.log
PING localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_req=1 ttl=64 time=0.077 ms
64 bytes from localhost (127.0.0.1): icmp_req=2 ttl=64 time=0.064 ms
64 bytes from localhost (127.0.0.1): icmp_req=3 ttl=64 time=0.056 ms
64 bytes from localhost (127.0.0.1): icmp_req=4 ttl=64 time=0.059 ms
64 bytes from localhost (127.0.0.1): icmp_req=5 ttl=64 time=0.065 ms
64 bytes from localhost (127.0.0.1): icmp_req=6 ttl=64 time=0.098 ms
^C
[/sourcecode]

Mematikan Service Yang Telah Anda Buat

okey, jika barusan anda berhasil untuk membuat sebuah service, selanjutnya adalah cara mematikan nya. Untuk mematikan sebuah service yang telah anda buat. Perintahnya adalah sebagai berikut:

[sourcecode language="css"]
sudo daemon --name="ngeping" --stop
[/sourcecode]

Okey perinah diatas digunakan untuk mematikan service yang telah anda buat, tapi bagaiman cara melihat services yang telah anda buat sudah tidak aktif lagi?

Melihat Status Service Yang Telah Anda Buat

Cara untuk mengetahui services yang anda jalankan masih berjalan atau sudah tidak aktif adalah dengan menggunakan perintah --running yang dipadukan dengan --verbose, berikut ini perintahnya :

[sourcecode language="css"]
sudo daemon --name="ngeping" --pidfile=/var/run/ngeping.pid --running --verbose
[/sourcecode]

hasilnya kira-kira sebagai berikut :

[sourcecode language="css"]
root@nunenuh:~/# daemon --name="ngeping" --pidfile=/var/run/ngeping.pid --running --verbose
daemon: ngeping is running (pid 30224)
[/sourcecode]

Pada perintah diatas anda bisa melihat ada perintah "--pidfile=/var/run/ngeping.pid", perintah ini digunakan untuk menyatakan lokasi file Proccess-ID (PID) yang secara default pada ubuntu berada pada path /var/run. Sedangkan ngeping.pid secara automatis dibuat oleh daemon dengan perintah --name="ngeping", sehingga pada path /var/run/ aplikasi daemon membuat sebuah file dengan nama ngeping.pid.

Membuat Service untuk Aplikasi Java

Keetiga dasar diatas sangat penting untuk Anda ketahui sebelum memulai membuat sebuah file yang bisa digunakan untuk membuat service pada ubuntu. Langkah selanjutnya adalah membuat sebuah file untuk menjalankan service, tapi sebelumnya izinkan saya menjelaskan skenario kasusnya terlebih dahulu. Okey begini skenarionya :

  • Aplikasi Java yang sudah saya bangun memiliki nama server.jar

  • Lokasi file Aplikasi Java yang sudah saya bangun berada pada /opt/server/server.jar

  • JRE yang saya gunakan JRE 1.7


Supaya lebih singkat penulisan saya, lihat script dibawah ini :

[sourcecode language="css"]
#!/bin/sh

#----------------------
# InitScript untuk Server
#----------------------
# Script ini digunakan untuk mengontrol server
# Author Lalu Erfandi Maula Yusnu

#--------------------
#PERSIAPAN
#--------------------
#konfigurasi script
ServiceName="server"
ServiceHome="/opt/server"
ServiceFile="$ServiceHome/$ServiceName.jar"
ServiceLogFile="/var/log/$ServiceName.log"
ServicePidFile="/var/run/$ServiceName.pid"

#command for running epanel
javaCmd="java -jar"
javaRunCmd="$javaCmd $ServiceFile"
dName="--name=$ServiceName"
dLog="--output=$ServiceLogFile"
dPid="--pidfile=$ServicePidFile"

#------------------
# AKHIR PERSIAPAN
#------------------

#-----------------------
# PENDEFINISIAN FUNGSI-FUNGSI
#-----------------------

daemon_start(){
sudo daemon $dName $dLog $dPid --unsafe -- $javaRunCmd
echo "Starting server service..."
}

daemon_stop(){
sudo daemon $dName --stop -- $javaRunCmd
echo "Stopping server service..."
}

daemon_restart(){
daemon_stop
daemon_start
echo "Restarting server service complete..."
}

daemon_status(){
sudo daemon $dName $dPid --running --verbose
}

#-----------------------------------
# AKHIR PENDEFINISIAN FUNGSI-FUNGSI
#-----------------------------------

#-----------------------
# IN ACTION
#-----------------------

case "$1" in
start)
daemon_start
;;
stop)
daemon_stop
;;
restart)
daemon_restart
;;
status)
daemon_status
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
esac

exit 0
[/sourcecode]

Setelah script diatas seleasi ditulis, maka langkah selanjutnya memindahkan file ini ke path /etc/init.d/server dan memberikan izin eksekusi dengan perintah chmod +x server.
Jika masih bingung silahkan posting comment untuk memperjelas maksud perintah diatas... sekian dan terima kasih...
Read More

Monday, October 25, 2010

konfigurasi routing RIP di quagga

2 comments :
hmmm... kemaren di artikel sebelumnya ane udah ngejelasin tentang instalasi dan konfigurasi quagga, nah sekarang ane mau bahas lebih lanjut tentang routing protokol RIP di quagga...

protokol rip adalah protokol yang di gunakan oleh router untuk menentukan jalur terpendek berdasarkan hop count (jumlah lompatan) agar bisa mencapai jaringan tujuan. protokol rip merupakan interior gateway protocol (IGP) yang di gunakan di jaringan LAN maupun WAN. maksimum hop count adaalah 15 , jadi jika jalur untuk mencapai tujuan melalui lebih dari 15 titik atau 15 router maka jaringan tersebut tidak bisa di jangkau lagi. rip memiliki dua versi yaitu ripv1 dan ripv2, ripv1 hanya mendukung jaringan yang classfull dan contigues network, sementara ripv2 mendukung jaringan yang classless (vlsm/subnetting) dan  discontigues network.

sederhanya sebuah router tidak bisa menghubungkan jaringan yang berbeda yang tidak terhubung langsung dengannya tanpa protokol routing. selain rip masih banyak lagi protokol routing yang laen, tapi kaleee ney kita akan ngebahas implementasi rip pada quagga. okeg begini kasusnya....

perhatikan gambar di bawah ney gan...

[caption id="attachment_361" align="aligncenter" width="500" caption="Topology 3 Router"]Topology 3 Router[/caption]

Read More

Friday, September 3, 2010

hias terminal dengan figlet

No comments :
teringat sama sohib ane waktu pelatihan ccna 2 academy, dia ngenalin tentang figlet yang dia dapet dari ubuntu kungfu... terminalnya di modif jadi kayak gene :



nah supaya terminal bisa di modif kayak gitu caranya

Read More

Saturday, July 17, 2010

arpspoof (netcut) di ubuntu 10.04

3 comments :
jadi gene ceritanya gan... ane lagi ngenet di hotspot di deket rumah... pas lage ngenet tiba - tiba koneksi putus... konek ulang lage jadinya... pas koneksi udah nyambung lage... putus lage... putus... nyambung.. putus... nyambung... kayak lagu putus nyambung ney... wedew... sepertinya ada yang pake netcut ney... wew gak mau kalah juga ane belum tau dia di linux ada tools yang juga gak kalah serem... toolsnya arpspoof..

okeh sekarang ane jelasin apa aja yang perlu di install di ubuntu supaya bisa pake tools ini dan kawan - kawannya :

langkah pertama install paket dsniff :

sintaknys begini :

apt-get install dsniff

okeh sekarang kita pake tools kita, misal kasusnya ip gateway dari si router ntu 192.168.0.1 truz kita konek pake wireless... sekarang kita mau nyerang satu jaringan.... jadi siapapun yang konek ke gateway 192.168.0.1 akan mengalami gangguan dan koneksi bakalan putus.... caranya kayak gene :




Read More

Tuesday, May 18, 2010

Konfigurasi Modem Sierra 881u di Ubuntu 10.04

8 comments :
siiiipppp.... tiga hari ngubek konfigurasi modem di ubuntu yang gak jalan - jalan pake layanan telkomflash unlimited... dan akhirnya berhasil... nah ney cara konfigurasinya...

lets begin it...

pertama install wvdial dengan sintaks ini :

sudo apt-get install wvdial

nah.. lok udah terinstall pasang modemnya abiz tu ketik ney :

sudo wvdialconf

ssiiiiiipppp.... abiz tu buka file konfigurasinya di /etc/wvdial.conf :

sudo gedit /etc/wvdial.conf
Read More

Sunday, May 16, 2010

Virtual Interface di Ubuntu

1 comment :
waktu nyobain bangun server pake ubuntu... ane ngadepin masalah... setidaknya untuk uji coba ane butuh NIC (Network Interface Card) 3 buah... mana gak ada uang lage, mau ngutang maluu... akhirnya ketemu juga solusinya, pake virtual interface. virtual interface fungsinya, bisa buat seolah - olah ada banyak NIC dalem satu NIC... misalnya ane punya satu interface tapi dalam satu interface bisa dihubungi pake 3 ip address... soo dalem satu kabel lan yang sama, lok di ping 3 ip yang berbeda  semuanya bisa reply asal satu jaringan lah.... okeh lets begin aja....

(kasusnya buat 3 buah virtual interface di pada ethernet)

buka file di /etc/network/interfaces dengan mengetikan :

sudo gedit /etc/network/interfaces

Read More

Monday, May 10, 2010

Ubuntu Lucid Lynx (10.04) Rasa MacOSX

25 comments :
akhirnya berhasil juga ngubah tampilan ubuntu 10.04 ane jadi mirip sama MacOSX setelah ngotak-ngatik n googling di internet. Ngapain ngubah tampilan ubuntu kayak MacOS?? kata temen ane... yupz sebenarnya gara - gara virus yang dibawak pulang bokap ane dari tempatnya kerja, pulang - pulang dia tiba - tiba mau beli laptop MacBookPro keluarannya si Apple. Setelah menunggu barang dikirim dari surabaya selama 1 minggu, akhirnya MacBookPro ntu nyampe di rumah ane, dengan box berwarna putih dan tulisan di boxnya MacBook Pro. Penasaran liat gimana rupa laptop ntu (maklum gaptek), tyuz MacBook Pro ntu pun dibuka dari Boxnya.... dengan body yang slim aduhai dan lambang apple di front casenya buat ane jadi ngiler...!!! hehehehe... jadi pengen punya atu... bokap ane bilang besok beli sendiri lok sudah kerja... (sabaaaaarrrrr!!!!). Pas dinyalain, gila tampilannya tambah buat ngiler (ciaaaaaaaaaaa!!!!!) elegant banget gan... fiuh... (kapan penyakit kanker ney sembuh biar bisa beli atu).

Sebenernya bukan sekedar tampilan aja sech yang buat ane suka sama MacOS, salah satu hal yang buat ane suka dan lok gak ada hal itu ane gak bakalan suka adalah MacOS merupakan turunan dari Unix yang berarti masih satu keluarga dengan Linux... berarti systemnya gak beda jauh dengan linux...

Nah, Karena ane gak punya MacBookPro... ane oprek tu Ubuntu Lucid Lynx (10.04) jadi semirip mungkin dengan MacOS....
so begini caranya, pertama - tama download dulu file - file yang dibutuhkan ini :

http://sourceforge.net/projects/mac4lin/

setelah selesai file di download ekstrak file tersebut dengan sintaks berikut :

sudo unzip Mac4Lin_Install_v1.0.zip

kemudian masuk ke folder kemudian install Mac4Lin :


sudo su
cd Mac4Lin_Install_v1.0
chmod 777 Mac4Lin_Install_v1.0.sh
sh Mac4Lin_Install_v1.0.sh


Read More

Sunday, May 2, 2010

axel si rakus bandwitdh

1 comment :
Wah gimana ney? download gak bisa sekenceng IDM di ubuntu... kata salah seorang teman saya... kemudian saya bilang.. eits bentar dulu, di ubuntu 9.10 ada aplikasi yang gak kalah kenceng sama Internet Download Manager... aplikasi ney namanya axel... axel punya fitur untuk melakukan download sebuah file dengan request sebanyak yang anda inginkan... sementara IDM punya batas hanya sampai 16 kali request maksimal...

mau nyoba... okeh lets begin... install dulu axelnya....

sudo apt-get install axel

udah selese install? ucapkan mantra 'mantaaaab' sebelum melanjutkan....
axel adalah aplikasi download yang di jalankan melalui terminal. soo lok pengen pake ney aplikasi buka terminal n ketik axel.....

Read More

Saturday, May 1, 2010

Instalasi dan Konfigurasi DNS (bind9) di Ubuntu 9.10

16 comments :
ciaaaaaaaaaaaatttt........ setelah dua bulan merintih dalam kesunyian pagi dan malam.... akhirnya aku berhasil menjalankan dns server di ubuntu server ku..... yuuuuhhuuuuuu..... untuk merayarakan kebahagiaan ane ini, ane akan membaginya melalui blog sederhana ini.

okeh lets begin....

ane anggep yang baca postingan ane udah pada baca apa itu dns n cara kerja dns.

kita mulai dengan instalasi bind untuk layanan dns server....
buka terminal n ketik sintaks dibawah ini :

sudo apt-get install bind

Read More

Tuesday, April 27, 2010

Instalasi dan konfigurasi vsftp di ubuntu

1 comment :
Yupz ane mau bage - bage dikit cara instalasi n konfigurasi vsftpd di ubuntu 9.10. vsftpd dipake buat server ftp, banyak ftp server yang tersedia di ubuntu tapi menurut ane yang satu ney paling simpel ghitu loh... seperti biasa ane kurang suka berpanjang kata, yok mulai nyoook...

Okeh, langkah pertama kita install dulu vsftpd. buka terminal n ketik :

sudo apt-get install vsftpd

Read More

Monday, April 26, 2010

Instalasi dan Konfigurasi Quagga di Ubuntu

2 comments :
setelah berjalan jalan sebentar di dunia PC Router MySpace eh akhirnya nemu solusi routing yang lebih mantaaab... Paket Quagga yang mirip kayak cisco cara konfigurasinya memiliki fitur untuk routing rip, ripng, ospf, ospf6, is-is, dan is-is6. Soo langsung aja gak pake lama kita mulai dari instalasi paket quagga..eeetss tapi tunggu dulu ubuntu yang saya pake ubuntu 9.10 okeh....

buka terminal dan ketikan :

sudo apt-get install quagga quagga-doc


Read More
Showing posts with label (at) linux. Show all posts
Showing posts with label (at) linux. Show all posts

Tuesday, January 8, 2013

Instalasi CodeIgniter Spark pada Ubuntu

Salah satu framework PHP tercepat di dunia yang dinyatakan oleh founder bahasa pemrograman PHPRasmus Ledorf, telah merelease package management system yang dikenal dengan spark. Spark merupakan sebuah inovasi pemrograman pada CodeIgniter, karena dengan menggunakan spark programmer tidak perlu repot - repot menambah library pada codeigniter. Semua library bisa di install dengan menggunakan terminal pada Linux atau command prompt pada Windows. Dukungan list repository  pada situs http://getsparks.org memudahkan programmer untuk mencari library - library yang akan digunakan untuk integrasi maupun pengembangan aplikasi web yang mereka bangun.



Okey mari kita coba install spark, tetapi langkah yang saya bahas hanya berlaku pada sistem operasi linux.

Langkah pertama lakukan instalasi paket php5-curl agar spark paket management bisa digunakan oleh codeigniter spark:

apt-get install php5-curl

Setelah itu restart service apache anda dengan sitaks berikut ini :


service apache2 restart

Setelah itu, Download CodeIgniter Reactor pada link berikut ini : CodeIgniter-Reactor-v.2.0.3
Kemudian ekstrak file tersebut pada directory apache anda, misalnya seperti /var/www/ dan setelah itu ketik pada terminal anda perintah berikut ini :

cd /var/www/codeigniter/
php -r "$(curl -fsSL http://getsparks.org/go-sparks)"

Okey jika anda telah selesai maka sekarang anda bisa melakukan instalasi contoh paket spark dengan perintah berikut ini :

php tools/spark install -v1.0.0 example-spark



dalam proses instalasi kemungkinan anda akan melihat output pada terminal seperti ini :


[ SPARK ]  Retrieving spark detail from getsparks.org
[ SPARK ]  From Downtown! Retrieving spark from Mercurial repository at https://github.com/katzgrau/example-spark
[ SPARK ]  Installing spark
[ SPARK ]  Spark installed to ./sparks/example-spark/1.0.0 - You're on fire!

Okey, coba anda perhatikan susunan folder anda pada /var/www/codeigniter/, anda mungkin akan melihat susunan folder yang seperti berikut ini :
/var/www/codeigniter/application
/var/www/codeigniter/sparks
/var/www/codeigniter/system
/var/www/codeigniter/tools
/var/www/codeigniter/user_guide

okey, paket example-spark yang telah anda install dengan terminal tadi sudah berada pada folder /var/www/codeigniter/sparks/example-spark. soo, what the next??

selanjutnya adalah memanggil paket spark tadi dengan sintaks berikut pada controller anda :

Salah satu framework PHP tercepat di dunia yang dinyatakan oleh founder bahasa pemrograman PHPRasmus Ledorf, telah merelease package management system yang dikenal dengan spark. Spark merupakan sebuah inovasi pemrograman pada CodeIgniter, karena dengan menggunakan spark programmer tidak perlu repot - repot menambah library pada codeigniter. Semua library bisa di install dengan menggunakan terminal pada Linux atau command prompt pada Windows. Dukungan list repository  pada situs http://getsparks.org memudahkan programmer untuk mencari library - library yang akan digunakan untuk integrasi maupun pengembangan aplikasi web yang mereka bangun.



Okey mari kita coba install spark, tetapi langkah yang saya bahas hanya berlaku pada sistem operasi linux.

Langkah pertama lakukan instalasi paket php5-curl agar spark paket management bisa digunakan oleh codeigniter spark:
apt-get install php5-curl

Setelah itu restart service apache anda dengan sitaks berikut ini :
service apache2 restart

Setelah itu, Download CodeIgniter Reactor pada link berikut ini : CodeIgniter-Reactor-v.2.0.3
Kemudian ekstrak file tersebut pada directory apache anda, misalnya seperti /var/www/ dan setelah itu ketik pada terminal anda perintah berikut ini :
cd /var/www/codeigniter/
php -r "$(curl -fsSL http://getsparks.org/go-sparks)"

Okey jika anda telah selesai maka sekarang anda bisa melakukan instalasi contoh paket spark dengan perintah berikut ini :
php tools/spark install -v1.0.0 example-spark

dalam proses instalasi kemungkinan anda akan melihat output pada terminal seperti ini :

[ SPARK ]  Retrieving spark detail from getsparks.org
[ SPARK ]  From Downtown! Retrieving spark from Mercurial repository at https://github.com/katzgrau/example-spark
[ SPARK ]  Installing spark
[ SPARK ]  Spark installed to ./sparks/example-spark/1.0.0 - You're on fire!

Okey, coba anda perhatikan susunan folder anda pada /var/www/codeigniter/, anda mungkin akan melihat susunan folder yang seperti berikut ini :
/var/www/codeigniter/application
/var/www/codeigniter/sparks
/var/www/codeigniter/system
/var/www/codeigniter/tools
/var/www/codeigniter/user_guide

okey, paket example-spark yang telah anda install dengan terminal tadi sudah berada pada folder /var/www/codeigniter/sparks/example-spark. soo, what the next??

selanjutnya adalah memanggil paket spark tadi dengan sintaks berikut pada controller anda :

$this->load->sparks('example-spark/1.0.0');



ATAU

jika ingin menjalankan secara otomatis gunakan autoload pada folder /var/www/codeigniter/config/autoload.php, dan tambahkan sintaks berikut ini :

    $autoload['sparks']=array('example-spark/1.0.0');

Sekarang anda siap untuk beraksi...
silah mencoba.....

referensi : getsparks.org $this->load->sparks('example-spark/1.0.0');

ATAU

jika ingin menjalankan secara otomatis gunakan autoload pada folder /var/www/codeigniter/config/autoload.php, dan tambahkan sintaks berikut ini :

    $autoload['sparks']=array('example-spark/1.0.0');

Sekarang anda siap untuk beraksi...
silah mencoba.....

referensi : getsparks.org

Ngoprek MikroTik Api Client Berbasis Python

Okeh, jika anda ingin menjadi pengembang MikroTik API client sepertinya anda perlu mencoba MikroTik API client berbasis python untuk melakukan reverse engineering. Langkah ini diperlukan untuk mengetahui setiap inputan dan hasilnya...

Okeh script ini ane ambil dari http://wiki.mikrotik.com/wiki/Manual:API pada bagian paling bawah, berikut ini  scriptnya :

[sourcecode language="python"]
#!/usr/bin/python

import sys, posix, time, md5, binascii, socket, select

class ApiRos:
"Routeros api"
def __init__(self, sk):
self.sk = sk
self.currenttag = 0

def login(self, username, pwd):
for repl, attrs in self.talk(["/login"]):
chal = binascii.unhexlify(attrs['=ret'])
md = md5.new()
md.update('\x00')
md.update(pwd)
md.update(chal)
self.talk(["/login", "=name=" + username,
"=response=00" + binascii.hexlify(md.digest())])

def talk(self, words):
if self.writeSentence(words) == 0: return
r = []
while 1:
i = self.readSentence();
if len(i) == 0: continue
reply = i[0]
attrs = {}
for w in i[1:]:
j = w.find('=', 1)
if (j == -1):
attrs[w] = ''
else:
attrs[w[:j]] = w[j+1:]
r.append((reply, attrs))
if reply == '!done': return r

def writeSentence(self, words):
ret = 0
for w in words:
self.writeWord(w)
ret += 1
self.writeWord('')
return ret

def readSentence(self):
r = []
while 1:
w = self.readWord()
if w == '': return r
r.append(w)

def writeWord(self, w):
print "<<< " + w self.writeLen(len(w)) self.writeStr(w) def readWord(self): ret = self.readStr(self.readLen()) print ">>> " + ret
return ret

def writeLen(self, l):
if l < 0x80:
self.writeStr(chr(l))
elif l < 0x4000: l |= 0x8000 self.writeStr(chr((l >> 8) & 0xFF))
self.writeStr(chr(l & 0xFF))
elif l < 0x200000: l |= 0xC00000 self.writeStr(chr((l >> 16) & 0xFF))
self.writeStr(chr((l >> 8) & 0xFF))
self.writeStr(chr(l & 0xFF))
elif l < 0x10000000: l |= 0xE0000000 self.writeStr(chr((l >> 24) & 0xFF))
self.writeStr(chr((l >> 16) & 0xFF))
self.writeStr(chr((l >> 8) & 0xFF))
self.writeStr(chr(l & 0xFF))
else:
self.writeStr(chr(0xF0))
self.writeStr(chr((l >> 24) & 0xFF))
self.writeStr(chr((l >> 16) & 0xFF))
self.writeStr(chr((l >> 8) & 0xFF))
self.writeStr(chr(l & 0xFF))

def readLen(self):
c = ord(self.readStr(1))
if (c & 0x80) == 0x00:
pass
elif (c & 0xC0) == 0x80:
c &= ~0xC0
c <<= 8
c += ord(self.readStr(1))
elif (c & 0xE0) == 0xC0:
c &= ~0xE0
c <<= 8
c += ord(self.readStr(1))
c <<= 8
c += ord(self.readStr(1))
elif (c & 0xF0) == 0xE0:
c &= ~0xF0
c <<= 8
c += ord(self.readStr(1))
c <<= 8
c += ord(self.readStr(1))
c <<= 8
c += ord(self.readStr(1))
elif (c & 0xF8) == 0xF0:
c = ord(self.readStr(1))
c <<= 8
c += ord(self.readStr(1))
c <<= 8
c += ord(self.readStr(1))
c <<= 8
c += ord(self.readStr(1))
return c

def writeStr(self, str):
n = 0;
while n < len(str):
r = self.sk.send(str[n:])
if r == 0: raise RuntimeError, "connection closed by remote end"
n += r

def readStr(self, length):
ret = ''
while len(ret) < length:
s = self.sk.recv(length - len(ret))
if s == '': raise RuntimeError, "connection closed by remote end"
ret += s
return ret

def main():
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((sys.argv[1], 8728))
apiros = ApiRos(s);
apiros.login(sys.argv[2], sys.argv[3]);

inputsentence = []

while 1:
r = select.select([s, sys.stdin], [], [], None)
if s in r[0]:
# something to read in socket, read sentence
x = apiros.readSentence()

if sys.stdin in r[0]:
# read line from input and strip off newline
l = sys.stdin.readline()
l = l[:-1]

# if empty line, send sentence and start with new
# otherwise append to input sentence
if l == '':
apiros.writeSentence(inputsentence)
inputsentence = []
else:
inputsentence.append(l)

if __name__ == '__main__':
main()
[/sourcecode]

Simpan file diatas dengan nama routeros.py, dan untuk menjalankan nya masukan perintah berikut ini :

[sourcecode language="bash"]
chmod 777 routeros.py
python routeros.py 192.168.88.1 admin admin
[/sourcecode]


jika login anda benar maka akan muncul hasil seperti dibawah ini :

[sourcecode language="bash"]
<<< /login
<<< >>> !done
>>> =ret=3febe34367f76733cbece5c7822ebf7c
>>>
<<< /login
<<< =name=admin
<<< =response=0043af609b070655d06d5c1a7984377b6f
<<< >>> !done
>>>
[/sourcecode]

dan jika password anda salah maka akan tampil pesan berikut ini :

[sourcecode language="bash"]
<<< /login
<<< >>> !done
>>> =ret=8b5b3964ffd9422d920b6497960bfddd
>>>
<<< /login
<<< =name=admin
<<< =response=00f3f3219cdea9fc3861b19551f3457af6
<<< >>> !trap
>>> =message=cannot log in
>>>
>>> !done
>>>
[/sourcecode]

Okey, sekarang mari mencoba menampilakan semua interface pada mikrotik dengan MikroTik API client berbasis python ini. Ketik perintah dibawah ini dan ketik enter :

[sourcecode language="bash"]
/interface/print
[/sourcecode]

pada laptop ane muncul nya seperti ini,:

[sourcecode language="bash"]
/interface/print

<<< /interface/print
<<< >>> !re
>>> =.id=*1
>>> =comment=
>>> =name=ether1
>>> =mtu=1500
>>> =type=ether
>>> =dynamic=false
>>> =running=true
>>>
>>> !re
>>> =.id=*2
>>> =comment=
>>> =name=ether2
>>> =mtu=1500
>>> =type=ether
>>> =dynamic=false
>>> =running=true
>>>
>>> !re
>>> =.id=*3
>>> =comment=
>>> =name=ether3
>>> =mtu=1500
>>> =type=ether
>>> =dynamic=false
>>> =running=true
>>>
>>> !re
>>> =.id=*4
>>> =comment=
>>> =name=ether4
>>> =mtu=1500
>>> =type=ether
>>> =dynamic=false
>>> =running=true
>>>
>>> !re
>>> =.id=*5
>>> =comment=
>>> =name=ether5
>>> =mtu=1500
>>> =type=ether
>>> =dynamic=false
>>> =running=true
>>>
>>> !re
>>> =.id=*6
>>> =comment=
>>> =name=vlan1
>>> =mtu=1500
>>> =type=vlan
>>> =dynamic=false
>>> =running=true
>>>
>>> !re
>>> =.id=*7
>>> =comment=
>>> =name=vrrp1
>>> =mtu=1500
>>> =type=vrrp
>>> =dynamic=false
>>> =running=true
>>>
>>> !re
>>> =.id=*8
>>> =comment=
>>> =name=vlan2
>>> =mtu=1500
>>> =type=vlan
>>> =dynamic=false
>>> =running=true
>>>
>>> !done
>>>
[/sourcecode]

bagaimana dengan laptop anda.....??? pengen tau, coba aja di ketik ...
Okey, kalau laptop ane, ada banyak interface yang sudah di add, jadi untuk memilih interface secara spesifik ketik perintah berikut :

[sourcecode language="bash"]
/interface/print
?=type=vlan
[/sourcecode]

Hasilnya anda akan menampilkan interface yang type vlan saja, berikut ini hasilnya :

[sourcecode language="bash"]
/interface/print
?=type=vlan

<<< /interface/print
<<< ?=type=vlan
<<< >>> !re
>>> =.id=*6
>>> =comment=
>>> =name=vlan1
>>> =mtu=1500
>>> =type=vlan
>>> =dynamic=false
>>> =running=true
>>>
>>> !re
>>> =.id=*8
>>> =comment=
>>> =name=vlan2
>>> =mtu=1500
>>> =type=vlan
>>> =dynamic=false
>>> =running=true
>>>
>>> !done
>>>
[/sourcecode]

Okeh, sekarang bagaimana kalau ingin menampilkan interface ether1 dan ether2? coba ketik perintah berikut ini :

[sourcecode language="bash"]
/interface/print
?=name=ether1
?=name=ether2
?#|
[/sourcecode]

Hasilnya akan seperti ini :

[sourcecode language="bash"]
<<< /interface/print
<<< ?=name=ether1
<<< ?=name=ether2
<<< ?#|
<<< >>> !re
>>> =.id=*1
>>> =comment=
>>> =name=ether1
>>> =mtu=1500
>>> =type=ether
>>> =dynamic=false
>>> =running=true
>>>
>>> !re
>>> =.id=*2
>>> =comment=
>>> =name=ether2
>>> =mtu=1500
>>> =type=ether
>>> =dynamic=false
>>> =running=true
>>>
>>> !done
>>>
[/sourcecode]

Okeh, sekali lagi, bagaimana kalau ingin menampilkan interface ether saja dan selain daripada ether1 dan ether2? coba ketik perintah ini :

[sourcecode language="bash"]
/interface/print
?=type=ether
?#&
?=name=ether1
?#!
?=name=ether2
?#!
[/sourcecode]

maka hasilnya akan seperti dibawah ini :

[sourcecode language="bash"]
<<< /interface/print
<<< ?=type=ether
<<< ?#&
<<< ?=name=ether1
<<< ?#!
<<< ?=name=ether2
<<< ?#!
<<< >>> !re
>>> =.id=*3
>>> =comment=
>>> =name=ether3
>>> =mtu=1500
>>> =type=ether
>>> =dynamic=false
>>> =running=true
>>>
>>> !re
>>> =.id=*4
>>> =comment=
>>> =name=ether4
>>> =mtu=1500
>>> =type=ether
>>> =dynamic=false
>>> =running=true
>>>
>>> !re
>>> =.id=*5
>>> =comment=
>>> =name=ether5
>>> =mtu=1500
>>> =type=ether
>>> =dynamic=false
>>> =running=true
>>>
>>> !done
>>>
[/sourcecode]

Mengapa hasilnya bisa seperti itu ??? bagaimana rumusan nya??? Topik apa yang sedang kita bahas saat ini???
Okey, jadi yang sedang ane uji coba sekarang ini adalah tentang MikroTik API bagian Queries yang hanya disupport pada RouterOS versi 3.22 ke atas...
begini rumusan nya (walaupun sebenarnya ane masih belum terlalu faham betul, but ini asumsi ane okeh!!)

kalau berdasarkan situs http://wiki.mikrotik.com/wiki/Manual:API, berikut keterangan nya:
Okeh, jadi kalau di terjemahkan (pake google translate and di perbaiki) :

QUERIES
perintah cetak menerima kata-kata yang telah di kirimkan dan akan mengatur ulang satu set kalimat . Fitur ini tersedia sejak RouterOS 3.21.


Query dimulai dengan tanda '?' (tanpa tanda petik)
Urutan kata - kata Query sifatnya signifikan. Query di evaluasi mulai dari kata pertama.
Query akan di evaluasi pertiap item yang berada dalam daftar, jika query berhasil, item akan diproses dan jika query gagal item akan diabaikan.
Query di evaluasi menggunakan tumpukan (stack) nilai boolean (true/false). Awalnya tumpukan (stack) berisi jumlah nilai 'true' tak terbatas. Pada akhir proses evaluasi, jika tumpukan (stack) berisi setidaknya satu nilai 'false' maka query menjadi gagal.
Pengoperasian kata - kata dalam query adalah berdasar pada aturan berikut ini :































QueryDesciption
?nameStack akan mengirim 'true' jika item mempunyai value (nilai) dari property name, dan Stack akan mengirim 'false' jika hal sebaliknya terjadi.
?-nameStack akan mengirim 'true' jika item tidak memiliki value (nilai) dari property name, dan Stack akan mengirim 'false' jika hal sebaliknya terjadi.
?name=x
?=name=x
Stack akan mengirim 'true' jika property name memiliki value (nilai) sama dengan x, dan Stack akan mengirim 'false' jika hal sebaliknya terjadi.
?<name=xStack akan mengirim 'true' jika property name memiliki nilai kurang dari x, dan Stack akan mengirim 'false' jika hal sebaliknya terjadi.
?>name=xStack akan mengirim 'true' jika property name lebih besar dari x, dan Stack akan mengirim 'false' jika hal sebaliknya terjadi.
?#operationsberikut ini aturan operasi yang berlaku dalam stack: string operasi di evaluasi dari kiri ke kanan.

urutan digit desimal di ikuti dengan sembarang karakter atau akhir kata ditafsirkan sebagai index stack dimana nilai index pada stack pertama adalah 0.

index  yang di ikuti oleh karakter akan mendorong salinan (copy) pada nilai tersebut. index yang di ikuti kata akhiran akan menggantikan semua nilai dengan nilai pada index tersebut.

'!' (not) karakter akan menggantikan nilai atas dengan nilai yang berlawanan dengan nya.

'&' (and) karakter akan membuang dua nilai (value) dan sebagai hasilnya karakter ini akan melakukan operasi logis 'and'.

'|' (or) karakter akan membuang dua nilai (value) dan sebagai hasilnya karakter ini akan melakukan operasi logis 'or'.

'.' (dot) karakter tidak akan menjadikan error

'.' (dot) karakter setelah karakter lain akan mendorong atau mengirim salinan pada nilai di bagian atas.

Audience : Wah masih bingung gan???
Penulis : Tenang ane juga bingung kok, abis bahasanya baku bangets... tapi mari kita bahas sama - sama siapa tau kita bisa mengerti...
jadi begini, misalnya ada sintaks seperti ini:

[sourcecode language="bash"]
/interface/print
?=type=vlan
?=type=ether
?#|
?=name=ether1
?#!
?#&
[/sourcecode]

kemudian misalnya, kita anggap masing - masing baris dengan kode seperti ini :
?=type=vlan adalah P1
?=type=ether adalah P2
?#| adalah L1
?=name=ether1 adalah P3
?#! adalah L2
?#& adalah L3

okey kalau kita susun dalam bentuk ke kanan jadinya seperti ini :
P1 P2 L1 P3 L2 L3

seperti yang telah dijelaskan dalam tabel diatas, setiap operasi yang ditandai dengan ?# maka dia memiliki rumusan sendiri. Dan setelah ane analisa maka bentuk tadi akan diubah menjadi seperti ini :
P1 L1 P2 L3 L2 P3

dan hasilnya akan menjadi seperti sintaks dibawah ini saat dibaca oleh MikroTik RouterOS :

[sourcecode language="bash"]
?=type=vlan
?#|
?=type=ether
?#&
?#!
?=name=ether1
[/sourcecode]

sehingga seolah - olah sintaks yang diterima oleh mikrotik menjadi seperti ini :

[sourcecode language="bash"]
?=type=vlan ?#| ?=type=ether ?#& ?#! ?=name=ether1
[/sourcecode]

masih belibet kan??? sama... tapi mari coba ubah bentuknya agar lebih mudah dimengerti menjadi seperti ini :

[sourcecode language="bash"]
type=vlan or type=ether and name!=ether1
[/sourcecode]

Pertanyaan nya adalah bagaimana bentuk seperti ini bisa di analogikan???
Hal ini karena mikrotik mengimplementasikan stack, yang mana setiap operasi logika and dan or akan membuang dua perintah dari stack dan akan mengubahnya menjadi bentuk operasi logis.
Nah itu asumsi ane... jadi benar atau salahnya masih belum bisa ane pertanggung jawabkan, untuk mendapat contoh - contoh yang lebih banyak silahkan buka link pada wiki mikrotik ini : http://wiki.mikrotik.com/wiki/API_command_notes

Okeh, semoga bermanfaat... sekian dan terima kasih...

Instalasi Graphical Network Simulator (GNS) sebagai Lab Virtual Cisco pada Ubuntu

Menurut situs GNS, Graphical Network Simulator (GNS) adalah sebuah simulator yang digunakan untuk membangun sebuah simulasi jaringan yang kompleks.  GNS berjalan dengan integrasi aplikasi-aplikasi lain untuk menyediakan simulasi yang akurat dan komperhensif. Aplikasi-aplikasi tersebut antara lain :

  • Dynamips, yang berfungsi untuk simulator Cisco IOS

  • Dynagen, interface berbasis text yang berfungsi mengontrol Dynamips

  • Qemu, emulator dan virtulisasi open source

  • VirtualBox, perangkat lunak virtualisasi yang powerfull


GNS adalah sebuah perangkat lunak pelengkap yang sangat baik untuk simulasi yang mendekati nyata (laboratorium nyata) bagi insinyur jaringan, administrator jaringan dan tentunya bagi mereka yang sedang dalam proses untuk mendapatkan sertifikasi seperti, Cisco CCNA, CCNP, dan CCIE dan juga untuk mereka yang ingin mengejar sertifikasi Juniper JNCIA, JNCIS, dan JNCIE.

Dukungan dan  integrasi VirtualBox (unofficial version) saat ini memungkinkan system engineer dan Administrator untuk membangun sebuah lab virtual  untuk RedHat (RHCE, RHCT), Microsoft (MSCE, MSCA), Novell(CLP) dan sertifikasi-sertifikasi lain. Selain itu, GNS bersifat open sources dan multiplatform, sehingga memungkinkan GNS bisa digunakan pada berbagai sistem operasi seperti Microsoft Windows, Linux, dan MacOS.

GNS juga menyediakan dukungan untuk integrasi dengan wireshark untuk melakukan analisa segment, packet, ataupun frame padal layer TCP/IP. Dukungan integrasi ini memungkinkan Anda bisa untuk mengetahui setiap layer TCP/IP yang bekerja pada Lab Virtual anda. Sifat GNS yang virtual memungkinkan rancangan jaringan virtual yang Anda bangun bisa diakses melalui komputer lain dengan port-port yang telah Anda ataupun GNS tentukan.

Secara sederhana saya dapat menilai GNS salah satu bentuk Lab Virtual yang sangat baik untuk pembelajaran terutama bagi mereka yang sedang mengejar sertifikasi dan network engineer. Menggunakan GNS sebagai Lab Virtual serasa memiliki perangkat asli tapi palsu(virtual ghitu loh). Bagi yang kurang uang saku di dompet untuk membeli perangkat asli dengan jumlah yang memadai untuk membangun sebuah uji coba maka GNS salah satu solusi terbaik yang anda punya saat ini.

Cisco sendiri memiliki perangkat lunak simulator untuk mempermudah proses belajar Anda seperti Packet Tracer, namun Packet Tracer bisa dikatakan Lab Virtual yang tertutup dan terbatas. Sementara GNS, batasan nya hanya resource komputer anda (RAM, CPU dan lain sebagainya), hal ini karena GNS menggunakan Cisco IOS langsung untuk bisa berjalan. Di setiap kelebihan selalu ada kekurangan, begitu pula dengan GNS. Kelebihan yang dimiliki GNS sebagai Lab Virtual di isi dengan kekurangan bahwa GNS tidak bisa berjalan kecuali Anda memilki Cisco IOS yang berasal dari perangkat Cisco Anda langsung, sehingga untuk bisa menggunakan GNS anda harus melakukan ekstrak Cisco IOS dari perangkat Cisco anda yang asli.

Okeh, cukup bicara teori nya....

Sekarang mari mencoba untuk menginstall GNS pada Ubuntu anda... tuliskan sintaks dibawah ini pada terminal linux ubuntu anda:

[sourcecode language="bash"]
sudo apt-get install gns3 dynamips qemu wireshark
[/sourcecode]

Okey setelah proses instalasi anda selesai, buka unity dan ketik gns kemudian klik icon GNS maka akan tampil antarmuka sebagai berikut :

GNS3_020

Pada bagian samping kiri pada antarmuka diatas Anda disediakan perangkat-perangkat Jaringan Cisco, Juniper, Swicth, ATM, IDS Qemu Host dan Cloud. Perangkat-perangkat virtual diatas bisa anda tambahkan pada jika anda memiliki Firmware atau IOS. Okey selanjutnya buka menu Edit->IOS image and hypervisor seperti pada gambar dibawah ini :

Menu_021

Setelah itu akan muncul antarmuka sebagai berikut :

Preferences_030

Pada tab IOS Image, anda disediakan sebuah fitur untuk menambah Image dari system operasi dari Cisco, Juniper maupun Qemu. Seperti yang Anda lihat pada gambar diatas pada label Settings, Anda bisa memilih OS Image dan mengatur platform serta model dari OS Image anda. Biasanya jika Anda memiliki Image Cisco IOS, Default RAM yang digunakan oleh Cisco sudah secara default ditentukan akan tetapi anda bisa menambah jumlah penggunaan RAM sesuai kebutuhan Anda. Jika Anda telah mengisi field-filed pada label Setting jangan lupa untuk mengklik tombol save untuk menyimpan OS Image yang telah Anda inputkan.

Untuk melakukan pengaturan terhadap Qemu Host (Virtual Machine) agar anda bisa membuat sebuah mesin virtual untuk menjalankan Sistem Operasi yang berbeda, buka menu Preference->Qemu seperti pada gambar dibawah in :
Menu_022

Preferences_030

 

Pada gambar diatas anda bisa memasukan OS Image untuk sistem operasi yang akan berjalan sebagai virtual machine. Field-field yang dibutuhkan antara lain :

  • Identifier name sebagai nama virtual machine

  • Binary Image sebagai path OS Image Sistem Operasi Anda

  • RAM yang akan digunakan untuk menjalankan virtual machine

  • Number of NICs untuk mengatur jumlah kartu jaringan Anda

  • NIC Model untuk menentukan Model kartu jaringan yang Anda inginkan

  • Qemu Option jika anda memerlukan opsional untuk pengaturan tambahan dalam menjalankan Qemu

  • Use KQemu untuk menjalankan Qemu dalam bentuk KDE

  • Use KVM (Linux Only) untuk mengatur kernell based virtual machine (tentunya ini khusus untuk sistem operasi linux)


Jika anda telah seleasi maka langkah selanjutnya mengklik tombol save untuk menyimpan inputan data Anda.

 

Okey, tutorial dengan kasus akan dibahas selanjtunya... to be continued....

Sumber Rujukan : http://www.gns3.net

Instalasi Eclipse pada Ubuntu 11.10

Okeh, ane iseng - iseng aja bikin tulisan ney...
Eclipse adalah salah satu Integrated Development Environtment (IDE) yang mutlifungsi. Ada banyak bahasa pemrograman yang bisa anda edit dengan menggunakan IDE ini. Sebelum anda melakukan instalasi eclipse pada ubuntu maka sebaiknya baca dulu Instalasi JDK pada ubuntu pada link ini dibawah ini :

 
http://nunenuh.wordpress.com/2013/01/08/installasi-oracle-jdk-7-pada-ubuntu-11-10/

Okeh, ane anggap instalasi JDK sudah berhasil, langkah selanjutnya download eclipse pada link di bawah ini dan simpan pada folder Download pada Home anda:
http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/R-3.7.1-201109091335/eclipse-SDK-3.7.1-linux-gtk.tar.gz

Okey jika proses download telah selesai, sekarang masuk ke terminal (Bertais Kalee).... dan tulis sintak berikut ini :

[sourcecode language="bash"]
sudo cd ~/Download/
sudo cp eclipse-SDK-3.7.1-linux-gtk.tar.gz /opt/
sudo cd /opt/
sudo tar -xvzf eclipse-SDK-3.7.1-linux-gtk.tar.gz
sudo chmod 777 -R eclipse
[/sourcecode]

Langkah selanjutnya buat sebuah file pada /usr/share/applications/ dengan nama eclipse.desktop dan isi dengan sintaks dibawah ini :

[sourcecode language="bash"]
[Desktop Entry]
Encoding=UTF-8
Name=Eclipse Classic 3.7
Exec=/opt/eclipse/eclipse
Icon=/opt/eclipse/icon.xpm
Categories=Application;Development;Java;IDE
Version=3.7
Type=Application
Terminal=0
[/sourcecode]

File diatas perlu anda buat agar eclipse yang sudah anda install bisa anda akses melalui Unity.
Silahkan mencoba....
Sekian dan Terima Kasih...

Installasi Oracle JDK 7 pada Ubuntu 11.10

Okey, setelah menginstall Oracle JDK 7 tanpa synaptic atau apt,  browser google chrome saya menjadi tidak berfungsi dengan baik ketika berhadapan dengan java applet dan sejenisnya. Setelah bergoogling ria akhirnya saya mendapat pencerahan (beeeiihhh mudah!!!!)... Supaya sama - sama cerah bagi yang merasa gelap pikiran, saya bagi oprekan script plus langkah - langkah nya.

 

Langkah Pertama ,

  1. Download JDK 7 pada link berikut ini : http://download.oracle.com/otn-pub/java/jdk/7u1-b08/jdk-7u1-linux-i586.tar.gz

  2. Pastikan anda mendownload JDK dengan extensi file tar.gz


Jika anda telah selesai mendownload tulis sintaks berikut ini pada terminal anda :

[sourcecode language="bash"]
cp jdk-7u1-linux-i586.tar.gz /opt/
cd /opt/
tar -xvzf jdk-7u1-linux-i586.tar.gz
[/sourcecode]

Langkah Kedua,

Buka Text Editor atau nano dan isi dengan sintaks berikut ini :

[sourcecode language="bash"]
#!/bin/bash
#Iseng - Iseng VTHINK

echo "Please Enter Your JAVA HOME (e.g /opt/jdk1.7.0) : "
read java_dir

echo "Creatng symlink in /usr/lib/jvm/java-7-sun.."
ln -s $java_dir /usr/lib/jvm/java-7-sun

echo "Creating Environment JAVA_HOME.."
JAVA_HOME=/usr/lib/jvm/java-7-sun
export JAVA_HOME

echo "Creating PATH Environment JAVA_HOME.."
PATH=$PATH:$JAVA_HOME/bin:
export PATH

echo "Creating CLASSPATH Environment JAVA_HOME.."
CLASSPATH=$JAVA_HOME/lib/:.
export CLASSPATH

echo "Please Enter Your Java Architecture (i386/amd64) : "
read java_arch


echo "Do update-alternatives..."
update-alternatives --quiet --install /usr/lib/xulrunner-addons/plugins/libjavaplugin.so xulrunner-1.9-javaplugin.so /usr/lib/jvm/java-7-sun/jre/lib/$java_arch/libnpjp2.so 63
update-alternatives --quiet --install /usr/lib/mozilla/plugins/libjavaplugin.so mozilla-javaplugin.so /usr/lib/jvm/java-7-sun/jre/lib/$java_arch/libnpjp2.so 63
update-alternatives --quiet --install /usr/bin/appletviewer appletviewer /usr/lib/jvm/java-7-sun/bin/appletviewer 63 --slave /usr/share/man/man1/appletviewer.1 appletviewer.1 /usr/lib/jvm/java-7-sun/man/man1/appletviewer.1
update-alternatives --quiet --install /usr/bin/apt apt /usr/lib/jvm/java-7-sun/bin/apt 63 --slave /usr/share/man/man1/apt.1 apt.1 /usr/lib/jvm/java-7-sun/man/man1/apt.1
update-alternatives --quiet --install /usr/bin/extcheck extcheck /usr/lib/jvm/java-7-sun/bin/extcheck 63 --slave /usr/share/man/man1/extcheck.1 extcheck.1 /usr/lib/jvm/java-7-sun/man/man1/extcheck.1
update-alternatives --quiet --install /usr/bin/idlj idlj /usr/lib/jvm/java-7-sun/bin/idlj 63 --slave /usr/share/man/man1/idlj.1 idlj.1 /usr/lib/jvm/java-7-sun/man/man1/idlj.1
update-alternatives --quiet --install /usr/bin/jar jar /usr/lib/jvm/java-7-sun/bin/jar 63 --slave /usr/share/man/man1/jar.1 jar.1 /usr/lib/jvm/java-7-sun/man/man1/jar.1
update-alternatives --quiet --install /usr/bin/jarsigner jarsigner /usr/lib/jvm/java-7-sun/bin/jarsigner 63 --slave /usr/share/man/man1/jarsigner.1 jarsigner.1 /usr/lib/jvm/java-7-sun/man/man1/jarsigner.1
update-alternatives --quiet --install /usr/bin/javac javac /usr/lib/jvm/java-7-sun/bin/javac 63 --slave /usr/share/man/man1/javac.1 javac.1 /usr/lib/jvm/java-7-sun/man/man1/javac.1
update-alternatives --quiet --install /usr/bin/javadoc javadoc /usr/lib/jvm/java-7-sun/bin/javadoc 63 --slave /usr/share/man/man1/javadoc.1 javadoc.1 /usr/lib/jvm/java-7-sun/man/man1/javadoc.1
update-alternatives --quiet --install /usr/bin/javah javah /usr/lib/jvm/java-7-sun/bin/javah 63 --slave /usr/share/man/man1/javah.1 javah.1 /usr/lib/jvm/java-7-sun/man/man1/javah.1
update-alternatives --quiet --install /usr/bin/javap javap /usr/lib/jvm/java-7-sun/bin/javap 63 --slave /usr/share/man/man1/javap.1 javap.1 /usr/lib/jvm/java-7-sun/man/man1/javap.1
update-alternatives --quiet --install /usr/bin/jconsole jconsole /usr/lib/jvm/java-7-sun/bin/jconsole 63 --slave /usr/share/man/man1/jconsole.1 jconsole.1 /usr/lib/jvm/java-7-sun/man/man1/jconsole.1
update-alternatives --quiet --install /usr/bin/jdb jdb /usr/lib/jvm/java-7-sun/bin/jdb 63 --slave /usr/share/man/man1/jdb.1 jdb.1 /usr/lib/jvm/java-7-sun/man/man1/jdb.1
update-alternatives --quiet --install /usr/bin/jhat jhat /usr/lib/jvm/java-7-sun/bin/jhat 63 --slave /usr/share/man/man1/jhat.1 jhat.1 /usr/lib/jvm/java-7-sun/man/man1/jhat.1
update-alternatives --quiet --install /usr/bin/jinfo jinfo /usr/lib/jvm/java-7-sun/bin/jinfo 63 --slave /usr/share/man/man1/jinfo.1 jinfo.1 /usr/lib/jvm/java-7-sun/man/man1/jinfo.1
update-alternatives --quiet --install /usr/bin/jmap jmap /usr/lib/jvm/java-7-sun/bin/jmap 63 --slave /usr/share/man/man1/jmap.1 jmap.1 /usr/lib/jvm/java-7-sun/man/man1/jmap.1
update-alternatives --quiet --install /usr/bin/jps jps /usr/lib/jvm/java-7-sun/bin/jps 63 --slave /usr/share/man/man1/jps.1 jps.1 /usr/lib/jvm/java-7-sun/man/man1/jps.1
update-alternatives --quiet --install /usr/bin/jrunscript jrunscript /usr/lib/jvm/java-7-sun/bin/jrunscript 63 --slave /usr/share/man/man1/jrunscript.1 jrunscript.1 /usr/lib/jvm/java-7-sun/man/man1/jrunscript.1
update-alternatives --quiet --install /usr/bin/jsadebugd jsadebugd /usr/lib/jvm/java-7-sun/bin/jsadebugd 63 --slave /usr/share/man/man1/jsadebugd.1 jsadebugd.1 /usr/lib/jvm/java-7-sun/man/man1/jsadebugd.1
update-alternatives --quiet --install /usr/bin/jstack jstack /usr/lib/jvm/java-7-sun/bin/jstack 63 --slave /usr/share/man/man1/jstack.1 jstack.1 /usr/lib/jvm/java-7-sun/man/man1/jstack.1
update-alternatives --quiet --install /usr/bin/jstat jstat /usr/lib/jvm/java-7-sun/bin/jstat 63 --slave /usr/share/man/man1/jstat.1 jstat.1 /usr/lib/jvm/java-7-sun/man/man1/jstat.1
update-alternatives --quiet --install /usr/bin/jstatd jstatd /usr/lib/jvm/java-7-sun/bin/jstatd 63 --slave /usr/share/man/man1/jstatd.1 jstatd.1 /usr/lib/jvm/java-7-sun/man/man1/jstatd.1
update-alternatives --quiet --install /usr/bin/native2ascii native2ascii /usr/lib/jvm/java-7-sun/bin/native2ascii 63 --slave /usr/share/man/man1/native2ascii.1 native2ascii.1 /usr/lib/jvm/java-7-sun/man/man1/native2ascii.1
update-alternatives --quiet --install /usr/bin/rmic rmic /usr/lib/jvm/java-7-sun/bin/rmic 63 --slave /usr/share/man/man1/rmic.1 rmic.1 /usr/lib/jvm/java-7-sun/man/man1/rmic.1
update-alternatives --quiet --install /usr/bin/schemagen schemagen /usr/lib/jvm/java-7-sun/bin/schemagen 63 --slave /usr/share/man/man1/schemagen.1 schemagen.1 /usr/lib/jvm/java-7-sun/man/man1/schemagen.1
update-alternatives --quiet --install /usr/bin/serialver serialver /usr/lib/jvm/java-7-sun/bin/serialver 63 --slave /usr/share/man/man1/serialver.1 serialver.1 /usr/lib/jvm/java-7-sun/man/man1/serialver.1
update-alternatives --quiet --install /usr/bin/wsgen wsgen /usr/lib/jvm/java-7-sun/bin/wsgen 63 --slave /usr/share/man/man1/wsgen.1 wsgen.1 /usr/lib/jvm/java-7-sun/man/man1/wsgen.1
update-alternatives --quiet --install /usr/bin/wsimport wsimport /usr/lib/jvm/java-7-sun/bin/wsimport 63 --slave /usr/share/man/man1/wsimport.1 wsimport.1 /usr/lib/jvm/java-7-sun/man/man1/wsimport.1
update-alternatives --quiet --install /usr/bin/xjc xjc /usr/lib/jvm/java-7-sun/bin/xjc 63 --slave /usr/share/man/man1/xjc.1 xjc.1 /usr/lib/jvm/java-7-sun/man/man1/xjc.1
update-alternatives --quiet --install /usr/bin/java-rmi.cgi java-rmi.cgi /usr/lib/jvm/java-7-sun/bin/java-rmi.cgi 63
update-alternatives --quiet --install /usr/bin/ControlPanel ControlPanel /usr/lib/jvm/java-7-sun/jre/bin/ControlPanel 63
update-alternatives --quiet --install /usr/bin/java java /usr/lib/jvm/java-7-sun/jre/bin/java 63
update-alternatives --quiet --install /usr/bin/java_vm java_vm /usr/lib/jvm/java-7-sun/jre/bin/java_vm 63
update-alternatives --quiet --install /usr/bin/javaws javaws /usr/lib/jvm/java-7-sun/jre/bin/javaws 63
update-alternatives --quiet --install /usr/bin/jcontrol jcontrol /usr/lib/jvm/java-7-sun/jre/bin/jcontrol 63
update-alternatives --quiet --install /usr/bin/keytool keytool /usr/lib/jvm/java-7-sun/jre/bin/keytool 63
update-alternatives --quiet --install /usr/bin/pack200 pack200 /usr/lib/jvm/java-7-sun/jre/bin/pack200 63
update-alternatives --quiet --install /usr/bin/policytool policytool /usr/lib/jvm/java-7-sun/jre/bin/policytool 63
update-alternatives --quiet --install /usr/bin/rmid rmid /usr/lib/jvm/java-7-sun/jre/bin/rmid 63
update-alternatives --quiet --install /usr/bin/rmiregistry rmiregistry /usr/lib/jvm/java-7-sun/jre/bin/rmiregistry 63
update-alternatives --quiet --install /usr/bin/unpack200 unpack200 /usr/lib/jvm/java-7-sun/jre/bin/unpack200 63
update-alternatives --quiet --install /usr/bin/orbd orbd /usr/lib/jvm/java-7-sun/jre/bin/orbd 63
update-alternatives --quiet --install /usr/bin/servertool servertool /usr/lib/jvm/java-7-sun/jre/bin/servertool 63
update-alternatives --quiet --install /usr/bin/tnameserv tnameserv /usr/lib/jvm/java-7-sun/jre/bin/tnameserv 63
update-alternatives --quiet --install /usr/bin/jexec jexec /usr/lib/jvm/java-7-sun/jre/lib/jexec 63

echo "Updating Done!"
[/sourcecode]

Setelah itu simpan dengan nama java_config.sh, kemudian ketik sintaks berikut ini :

[sourcecode language="bash"]
chmod +x java_config.sh
sudo ./java_config.sh
[/sourcecode]

hasilnya akan seperti berikut ini :
[sourcecode language="bash"]
root@Dell:~/Desktop# ./java_config
Please Enter Your JAVA HOME (e.g /opt/jdk1.7.0) :
/opt/jdk1.7.0_01
Creatng symlink in /usr/lib/jvm/java-7-sun..
Creating Environment JAVA_HOME..
Creating PATH Environment JAVA_HOME..
Creating CLASSPATH Environment JAVA_HOME..
Please Enter Your Java Architecture (i386/amd64) :
i386
Do update-alternatives...
Updating Done!
[/sourcecode]

Sekian dan Terima Kasih...

Referensi : http://brunoreis.com/tech/intalling-java-ubuntu-natty/

Tuesday, February 7, 2012

Menjalankan Aplikasi Java Sebagai Service di Ubuntu

Saat bikin aplikasi java yang sudah berjalan, saya punya rencana untuk buat aplikasi ini sebagai service di ubuntu. Nah, permasalahannya adalah ada berbagai macam cara yang bisa digunakan menjadikan aplikasi java sebagai service di linux. Misalnya Java Service Wrapper, JSVC, YAJWS, dan masih banyak lagi. Namun, apa bisa dikata saya butuh yang cepat dari latar belakang keilmuwan saya, akhirnya pilihan jatuh ke daemon.

Langsung saja ke TKP....

Untuk bisa menjadikan Aplikasi Java anda berjalan sebagai daemon, langkah pertama yang perlu anda lakukan adalah install daemon dengan perintah sebagai berikut :

[sourcecode language="css"]
sudo apt-get install daemon
[/sourcecode]

okey, jika instalasi sudah berjalan lancar, saya akan bahas secara singkat cara menggunakan daemon untuk menjadikan aplikasi sebagai services.
Membuat Sebuah Services (Start Services)

Perintah di bawah ini digunakan untuk menjalankan sebuah service.

[sourcecode language="css"]
sudo daemon --name="ngeping" -- ping localhost
[/sourcecode]

Keterangan:
--name="ngeping" --> digunakan untuk memberikan nama service yang dijalankan

-- ping localhost --> adalah aplikasi yang akan dijadikan services

Jadi pada saat anda menuliskan perintah "sudo daemon --name="ngeping" -- ping localhost" pada terminal linux, daemon akan menjalankan aplikasi ping secara tersembunyi. Pertanyaan nya, bagaimana cara melihat hasil ping yang sedang berlangsung?
Begini perintahnya :

[sourcecode language="css"]
sudo daemon --name="ngeping" --output=/tmp/ping.log -- ping localhost
tail -f /tmp/ping.log
[/sourcecode]

hasilnya kira-kira begini :

[sourcecode language="css"]
root@nunenuh:~/# tail -f /tmp/ping.log
PING localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_req=1 ttl=64 time=0.077 ms
64 bytes from localhost (127.0.0.1): icmp_req=2 ttl=64 time=0.064 ms
64 bytes from localhost (127.0.0.1): icmp_req=3 ttl=64 time=0.056 ms
64 bytes from localhost (127.0.0.1): icmp_req=4 ttl=64 time=0.059 ms
64 bytes from localhost (127.0.0.1): icmp_req=5 ttl=64 time=0.065 ms
64 bytes from localhost (127.0.0.1): icmp_req=6 ttl=64 time=0.098 ms
^C
[/sourcecode]

Mematikan Service Yang Telah Anda Buat

okey, jika barusan anda berhasil untuk membuat sebuah service, selanjutnya adalah cara mematikan nya. Untuk mematikan sebuah service yang telah anda buat. Perintahnya adalah sebagai berikut:

[sourcecode language="css"]
sudo daemon --name="ngeping" --stop
[/sourcecode]

Okey perinah diatas digunakan untuk mematikan service yang telah anda buat, tapi bagaiman cara melihat services yang telah anda buat sudah tidak aktif lagi?

Melihat Status Service Yang Telah Anda Buat

Cara untuk mengetahui services yang anda jalankan masih berjalan atau sudah tidak aktif adalah dengan menggunakan perintah --running yang dipadukan dengan --verbose, berikut ini perintahnya :

[sourcecode language="css"]
sudo daemon --name="ngeping" --pidfile=/var/run/ngeping.pid --running --verbose
[/sourcecode]

hasilnya kira-kira sebagai berikut :

[sourcecode language="css"]
root@nunenuh:~/# daemon --name="ngeping" --pidfile=/var/run/ngeping.pid --running --verbose
daemon: ngeping is running (pid 30224)
[/sourcecode]

Pada perintah diatas anda bisa melihat ada perintah "--pidfile=/var/run/ngeping.pid", perintah ini digunakan untuk menyatakan lokasi file Proccess-ID (PID) yang secara default pada ubuntu berada pada path /var/run. Sedangkan ngeping.pid secara automatis dibuat oleh daemon dengan perintah --name="ngeping", sehingga pada path /var/run/ aplikasi daemon membuat sebuah file dengan nama ngeping.pid.

Membuat Service untuk Aplikasi Java

Keetiga dasar diatas sangat penting untuk Anda ketahui sebelum memulai membuat sebuah file yang bisa digunakan untuk membuat service pada ubuntu. Langkah selanjutnya adalah membuat sebuah file untuk menjalankan service, tapi sebelumnya izinkan saya menjelaskan skenario kasusnya terlebih dahulu. Okey begini skenarionya :

  • Aplikasi Java yang sudah saya bangun memiliki nama server.jar

  • Lokasi file Aplikasi Java yang sudah saya bangun berada pada /opt/server/server.jar

  • JRE yang saya gunakan JRE 1.7


Supaya lebih singkat penulisan saya, lihat script dibawah ini :

[sourcecode language="css"]
#!/bin/sh

#----------------------
# InitScript untuk Server
#----------------------
# Script ini digunakan untuk mengontrol server
# Author Lalu Erfandi Maula Yusnu

#--------------------
#PERSIAPAN
#--------------------
#konfigurasi script
ServiceName="server"
ServiceHome="/opt/server"
ServiceFile="$ServiceHome/$ServiceName.jar"
ServiceLogFile="/var/log/$ServiceName.log"
ServicePidFile="/var/run/$ServiceName.pid"

#command for running epanel
javaCmd="java -jar"
javaRunCmd="$javaCmd $ServiceFile"
dName="--name=$ServiceName"
dLog="--output=$ServiceLogFile"
dPid="--pidfile=$ServicePidFile"

#------------------
# AKHIR PERSIAPAN
#------------------

#-----------------------
# PENDEFINISIAN FUNGSI-FUNGSI
#-----------------------

daemon_start(){
sudo daemon $dName $dLog $dPid --unsafe -- $javaRunCmd
echo "Starting server service..."
}

daemon_stop(){
sudo daemon $dName --stop -- $javaRunCmd
echo "Stopping server service..."
}

daemon_restart(){
daemon_stop
daemon_start
echo "Restarting server service complete..."
}

daemon_status(){
sudo daemon $dName $dPid --running --verbose
}

#-----------------------------------
# AKHIR PENDEFINISIAN FUNGSI-FUNGSI
#-----------------------------------

#-----------------------
# IN ACTION
#-----------------------

case "$1" in
start)
daemon_start
;;
stop)
daemon_stop
;;
restart)
daemon_restart
;;
status)
daemon_status
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
esac

exit 0
[/sourcecode]

Setelah script diatas seleasi ditulis, maka langkah selanjutnya memindahkan file ini ke path /etc/init.d/server dan memberikan izin eksekusi dengan perintah chmod +x server.
Jika masih bingung silahkan posting comment untuk memperjelas maksud perintah diatas... sekian dan terima kasih...

Monday, October 25, 2010

konfigurasi routing RIP di quagga

hmmm... kemaren di artikel sebelumnya ane udah ngejelasin tentang instalasi dan konfigurasi quagga, nah sekarang ane mau bahas lebih lanjut tentang routing protokol RIP di quagga...

protokol rip adalah protokol yang di gunakan oleh router untuk menentukan jalur terpendek berdasarkan hop count (jumlah lompatan) agar bisa mencapai jaringan tujuan. protokol rip merupakan interior gateway protocol (IGP) yang di gunakan di jaringan LAN maupun WAN. maksimum hop count adaalah 15 , jadi jika jalur untuk mencapai tujuan melalui lebih dari 15 titik atau 15 router maka jaringan tersebut tidak bisa di jangkau lagi. rip memiliki dua versi yaitu ripv1 dan ripv2, ripv1 hanya mendukung jaringan yang classfull dan contigues network, sementara ripv2 mendukung jaringan yang classless (vlsm/subnetting) dan  discontigues network.

sederhanya sebuah router tidak bisa menghubungkan jaringan yang berbeda yang tidak terhubung langsung dengannya tanpa protokol routing. selain rip masih banyak lagi protokol routing yang laen, tapi kaleee ney kita akan ngebahas implementasi rip pada quagga. okeg begini kasusnya....

perhatikan gambar di bawah ney gan...

[caption id="attachment_361" align="aligncenter" width="500" caption="Topology 3 Router"]Topology 3 Router[/caption]

Friday, September 3, 2010

hias terminal dengan figlet

teringat sama sohib ane waktu pelatihan ccna 2 academy, dia ngenalin tentang figlet yang dia dapet dari ubuntu kungfu... terminalnya di modif jadi kayak gene :



nah supaya terminal bisa di modif kayak gitu caranya

Saturday, July 17, 2010

arpspoof (netcut) di ubuntu 10.04

jadi gene ceritanya gan... ane lagi ngenet di hotspot di deket rumah... pas lage ngenet tiba - tiba koneksi putus... konek ulang lage jadinya... pas koneksi udah nyambung lage... putus lage... putus... nyambung.. putus... nyambung... kayak lagu putus nyambung ney... wedew... sepertinya ada yang pake netcut ney... wew gak mau kalah juga ane belum tau dia di linux ada tools yang juga gak kalah serem... toolsnya arpspoof..

okeh sekarang ane jelasin apa aja yang perlu di install di ubuntu supaya bisa pake tools ini dan kawan - kawannya :

langkah pertama install paket dsniff :

sintaknys begini :

apt-get install dsniff

okeh sekarang kita pake tools kita, misal kasusnya ip gateway dari si router ntu 192.168.0.1 truz kita konek pake wireless... sekarang kita mau nyerang satu jaringan.... jadi siapapun yang konek ke gateway 192.168.0.1 akan mengalami gangguan dan koneksi bakalan putus.... caranya kayak gene :




Tuesday, May 18, 2010

Konfigurasi Modem Sierra 881u di Ubuntu 10.04

siiiipppp.... tiga hari ngubek konfigurasi modem di ubuntu yang gak jalan - jalan pake layanan telkomflash unlimited... dan akhirnya berhasil... nah ney cara konfigurasinya...

lets begin it...

pertama install wvdial dengan sintaks ini :

sudo apt-get install wvdial

nah.. lok udah terinstall pasang modemnya abiz tu ketik ney :

sudo wvdialconf

ssiiiiiipppp.... abiz tu buka file konfigurasinya di /etc/wvdial.conf :

sudo gedit /etc/wvdial.conf

Sunday, May 16, 2010

Virtual Interface di Ubuntu

waktu nyobain bangun server pake ubuntu... ane ngadepin masalah... setidaknya untuk uji coba ane butuh NIC (Network Interface Card) 3 buah... mana gak ada uang lage, mau ngutang maluu... akhirnya ketemu juga solusinya, pake virtual interface. virtual interface fungsinya, bisa buat seolah - olah ada banyak NIC dalem satu NIC... misalnya ane punya satu interface tapi dalam satu interface bisa dihubungi pake 3 ip address... soo dalem satu kabel lan yang sama, lok di ping 3 ip yang berbeda  semuanya bisa reply asal satu jaringan lah.... okeh lets begin aja....

(kasusnya buat 3 buah virtual interface di pada ethernet)

buka file di /etc/network/interfaces dengan mengetikan :

sudo gedit /etc/network/interfaces

Monday, May 10, 2010

Ubuntu Lucid Lynx (10.04) Rasa MacOSX

akhirnya berhasil juga ngubah tampilan ubuntu 10.04 ane jadi mirip sama MacOSX setelah ngotak-ngatik n googling di internet. Ngapain ngubah tampilan ubuntu kayak MacOS?? kata temen ane... yupz sebenarnya gara - gara virus yang dibawak pulang bokap ane dari tempatnya kerja, pulang - pulang dia tiba - tiba mau beli laptop MacBookPro keluarannya si Apple. Setelah menunggu barang dikirim dari surabaya selama 1 minggu, akhirnya MacBookPro ntu nyampe di rumah ane, dengan box berwarna putih dan tulisan di boxnya MacBook Pro. Penasaran liat gimana rupa laptop ntu (maklum gaptek), tyuz MacBook Pro ntu pun dibuka dari Boxnya.... dengan body yang slim aduhai dan lambang apple di front casenya buat ane jadi ngiler...!!! hehehehe... jadi pengen punya atu... bokap ane bilang besok beli sendiri lok sudah kerja... (sabaaaaarrrrr!!!!). Pas dinyalain, gila tampilannya tambah buat ngiler (ciaaaaaaaaaaa!!!!!) elegant banget gan... fiuh... (kapan penyakit kanker ney sembuh biar bisa beli atu).

Sebenernya bukan sekedar tampilan aja sech yang buat ane suka sama MacOS, salah satu hal yang buat ane suka dan lok gak ada hal itu ane gak bakalan suka adalah MacOS merupakan turunan dari Unix yang berarti masih satu keluarga dengan Linux... berarti systemnya gak beda jauh dengan linux...

Nah, Karena ane gak punya MacBookPro... ane oprek tu Ubuntu Lucid Lynx (10.04) jadi semirip mungkin dengan MacOS....
so begini caranya, pertama - tama download dulu file - file yang dibutuhkan ini :

http://sourceforge.net/projects/mac4lin/

setelah selesai file di download ekstrak file tersebut dengan sintaks berikut :

sudo unzip Mac4Lin_Install_v1.0.zip

kemudian masuk ke folder kemudian install Mac4Lin :


sudo su
cd Mac4Lin_Install_v1.0
chmod 777 Mac4Lin_Install_v1.0.sh
sh Mac4Lin_Install_v1.0.sh


Sunday, May 2, 2010

axel si rakus bandwitdh

Wah gimana ney? download gak bisa sekenceng IDM di ubuntu... kata salah seorang teman saya... kemudian saya bilang.. eits bentar dulu, di ubuntu 9.10 ada aplikasi yang gak kalah kenceng sama Internet Download Manager... aplikasi ney namanya axel... axel punya fitur untuk melakukan download sebuah file dengan request sebanyak yang anda inginkan... sementara IDM punya batas hanya sampai 16 kali request maksimal...

mau nyoba... okeh lets begin... install dulu axelnya....

sudo apt-get install axel

udah selese install? ucapkan mantra 'mantaaaab' sebelum melanjutkan....
axel adalah aplikasi download yang di jalankan melalui terminal. soo lok pengen pake ney aplikasi buka terminal n ketik axel.....

Saturday, May 1, 2010

Instalasi dan Konfigurasi DNS (bind9) di Ubuntu 9.10

ciaaaaaaaaaaaatttt........ setelah dua bulan merintih dalam kesunyian pagi dan malam.... akhirnya aku berhasil menjalankan dns server di ubuntu server ku..... yuuuuhhuuuuuu..... untuk merayarakan kebahagiaan ane ini, ane akan membaginya melalui blog sederhana ini.

okeh lets begin....

ane anggep yang baca postingan ane udah pada baca apa itu dns n cara kerja dns.

kita mulai dengan instalasi bind untuk layanan dns server....
buka terminal n ketik sintaks dibawah ini :

sudo apt-get install bind

Tuesday, April 27, 2010

Instalasi dan konfigurasi vsftp di ubuntu

Yupz ane mau bage - bage dikit cara instalasi n konfigurasi vsftpd di ubuntu 9.10. vsftpd dipake buat server ftp, banyak ftp server yang tersedia di ubuntu tapi menurut ane yang satu ney paling simpel ghitu loh... seperti biasa ane kurang suka berpanjang kata, yok mulai nyoook...

Okeh, langkah pertama kita install dulu vsftpd. buka terminal n ketik :

sudo apt-get install vsftpd

Monday, April 26, 2010

Instalasi dan Konfigurasi Quagga di Ubuntu

setelah berjalan jalan sebentar di dunia PC Router MySpace eh akhirnya nemu solusi routing yang lebih mantaaab... Paket Quagga yang mirip kayak cisco cara konfigurasinya memiliki fitur untuk routing rip, ripng, ospf, ospf6, is-is, dan is-is6. Soo langsung aja gak pake lama kita mulai dari instalasi paket quagga..eeetss tapi tunggu dulu ubuntu yang saya pake ubuntu 9.10 okeh....

buka terminal dan ketikan :

sudo apt-get install quagga quagga-doc