:::: MENU ::::

Posts Categorized / Tutorial Linux

  • Apr 09 / 2012
  • 1
Article, Tutorial Linux, Tutorial Windows Programming

Setting environment untuk pengembangan aplikasi berbasis windows mobile 6.5

Sebelum kita mulai mengembangkan aplikasi berbasis windows mobile 6.5 maka perlu kita setting terlebih dahulu environment untuk pengembangan aplikasi tersebut. Disini penulis menggunakan IDE Visual studio 2005 sp 1.
Langkah – langkahnya adalah sebagai berikut :
1) Install Microsoft Visual Studio 2005
Ini adalah core IDE yang kita perlukan yang terdiri dari editor code, compiler, debugger, help, dan sebagainya.
2) Check apakah versi tersebut sudah service pack 1, jika belum downloadlah file service pack tersebut di :
http://www.microsoft.com/download/en/details.aspx?id=5553
Lalu jalankan file VS80sp1-KB926601-X86-ENU.exe dan ikuti langkah instalasinya.
3) Install Microsoft .NET Compact Framework 2.0 SP2
Ini adalah framework untuk aplikasi mobile pada lingkungan .NET
Bisa di download di http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=17981
Lalu jalankan file NETCFSetupv2.msi dan ikuti langkah instalasinya.
4) Install Windows Mobile 6 Professional SDK Refresh
Ini adalah core library untuk pengembangan aplikasi windows mobile
Filenya bisa didownload di http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=6135
Lalu jalankan file Windows Mobile 6 Professional SDK Refresh.msi dan ikuti langkah instalasinya.
5) Install Windows Mobile Device Center
Program ini adalah penerus dari Active Sync yang dibutuhkan untuk melakukan koneksi ke device handheld.
Filenya bisa didownload di http://www.microsoft.com/download/en/details.aspx?id=14
Lalu jalankan file drvupdate-x86.exe dan ikuti langkah instalasinya.

Setelah langkah-langkah tersebut dilakukan kini saatnya menguji apakah enviroment kita sudah siap. Buatlah program sederhana untuk menguji environment yang sudah kita bangun.

1) Buka Visual Studio 2005
2) Dari Menu pilih File > New > Project
3) Pada Project Types pilih Visual c# > Smart Devices > Windows Mobile Professional 6, Templates pilih Device Application, Name diisi dengan HelloWorld
4) Tampil Form Designer untuk Form1. Klik form-nya dan perhatikan di kanan bawah terdapat properties dari form1 tersebut.
5) Cari form property name , ubah name nya utk penamaan form misal helloworld lalu ubah titel formnya pada property Text menjadi Hello World
6) Tambahkan Label dengan men-drag label di toolbar ke form, untuk properti Text diisi dengan Hello World
7) Tambahkan Button dengan men-drag button di toolbar ke form, untuk properti Text diisi dengan Ok dan name diganti misal buttonOK
8) buttonOK pada form designer di double click maka akan muncul laman script csharpnya dan function buttonOK kita isi dengan : Application.Exit();
9) Jalankan program dengan klik tombol run (icon play warna hijau), jika muncul form untuk memilih device pilih salah satu device dan muncul windows mobile simulator.
10) Jika tidak ada error maka IDE environment siap dipakai untuk mengembangkan aplikasi mobile.

  • Apr 04 / 2012
  • 2
Tutorial Linux

Tutorial setting openvpn

Install paket-paket yang diperlukan :

[root@demo ~]# yum install wget

[root@demo ~]# yum install openssl openssl-devel lzo lzo-devel pam pam-devel -y

OpenVPN mengkoneksikan dua perangkat tun pada mesin yang berbeda menggunakan protokol udp atau tcp. Jadi pastikan bahwa driver untuk perangkat virtual tun sudah didukung oleh linux(pastinya fedora core linux 12 support untuk TUN/TAP Device):

[harry@demo ~]$ cat /proc/net/dev|grep tun tun0:59493117 403025 0 0 0 0 0 0 232675158 374324 0 0 0 0 0 0

jika tidak menampilkan apapun, mengindikasikan bahwa kernel tidak mendukung TUN/TAP. Rebuild kembali kernel anda agar dapat mendukung device TUN/TAP. Periksa kernel configurasi dan pastikan bahwa nilai berikut

CONFIG_TUN=m atau CONFIG_TUN=y

[root@demo ~]# grep “TUN” /usr/src/linux/.config CONFIG_TUN=m or CONFIG_TUN=y

Instalasi :

Ada dua cara untuk melakukan instalasi openvpn pada mesin fedora linux :

instalasi melalui yum

[root@demo ~]# yum install openvpn

instalasi paket rpm

download paket rpm

[root@demo ~]# wget -r http://kambing.ui.ac.id/fedora/releases/14/Fedora/x86_64/os/ Packages/openvpn-2.1.1-2.fc13.x86_64.rpm

[root@demo ~]# rpm -ivh openvpn-2.1.1-2.fc13.x86_64.rpm

Buat Master CA key:

[root@demo ~]# cp -ai /usr/share/openvpn/easy-rsa/2.0 ~/easy-rsa

[root@demo ~]# cd ~/easy-rsa

[root@demo easy-rsa]# pwd /root/easy-rsa

[root@demo easy-rsa]# mkdir keys

[root@demo easy-rsa]# mkdir /etc/openvpn/keys

[root@demo easy-rsa]# cp -ai ~/easy-rsa/keys/* /etc/openvpn/keys

buat file server.conf

[root@demo easy-rsa]# cp -ai /usr/share/doc/openvpn-*/sample-config-files/roadwarrior-server.conf /etc/openvpn/server.conf

[root@demo easy-rsa]# . ./vars Catatan: ada spasi diantara kedua titik.

[root@demo easy-rsa]# ./clean-all buatlah skrip shell untuk men-setting nilai dari

beberapa environment variabel yg ditentukan oleh user yang digunakan dalam membuat key. Kita buat file tersebut dan namakan misalnya genvars_ca, dan file tersebut berisi:

export KEY_CONFIG=/root/easy-rsa/openssl.cnf

export KEY_DIR=/etc/openvpn/keys

export KEY_SIZE=1024

export KEY_COUNTRY=ID

export KEY_PROVINCE=DKI

export KEY_CITY=JAKARTA

export KEY_ORG=”terradata”

export KEY_EMAIL=”info@terra-data.biz”

exec $SHELL -i

Yakinkan untuk mengubah mode file dengan perintah chmod pada file skrip tersebut untuk agar file bisa dieksekusi:

[root@demo easy-rsa]# chmod +x genvars_ca

jalankan skrip tersebut :

[root@demo easy-rsa]# ./genvars_ca

Pastikan bahwa anda menggunakan perintah berikut untuk memverifikasi peribahan pada shell:

[root@demo easy-rsa]# env|grep KEY

Selanjutnya, inisialisasi PKI nya:

[root@demo easy-rsa]# ./build-ca

Output:

Generating a 1024 bit RSA private key ……….++++++ …………………………………………………..++++++ writing new private key to ca.key —– You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter ‘.’, the field will be left blank. —–

Country Name (2 letter code) [ID]:

State or Province Name (full name) [DKI]:

Locality Name (eg, city) [JAKARTA]:

Organization Name (eg, company) [terradata]:

Organizational Unit Name (eg, section) []:

Common Name (eg, your name or your server hostname) [terradata CA]:

Name []:

Email Address [info@terra-data.biz]:

buat key untuk server: Catatan : hanya tekan enter untuk sebagian besar pertanyaan, kecuali pada common name masukkan kata server.

[root@demo easy-rsa]# ./build-key-server server

Output:

Generating a 1024 bit RSA private key ……..++++++ .++++++ 99 writing new private key to server.key —– You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter ‘.’, the field will be left blank. —–

Country Name (2 letter code) [ID]:

State or Province Name (full name) [DKI]:

Locality Name (eg, city) [JAKARTA]:

Organization Name (eg, company) [terradata]:

Organizational Unit Name (eg, section) []:

Common Name (eg, your name or your server hostname) [server]:

Name []:

Email Address [info@terra-data.biz]:

Please enter the following extra attributes to be sent with your certificate request

A challenge password []:zhaoke.com

An optional company name []:zhaoke.com

Using configuration from /root/easy-rsa/openssl.cnf Check that the request matches the signature Signature ok The Subject’s Distinguished Name is as follows

countryName : PRINTABLE:[ID]

stateOrProvinceName : PRINTABLE:[DKI]

localityName : PRINTABLE:[JAKARTA]

organizationName : PRINTABLE:[terradata]

commonName : PRINTABLE:[server]

emailAddress : info@terra-data.biz

Certificate is to be certified until Nov 27 13:49:01 2009 GMT (3650 days) Sign the certificate? [y/n]:y 1 out of 1 certificate requests certified, commit? [y/n]y Write out database with 1 new entries Data Base Updated

Keterangan :

Anda akan ditanya untuk memberikan informasi yang diperlukan untuk pertukaran dalam permintaan sertifikat. Apa yang anda isikan tersebut dinamakan Distinguished Name atau DN. Ada beberapa field informasi dan dapat dibiarkan kosong Untuk beberapa field ada nilai default, Jika anda mengisikan , maka field akan dibiarkan kosong. Buat key untuk client: Seperti diatas, common name harus unik, jika anda punya beberapa client, untuk setiap client, ketikkan seperti dibawah ini:

./build-key client1

./build-key client2

Mari kita buat key untuk salah satu client:

[root@demo easy-rsa]# ./build-key client

Output:

Generating a 1024 bit RSA private key ……++++++ ………………….++++++ writing new private key to client.key —– You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter ‘.’, the field will be left blank. —–

Country Name (2 letter code) [ID]:

State or Province Name (full name) [DKI]:

Locality Name (eg, city) [JAKARTA]:

Organization Name (eg, company) [terradata]:

Organizational Unit Name (eg, section) []:

Common Name (eg, your name or your server hostname) [client]:

Name []:
Email Address [dns-manager@terra-data.biz]:
Please enter the following extra attributes
to be sent with your certificate request
A challenge password []:zhaoke.com
An optional company name []:zhaoke.com
Using configuration from /root/easy-rsa/openssl.cnf
Check that the request matches the signature
Signature ok
The Subject Distinguished Name is as follows
countryName : PRINTABLE:[ID]
stateOrProvinceName : PRINTABLE:[DKI]
localityName : PRINTABLE:[JAKARTA]
organizationName : PRINTABLE:[terradata]
commonName : PRINTABLE:[client]
emailAddress : [info@terra-data.biz]
Certificate is to be certified until Nov 27 13:57:06 2009 GMT (3650 days)
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Buat Diffie Hellman/DH key parameter:

[root@DB-utama easy-rsa]# source ./vars
NOTE: If you run ./clean-all, I will be doing a rm -rf on /root/easy-rsa/keys

[root@demo easy-rsa]# ./build-dh
Output:
Generating DH parameters, 1024 bit long safe prime, generator 2
This is going to take a long time
……+….+…………………..++*++*++*
Copy-kan keys yang sudah dibuat untuk mesin server :
[root@demo easy-rsa]# cd keys
[root@demo keys]# cp ca.crt server.key server.crt dh1024.pem /etc/openvpn/keys

ambil file server.conf di pajang

  • Apr 04 / 2012
  • 2
Tutorial Linux

Tutorial setting NTP pada server aplikasi anda

Apabila suatu aplikasi yang rumit yang memiliki arsitektur hardware yang melibatkan banyak server, maka perlu rasanya penyeragaman waktu antar server-server aplikasi tersebut. Itulah yang pernah kami rasakan di Terradata, dimana aplikasi kami pada level klien tertentu memiliki arsitektur hardware yang rumit.

Kadang kita menemukan error pada aplikasi yang diakibatkan waktu salah satu server tidak sinkron, sehingga mengakibatkan transaksi tidak diproses oleh aplikasi. Setelah menghabiskan waktu bermenit-menit maka kami baru tahu kalau hal tersebut diakibatkan oleh perbedaan waktu antar server.

Untuk itu sebagai solusinya kami gunakan NTP, dimana salah satu mesin sebagai server/host penyedia waktu dan mesin-mesin lainnya akan meng-update waktunya ke mesin server/host. Sedangkan mesin server NTP nya meng-update data waktu ke server yang direferensikan.

Untuk PC Sebagai server waktu

1.) Install program NTP (Network Time Protocol) UDP port 123

# yum install ntp ntpdate

2.) Setting file /etc/ntp.conf dengan menggunakan vim

# vim /etc/ntp.conf

tambahkan pada file tersebut :

statsdir /var/log/ntpstats/

uncheck :

# Enable writing of statistics records.

# statistics clockstats cryptostats loopstats peerstats

tambahkan list server pool untuk ntp wilayah Indonesia dr http://www.pool.ntp.org/zone/id

server 3.id.pool.ntp.org

server 1.asia.pool.ntp.org

server 0.asia.pool.ntp.org

tambahkan baris berikut agar pc/server local bisa mengakses waktu ntpd ini

restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap

simpan (:ws) dan keluar

3.) Jalankan perintah berikut

# ntpdate 3.id.pool.ntp.org

4.) Restart daemon ntpd (ntp server)

# /etc/init.d/ntpd restart

5.) Check apakah sistem sudah sinkronisasi dengan server

# ntpq -p

remote refid st t when poll reach delay offset jitter ==================================================
dns2.lipi.go.id 192.168.60.16 2 u 4 64 1 13.716 2.549 0.001
send.mx.cdnetwo 115.139.9.150 2 u 2 64 1 258.822 -70.403 0.001
CacheDNS-SBY.te 193.79.237.14 2 u 2 64 1 31.785 -29.775 0.001


jika muncul tanda bintang pada list maka sistem sedang update/sinkronkan waktunya dengan waktu server. jika tdk muncul maka sistem sudah sinkron atau server ntp tidak dapat diakses/gagal akses coba lagi dengan mengeksekusi perintah : ntpdate 3.id.pool.ntp.org jangan lupa dengan mematikan service ntpd terlebih dahulu

6.) Aktifkan ntpd dan ntpdate saat setiap booting

# chkconfig --level 2345 ntpd on

# chkconfig --level 2345 ntpddate on

7.) Reboot PC untuk mengetahui efeknya

# reboot

8.) Bila tidak mau di booting maka ada beberapa hal yg harus dilakukan

- saat masuk grub tekan e pada menu kernel yg diload

- tambahkan single di akhir baris

- tekan b untuk boot

- masuk sebagai root dgn perintah su -

- edit file inittab : # vim /etc/inittab

- ganti runlevel 5 menjadi 3 dan simpan (bila instalasi menggunakan x windows)

- reboot pc

- login sebagai root

- masuk ke direktori /dev

- eksekusi perintah #touch *

- reboot

Untuk PC sebagai client

1.) Instalasi program ntp klien

# yum install ntp ntp-simple ntpdate

2.) Edit file ntp.conf

# vim /etc/ntp.conf

arahkan ntp klien ke servernya :

server 192.168.1.100 (ip local ntp server lokal)

batasi aksesnya

restrict default notrust nomodify nopeer

restrict 192.168.1.100

restrict 127.0.0.1

simpan file dan keluar dengan perintah :wq

3.) Jalankan ntpdate

# ntpdate 192.168.1.100

4.) Jalankan/restart service ntpd

# /etc/init.d/ntpd restart

5.) Setting hardware clock nya juga

# hwclock --systohc

6.) Check apakah server sudah sinkronkan waktunya

# ntpq # ntpdc -p