2013-03-20
Install OpenERP via apt-get
2011-05-30
Menggunakan Mdbtools di debian / ubuntu
Mdbtools, aplikasi powerfull buat view dan export database Access di dalam Linux, kita bisa query, export, view tables, etc, sayang belum bisa modify databasenya...
Cara Install (di Debian / Ubuntu)
apt-get install mdbtools
atau kalau ingin install dari source / package lain bisa berkunjung ke
http://mdbtools.sourceforge.net/
setelah berhasil install akan ada file file berikut ini
mdb-array mdb-header mdb-parsecsv mdb-schema mdb-tables
mdb-export mdb-hexdump mdb-prop mdb-sql mdb-ver
berarti instalasi sukses...
Sekarang caranya menggunakan
Ambil salah satu contoh file MDB ( contoh database Espt )
kita taruh di /home/ayumi/Projects/espt Data.mdb
Untuk Menampilkan semua table
ayumi@kazumi ~/Projects/espt $ mdb-tables -1 Data.mdb
REF_SSP
REF_FKTR_PK
REF_FKTR_PM
REF_KPP
REF_LAMP
REF_TRANS
SETTING_TARIF
Untuk Menampilkan semua DDL ( schema database )
ayumi@kazumi ~/Projects/espt $ mdb-schema Data.mdb
-------------------------------------------------------------
-- MDB Tools - A library for reading MS Access database files
-- Copyright (C) 2000-2004 Brian Bruns
-- Files in libmdb are licensed under LGPL and the utilities under
-- the GPL, see COPYING.LIB and COPYING files respectively.
-- Check out http://mdbtools.sourceforge.net
-------------------------------------------------------------
DROP TABLE REF_SSP;
CREATE TABLE REF_SSP
(
KDMAP Text (510),
KD_JNS_BYR Text (510),
NMJNSBYR Text (510),
NMMAP Text (510)
);
-- CREATE ANY INDEXES ...
bla bla bla
Untuk Query data table tertentu
ayumi@kazumi ~/Projects/espt $ echo "select KD_KPP,NM_KPP from KPP "|mdb-sql Data.mdb
+----------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------+
|KD_KPP |NM_KPP |
+----------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------+
|058 |KPP PENANAMAN MODAL ASING LIMA |
Export table ke file CSV
ayumi@kazumi ~/Projects/espt $ mdb-export -d ";" -H -q "'" Data.mdb KPP > export.csv
Script di atas export data dari table KPP ke file export.csv dengan row delimiter “;” dan quote “ ' “ tanpa header row
Generate sql script untuk create table
ayumi@kazumi ~/Projects/espt $ mdb-schema Data.mdb > sql_script.sql
Generate sql script untuk create table dengan backend PostgreSQL
ayumi@kazumi ~/Projects/espt $ mdb-schema Data.mdb postgres > sql_script.sql
Generate sql script untuk create table dengan backend Oracle
ayumi@kazumi ~/Projects/espt $ mdb-schema Data.mdb postgres > sql_script.sql
2011-04-06
Backup Data di Windows ke Linux menggunakan scp tanpa menggunakan password
Backup data menggunakan scp atau rsync mungkin sudah biasa di dunia linux dkk, sekarang gua coba praktekkan di windows .. ternyata cukup mudah ..
caranya
Install SSH Server di Server linux
me@debian:~$ sudo apt-get install openssh-server
buat folder untuk tempat backup
me@debian:~$sudo mkdir /data /data/backup_001
Jangan lupa beri ownershipnya
me@debian:~$sudo chown -r mybackup.mybackup /data /data/backup_001
(asumsinya gua create user mybackup khusus untuk kebutuhan copy dan rsync)
DI client ( Windows XP)
Buat folder C:\scp
copy file pscp.exe dan puttygen.exe dari http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html ke C:\scp
jalankan puttygen.exe
pilih yang RSA2, kemudian generate key-nya
simpan file ppk -nya (private key) di c:\scp :: contoh (pkey.ppk)
buka file ppk dengan text editor

(ambil dari web http://www.codelathe.com/blog/index.php/2009/02/20/ssh-without-password-using-putty/ )
Login ke server ..
buat folder .ssh di dalam home user ...
sudo mkdir /home/mybackup/.ssh
kemudian buat file authorized_keys di dalam folder .ssh copy paste script yang di kotak merah atas (buat menjadi 1 baris dengan menghilangkan spasi dan carriage return) didepan barusnya tambahkan text ssh-rsa

Sampai sini dari sisi server sudah siap menerima data dari client dan menggunakan authentikasi RSA2
sekarang di client kita mau test copy file ke server
jalankan di cmd (command prompt)
Syntax nya
pscp.exe -r -i namappk.ppk [source file / direktori] [destination direktori]
contoh ( kita mau backup data yang ada di D:\mydata )
c:\scp\pscp.exe -r -i pkey.ppk D:\mydata mybackup@ipserver.local:/data/backup_001
jika ingin dijalankan terus ..tinggal copy script ke atas ke dalam file text.. beri extension .bat. jadi tinggal jalankan file batnya otomatis akan ke backup semua, tanpa prompt password dari server
2010-12-15
Python Component dan IDE yang penting
Buat catetan gua biar tidak lupa .. ini daftar component python yang perlu dan kudu ada
1. python-pymssql : buat connecting ke SQL Server dan Sybase
2. python-psycopg2 : Buat connecting ke PostgreSQL 8x
3. python-sqlalchemy : SQL Toolkit python dan ORM
4. SPE ( Stani Python Editor ) dan atau Ulipad (Punya fungsi "Column Mode" seperti UltraEDIT)
5. formAlchemy : HTML Form generator
6. webpy : Buat bikin web application kecil kecilan
Semuanya bisa didapet lewat sudo apt-get di Debian / Ubuntu .. atau lewat easy_install . dan ada versi windowsnya
2010-07-02
IredMail + Openfire
IredMail --> import user via CSV
2010-02-08
Membuat Linux Live CD di FlashDisk
Di Ubuntu tinggal ketik
sudo apt-get install unetbootin
setelah selesai jalankan sudo unetbootin di terminal, nanti akan muncul tampilan seperti ini

Tinggal Pilih ISO nya atau langsung donlod Live berdasarkan distribusinya ....
Note : Flashdisk mesti format FAT32
Enjoy ....
Powered by ScribeFire.
2009-10-10
cron, crontab, backup
Apa itu cron?
cron adalah scheduler di unix-like dan merupakan singkatan dari chronograph
cron digunakan untuk mengatur skedul sehingga user dapat menjalankan perintah atau script pada waktu tertentu, biasanya digunakan untuk maintenance atau administrasi.
Apa yang bisa dilakukan cron?
Contoh2 yang bisa dilakukan dengan cron :
- backup
bisa backup database, backup data ato backup system - kirim email
seumpama pengen kirim imil ke user jam 10 malem, tinggal diset gaksah balik kantor jam 10 malem :) - reboot server
- dsb
cron merupakan daemon yang hanya perlu dijalankan sekali dan akan berjalan di background process. Pada kebanyakan distro, cron sudah terinstall secara ostosmastis dan di-load di startup, untuk melihatnya ketik
detanto@detantoCQ45:~$ ps aux | grep cron
root 3625 0.0 0.0 3480 1036 ? Ss 08:43 0:00 /usr/sbin/cron
detanto 11502 0.0 0.0 3340 816 pts/1 S+ 10:06 0:00 grep cron
Menggunakan cron
Ada beberapa cara untuk menggunakan cron, kalo diliat di /etc, akan ada beberapa file yang berbau cron
dari hasil ls, ada bberapa file yang berbau cron, apabila kita meletakkan script di dalam direktori cron.daily atau hourly, skedul akan dijalankan sesuai dengan nama direktorinya ..
detanto@detantoCQ45:/etc$ ls -l | grep cron
drwxr-xr-x 2 root root 4096 2009-10-10 09:19 cron.daily
drwxr-xr-x 2 root root 4096 2009-08-30 22:48 cron.hourly
drwxr-xr-x 2 root root 4096 2009-10-05 10:45 cron.monthly
-rw-r--r-- 1 root root 724 2008-11-12 22:47 crontab
drwxr-xr-x 2 root root 4096 2009-08-30 22:48 cron.weekly
kalo kita mau bikin skedul sendiri yang ga ngikut direktori2 itu, kita bisa edit lgsg ke file crontab. crontab adalah cron table; adalah sebuah file yang berisi skedul yang berisi job yang musti dilakukan pada waktu tertentu.
Isi dari crontab :
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#
Syntax crontab :
contoh script yang gw masukkin di /etc/crontab
.---------------- menit
| .------------- jam
| | .---------- hdb
| | | .------- bulan (1 - 12) ato jan,feb,mar,apr ...
| | | | .---- hdm (0 - 6)
| | | | |
* * * * * user cmd
menit perintah akan dijalankan pada menit keberapa, nilai :'0' and '59'
jam perintah akan dijalankan pada jam keberapa, nilai : 0-23, 0 adalah tengah malam
hdb (hari dalam sebulan) perintah akan dijalankan pada hari keberapa dalam sebulan, misal kita mo jalankan perintah pada hari ke 13 setiap bulam , hdb akan mempunyai nilai 13
bulan perintah akan dijalankan pada bulan keberapa dalam setahun, nilai : 1-12 atau nama bulan dalam bhs inggris
hdm perintah akan dijalankan pada hari keberapa dalam seminggu, nilai : 0-6 atau nama hari dalam bhs inggris ((Minggu=0 or 7) ato sun,mon,tue,wed,thu,fri,sat )
user user yang akan menjalankan
cmd perintah yang mau dijalankan
Script di atas akan melakukan script backup mysql spesifik ke database hrd tiap jam 11 malem dengan format file :
00 23 * * * root mysqldump --user root --password=apaya hrd > /home/detanto/backup_mysql/hrd_`date '+\%Y\%m\%d_\%H\%M\%S'`.sql
hrd_`date '+\%Y\%m\%d_\%H\%M\%S'`.sqldi direktori /home/detanto/backup_mysql/
ini gw share script yang menarik, dia nge-backup semua database yang ada di mysql, sebetulnya bisa menggunakan option --all-database, tapi afaik hasilnya jadi satu dalam satu file. Script yang gw buat ini akan membackup satu2 ke dalam file berformat gz .. jd irit :P
simpan script ini, tambahkan permission untuk diexecute trus dipasang deh ke /etc/crontab
#!/bin/bash
dbUSRNM="root" # user database
dbPASSW="qqwwee" # password database
dbHOSTS="localhost" # host database
# path perintah linux
cmMYSQL="$(which mysql)"
cmDUMPS="$(which mysqldump)"
cmGZIP="$(which gzip)"
vrFILE=""
#lokasi backup
vrDESTI="/home/detanto/backup_mysql"
#hostname dari server yg akan dibackup
vrHOSTS="$(hostname)"
#tanggal
vrDATES="$(date +"%Y-%m-%d_%H%M%S")"
#array database yang tidak dibackup
arNOBCK=("mysql" "test" "sample" "information_schema")
#array database yang ada di server
arDBASE="$($cmMYSQL -u $dbUSRNM -h $dbHOSTS -p$dbPASSW -Bse 'show databases')"
#looping semua database yang sudah diisi arraynya di arDBASE
for db in $arDBASE
do
lewat=-1
if [ "$arNOBCK" != "" ];
then
for i in ${arNOBCK[@]}
do
[ "$db" == "$i" ] && lewat=1 || :
done
fi
if [ "$lewat" == "-1" ] ; then
#nama file
vrFILE="$vrDESTI/$db.$vrHOSTS.$vrDATES.gz"
#menjalankan perintah mysqldump dan lgsg di zip ke format gz
$cmDUMPS -u $dbUSRNM -h $dbHOSTS -p$dbPASSW $db | $cmGZIP -9 > $vrFILE
fi
done
sumber2:
http://en.wikipedia.org/wiki/Cron
http://www.tech-recipes.com/category/computer-programming/unix-shell-scripting/bourne-shell-scripting/
2009-07-24
Rip DVD di Ubuntu
sudo apt-get install lsdvd transcodesetelah terinstall, ketik
lsdvdperintah diatas digunakan untuk mencari informasi track, track terpanjang biasanya yang kita cari, contoh hasil dari lsdvd :
dari hasil lsdvd didapatkan track terpanjang adalah track 01, kemudian kita rip dvd tersebut ke ogg. secara default, proses ripping ke ogg membutuhkan oggenc yang tidak diinstall secara default oleh jaunty, untuk instalasinya cukup ketik
detanto@detantonux:~$ lsdvd
libdvdread: Encrypted DVD support unavailable.
************************************************
** **
** No css library available. See **
** /usr/share/doc/libdvdread4/README.Debian **
** for more information. **
** **
************************************************
Disc Title: AMAZING_JOURNEY
Title: 01, Length: 02:10:11.066 Chapters: 31, Cells: 31, Audio streams: 02, Subpictures: 00
Title: 02, Length: 00:30:38.233 Chapters: 06, Cells: 06, Audio streams: 01, Subpictures: 00
Title: 03, Length: 00:07:49.100 Chapters: 01, Cells: 01, Audio streams: 01, Subpictures: 00
Title: 04, Length: 00:07:54.210 Chapters: 01, Cells: 01, Audio streams: 01, Subpictures: 00
Title: 05, Length: 00:07:19.000 Chapters: 01, Cells: 01, Audio streams: 01, Subpictures: 00
Title: 06, Length: 00:05:34.176 Chapters: 01, Cells: 01, Audio streams: 01, Subpictures: 00
Title: 07, Length: 00:01:59.100 Chapters: 01, Cells: 01, Audio streams: 01, Subpictures: 00
Title: 08, Length: 00:30:36.233 Chapters: 05, Cells: 05, Audio streams: 01, Subpictures: 00
Longest track: 01
sudo apt-get install vorbis-toolssetelah proses install selesai, kita gunakan tools transcode untuk rippingnya, command-nya :
transcode -i DEV -x TYPE -T X,Y,Z -a 0 -y videomode, audiomode -b BRT -m "/home/detanto/Amazing Journey - Track Y.ogg"contoh implementasinya :
-i : input device-nya
DEV : lokasi input
-x : tipe inputnya
TYPE : type input device
-b : bitrate
-T : DVD Title-nya, X : Title, Y : Track, Z : Angle
-y : output
-m : output file namenya
transcode -i /dev/cdrom -x dvd -T 1,2,1 -a 0 -y null,ogg -b 256 -m "/home/detanto/Amazing Journey - Track Y.ogg"Penjelasan :
Argumen diatas mengidentifikasi kalo input device-nya adalah "/dev/dvd", tipe inputnya dvd, Title 1, chapter 2, dan camera angle 1, audio track adalah track 0 (-a), output formatnya yang video-nya null, audionya ke ogg, outputnya ke /home/detanto/Amazing Journey - Track Y.ogg
Untuk me-rip semua file ke dalam satu file, tinggal dimainin di parameter -T, diisi 1, -1, dia akan langsung me-rip semua chapter ke dalam satu file
Permasalahannya adalah kemalasan :P, kalo lagunya 1 ato 2 sih ga masalah, lha kalo lagunya diatas 5 males juga bikin command satu2 dan ganti tracknya satu2 setelah selesai. Untuk otomatisasi,
bisa dibuat program bash sederhana :
vi ripdvdtrus isi ripdvd itu dengan kode berikut :
for i in `seq 1 31`;
do
x=$(($i+1))
transcode -i /dev/cdrom -x dvd -T 1,$x,1 -a 0 -y null,ogg -b 256 -m "/home/detanto/Amazing Journey - Track $i.ogg"
done
Penjelasan :
ditentukan yg akan dirip adalah file yang ada di Title 01, Chapter terakhir adalah 31, jadi looping dari angka 1 ke 31, x adalah i+1 karena track pertama biasanya adalah menu-nya jadi ga perlu kita rip
setelah selesai, keluar dari vi, dan beri otorisasi execute ke file ripdvd
chmod +x ripdvdkemudian jalankan
./ripdvdselesai deh .. tinggal duduk manis nunggu kelar prosesnya hueheuheue, tapi perlu diingat bhw ga semua track itu dipake jadi ya teteup musti seleksi ulang. yang belum nemu adalah cara lgsg kasi nama file audionya heuheuheue
diambil dari beberapa sumber dan beberapa modifikasi :
1. http://ubuntuforums.org/showthread.php?t=330856
2. man transcode
3. simple bash programming
2009-05-11
php konek MS SQL Server? kenapa tidak?
kalo apache+phpnya ada di windows, proses gampang banget. tinggal hapus ";" di php5.ini tepat pas di php_mssql.dll, restart apache, selesei.
kalo dari linux box agak ribet, musti install php-pear, freetds dsb. berikut urut2annya:
1. Download FreeTDS dari http://www.freetds.org/
2. extract dan install
# tar zxvf freetds-stable.tgz3. Install php-pear, php-sybase, php5-dev
# cd freetds-0.82/ <-- versi gw, trgantung dari donlodan # ./configure --prefix=/usr/local/freetds # make # $ make install
seperti biasa, ada cara mudah dan cara susah, cara mudahnya seperti ini :
apt-get install php5-sybase php-pear php5-devcara susahnya :P, seperti ini :
masuk ke direktori installer php, ketik :
#./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-mssql=/usr/local/freetds/
di pcku ada masalah pada waktu konfigurasi, dia mengeluarkan error :
configure: error: Directory /usr/local/freetds/bin is not a FreeTDSapabila ada error seperti ini, yg harus dilakukan adalah copy 2 file (tds.h & libtds.a) dari hasil extract-an freetds-stable.tgz (di pc gw di direktori : /home/detanto/Desktop/freetds-0.82) :
cp /home/detanto/Desktop/freetds-0.82/include/tds.h /usr/local/freetds/includesetelah proses copy selesai, configure lagi dan lanjutkan ke make & make install
cp /home/detanto/Desktop/freetds-0.82/src/tds/.libs/libtds.a /usr/local/freetds/lib
#make4. edit file freedts.conf yang ada di /usr/local/freetds/etc
# make install
vi /usr/local/freetdstrus beri konfigurasi sql server yang akan kita hubungi
[SQLsystem]5. testing dari php, buat file test.php, trus masukkan kode ini :
host =10.1.2.7
port = 1433
tds version = 7.0
putenv('TDSVER=80');
putenv('FREETDSCONF=/usr/local/freetds/etc/freetds.conf');
$db_conn = mssql_connect("SQLsystem","detanto","112233")
or die( "ERROR: DB Connection failed" );
$sqldb=mssql_select_db("ITEMMASTER",$db_conn);
$sql="SELECT top 10 PRODUCT_NAME,ITEM_IMAGE1 FROM TB_ITEM_MASTER WHERE ITEM_IMAGE1 IS NOT NULL";
$tbl_item=mssql_query($sql);
while($row=mssql_fetch_array($tbl_item))
{
echo $row['PRODUCT_NAME']."\n";
mssql_close($db_conn)
6. Restart apache dan buka file test.phpKalo kode ini berhasil, brarti dah sukses dah :D
2009-05-03
setting sharing internet isp fastnet di linux
setelah bberapa mggu lalu donlod debian lenny, dan udah diinstall kumplit dengan gnome-nya dan mau nggarap ruter tapi ga sempat2, hari ini akhirnya disempetin settingnya. cman makan waktu 15 minit untuk setting jadi router dan dhcpnya .. cepet ya? lha emang gampang soalnya kekekekeke
ada beberapa jalan untuk njadiin ruter; cara gampang dan mudah. cara gampang pake paket yang udah ada, misalnya shorewall; cara yang riweh pake iptables.
coba yang riweh dulu ye..
dari awal deh, install sperti biasa; trus apt-get install sudo supaya ga perlu su - kalo mau ngelakuin apa2.
setelah apt-get install; ketik visudo kmudian di baris trakhir kasi user kita; misalnya :
detanto ALL=(ALL) ALLinstalasi sudo udah selesai, mari kita lanjutin dengan setting ruternya.
Konfigurasi di rumah adalah seperti ini :
internet--fastnet--modem--(eth1)->PC->(eth0)--wireless access point--client
Syarat buat pc jelas NIC-nya harus 2. satu buat external (eth1), satu buat internal (eth0).
ga ngaruh eth0 ato eth1-nya. yang penting satu NIC buat kabel dari modem/internet, yang satunya buat ke jaringan internal, di pcku konfigurasinya kaya gitu :D
pertama2 setting kedua NIC ini, di debian edit file interface di /etc/network
vi /etc/network/interfacesIP dari fastnet didapat dari server DHCP mereka, jadi eth1 akan diset ke dhcp; sementara eth0 akan diberikan ip fix di range 10.0.0.xxx supaya sama dengan kantorku sekarang. selain itu harus dirubah juga mac address dari eth1 supaya ga usah telpon fastnet untuk nge-flush networkku. fyi firstmedia ngeblok koneksi dari mac address jaringan yang nyambung ke jaringan mereka. umpama sekarang yang kehubung ke internet mereka mac-nya adalah : 00:23:f8:d8:5d:89. kmudian bberapa jam kmudian ada komputer kita yg lain dengan mac address 09:17:e3:d7:94:7f pengen konek ke internet. kalo cuman kita sambungin lgsg ke modem, ini ga akan bisa! dari pengalaman, musti dimatiin dulu modemnya skitar .5 jam ato kalo ga telpon CS-nya firstmedia untuk nge-flush modem kita. wahh males bgt kekekeke ..
di windows, bisa diakalin dengan donlod dulu software namanya macchanger (search di google aja, aku lupa alamatnya). dengan software ini kita bisa ngubah mac address kita dengan membuat batch atau lgsg pake commandnya. misal :
macchanger "Local Area Connection" 00:23:f8:d8:5d:89dengan perintah ini mac address dari NIC yang mempunyai nama "Local Area Connection akan berubah mnjadi angka tersebut. di debian/ubuntu ato sodara2nya. kita ga perlu install apa2 tinggal kita masukkan di /etc/network/interfaces
setelah itu ketik :
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug eth0
iface eth0 inet static
address 10.0.0.1
netmask 255.255.255.0
network 10.0.0.0
broadcast 10.0.0.255
gateway 10.0.0.1
auto eth1
iface eth1 inet dhcp
hwaddress ether 00:23:f8:d8:5d:89
echo “1” > /proc/sys/net/ipv4/ip_forwardcommand diatas supaya value ip_forward menjadi 1(true), ato komputer ini boleh melakukan ip forwarding
Kemudian ketik :
iptables – t nat –A POSTROUTING –d 0/0 –o eth1 –j MASQUERADEprintah ini memberitahukan menambahkan rules di table nat bhw paket jaringan setelah di routing, untuk tujuan mana saja (-d 0/0, -d adalah destination) dari eth1 (-o eth1) agar di rubah ipnya menjadi ip external server. jadi; klien atau komputer yang melalui router ini, ketika melakukan akses ke internet akan dikenal/menggunakan IP external yang dimiliki router.
setelah selesai, kita coba klien konek ke AP dengan konfigurasi :
ip : 10.0.0.2 // ip tdk boleh sama
subnet : 255.255.255.0 // subnet hrs sama dgn server
gateway : 10.0.0.1 // ip router
DNS 1 : 202.73.99.8 // fastnet
DNS 2 : 61.247.0.8 // fastnet
seharusnya klien bisa lgsg konek ke internet. ada satu masalah : masa iya musti setting manual tiap kali ada klien/komputer lain konek ke hotspot kita? wah repot dong. masalah ini bs diseleseiken dengan memasang dhcp server di router kita, karena udah pernah aku posting, tinggal dilanjutken aja bacanya ke sini http://nyemplunglinux.blogspot.com/2008/12/dhcp-dynamic-host-control-protocol.htmlsetelah setting selesei smua, tinggal konek bareng2 deh :D
2009-03-27
subversion server di debian, tortoiseSVN sbg client di windows
ubuntu, debian:
apt-get install subversionDulu aku kira ini cuman bs dipake di bahasa pemrograman tertentu, trnyata bisa untuk semuanya (jadi malu :P) .. Jadi critanya di kantor gw, krn developernya kluar masuk jd susah mantau versi terbaru dari aplikasi.
berikut diterjemahin dari svn-book, hasil browsing2 di internet dan share pengalaman.
Apakah subversion itu?
subversion : sistem tersentralisasi untuk share informasi.
intinya adalah repositori yang merupakan pusat dari data. repositori ini sebetulnya mirip dengan file-server, bedanya ia mengingat setiap perubahan yang terjadi di file dan folder tersebut.
di bukunya dijelasin kasus yg sering banget terjadi di kantorku baik sekarang maupun dulu, yaitu mengerjakan satu project yang sama beramai-ramai dengan source code terpusat di server, rese bgt kalo kita ngerjain ABCDE tiba user numpukin dengan EFGH, hangus lah kerjaan kita .. hiks2. misalnya :

ada 2 user, harry dan sally. mereka bertugas untuk mengerjakan project yang sama sehingga mereka mengakses ke repository yang sama. harry & sally mengedit project A, harry merubah menjadi A' dan sally menjadi A'', asumsi harry melakukan proses penyimpanan terlebih dahulu, sehingga project A sekarang menjadi project A'. baru setelah itu sally melakukan penyimpanan. nah pada proses ini ada kemungkinan sally menumpuk atau menimpa pekerjaan harry dengan pekerjaannya.
kalo yang diatas menggunakan metode file sharing, subversion menggunakan metode solusi copy-modify-merge.
detail kasus persis seperti yang dicontohkan diatas, cuman sekarang menggunakan subversion. harry merubah project menjadi A' dan sally merubah menjadi A'', sementara sally sudah menyimpan ke server (commit) terlebih dahulu. ketika harry melakukan penyimpanan ke repository, harry akan mendapat mesej error bahwa modul dia tidak update (karena versioning terakhir adalah sally).
harry harus melakukan checkout file2 ke repository, setelah proses checkout selesai, baru harry bisa melakukan perubahan dan commit ke repository. lha tapi gimana kalo harry dan sally melakukan edit di file yang sama? wew tetep bisa. subversion mengistilahkan ini dengan conflict. confilct dapat diresolve dengan membandingkan file yang di repository dan file yang ada di komputer harry. bisa dicek satu2 perbedaannya baru kemudian di-merge.
hal ini sangat memudahkan, karena kalo dulu pasti ada proses teriak2an dulu kalo lagi arisan koding di kantor hehhehehehehe
Langkah2 settingnya:
1. buat direktori subversion, misal ada di /var/svn/baru/usermng
mkdir -p /var/svn/baru/usermng2. buat subversionnya :
sudo svnadmin create /var/svn/baru/usermng3. import data yang akan dipantau
sudo svn import /opt/coding/usermanaj file://var/svn/baru/usermng -m "Aplikasi Subversion"4. Setting apache
a. Cara Mudah :
apt-get install apache2 libapache2-svnb.Cara Susah :
menyusul5. Edit Konfigurasi apache svn yang ada di /etc/apache2/mods-available/dav_svn.conf (<-- lokasi ini kalo instalasi apache liwat apt-get)
6. Ubah kepemilikan folder aplikasi jadi milik si apacheDAV svn <-- untuk enabling repository #SVNParentPath /var/svn/ baru/usermng<-- Path Repository untuk handling multiple svn SVNPath /var/svn/aplikasi/ baru/usermng<-- Path Repository AuthType Basic AuthName "Aplikasi Subversion" <-- Keterangan AuthUserFile /var/svn/passwd <-- Password file Require valid-user
chown -R www-data: /var/svn/aplikasi7. Buat password file :
httpasswd -c /var/svn/passwd detanto
Untuk clientnya, misalnya di windows; musti install tortoiseSVN yang bisa diunduh di http://tortoisesvn.tigris.org/, letak versi terbaru pada saat blog ini ditulis ada disini, filenya mayan besar; sekitar 19MB.
setelah diinstall, setiap kita klik kanan akan muncul 2 shortcut baru, SVN Checkout dan TortoiseSVN beserta link2nya.
Contoh Penerapan :
1. dari contoh diatas, kita sudah membuat satu repository untuk source code user manajemen (usermng). Misal kita buat satu folder baru "User", kita klik kanan trus pilih SVN Checkout (kalo gambarnya kurang jelas, tinggal diklik aja)

2. Akan muncul dialog box seperti dibawah ini :
masukkan url repository-nya; misalnya http://10.1.2.7/svn/usermng, setelah klik ok, akan muncul permintaan untuk memasukkan user dan password, masukkan user yang telah dicreate seperti contoh diatas :
apabila otorisasi berhasil, tortoiseSVN ini akan langsung memeriksa ke repository server semua filenya. apabila di folder kita blum ada maka akan diupdate ke folder tersebut :
setelah proses selesei, bila dilihat di windows explorer tampilannya akan seperti ini
tortoiseSVN akan menambahkan tanda di icon folder atau file, tanda cawang hijau brarti source yang disini source yg tidak mengalami konflik, atau subversion statusnya normal.Pertanyaannya : ada ga subversion buwat database? gw blun tau, bahkan blun googling jugak heheheheheehe, paling gampang si semua aktivitas database didokumentasiin ke script trus folder script itu di register ke subversion, selesei :D
2008-12-24
DHCP (Dynamic Host Control Protocol) Server di etch
apt-get install dhcp3-server
Konfigurasi ada di /etc/dhcp3/dhcpd.conf
Asumsi kondisi kantorku adalah
- Network 10.0.0.0, subnet 255.255.255.0, broadcast address 10.0.0.255
- gateway ke internet 10.0.0.1
- dns server ada di local ip 10.1.2.2, tapi di forward ke Indosat
- IP yang disiapin buat dhcp : 10.0.0.180 - 10.0.0.200
cp /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf.backup
Trus kita kosongin isi dhcpd.confnya :
cat /dev/null > /etc/dhcp3/dhcpd.conf
trus diisi :
ddns-update-style none;Konfigurasi ringan tapi cukuplah buat bikin dhcp server
# ddns-update-style:
# kita bisa memerintahkan dhcp server untuk merubah ip dns server dari server yang di jaringan kalo
# server diassigned dari dhcp. karena ip dns static, ya dibikin none saja, jd DNS records tidak diupdate
option domain-name-servers 10.1.2.2;
# option domain-name-servers :
# memberitahukan dhcp server bahwa ip dns yang dialokasikan untuk client adalah ip 10.1.2.2,
# bisa ditambahi dengan koma
default-lease-time 86400;
max-lease-time 604800;
# default-lease-time, max-lease-time:
# client dapat mendefinisikan berapa lama waktu untuk client mendapatkan ip address,
# apabila tidak ada definisi dari client, maka server akan memberikan waktu default-lease-time,
# apabila iya server akan menggunakan waktu definisi tsb dari client tapi maksimal sesuai dengan
# max-lease-time
authoritative;
# authoritative:
# kalau ini tidak di-set, berarti kalau ada client meminta alamat yang server tidak tahu dan alamat
# tersebut tidak benar untuk segmen jaringan tersebut, maka server tidak akan mengirim DHCPNAK (yang
# memberitahukan supaya client tidak diperbolehkan memakai alamat itu)
subnet 10.0.0.0 netmask 255.255.255.0 {
range 10.0.0.180 10.0.0.200;
option subnet-mask 255.255.255.0;
option broadcast-address 10.0.0.255;
option routers 10.0.0.1;
}
#subnet : subnet yang digunakan
#netmask : subnet mask yang digunakan
#range : range yang akan diberikan oleh server
#option broadcast-address : alamat broadcast jaringan
#option routers : ip gateway di jaringan
sekarang kita restart service dhcpnya :
/etc/init.d/dhcp3-server restart
Stopping DHCP server: dhcpd3.
Starting DHCP server: dhcpd3.
Untuk meriksanya :
ps aux | grep dhcp
root 3904 0.0 0.0 2616 768 ? Ss 22:06 0:00 /usr/sbin/dhcpd3 -q
netstat -uap
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
udp 0 0 *:32768 *:* 2495/rpc.statd
udp 0 0 *:10000 *:* 2558/perl
udp 0 0 *:bootps *:* 3904/dhcpd3
udp 0 0 *:975 *:* 2495/rpc.statd
udp 0 0 *:sunrpc *:* 1969/portmap
Untuk memeriksa error gunakan command tail :
tail -n 100 /var/log/syslog
DHCP server akan menulis semua IP yang di-lease ke /var/lib/dhcp3/dhcpd.leases
untuk melihatnya tinggal di vi .. selesei
(disadur dari http://www.howtoforge.com/dhcp_server_linux_debian_sarge)
PS : kalau mau membuat fix IP untuk mac address tertentu, kita tambahkan beberapa baris di dhcpd.conf, host --> nama host, hardware ethernet --> mac address, fixed-address --> ip address fixnya, selengkapnya :
host detanto
{
hardware ethernet 32:a0:4c:db:2c:67;
fixed-address 10.0.0.249;
}
2008-04-22
Setup IM server dengan JABBERD
ketik
sudo apt-get install jabberd
otomatis terinstall, tinggal install clientnya ...
download pandion (Jabber client) http://www.pandion.be/download/
Kemudian konfigurasi clientnya sesuai petunjuk.
Jika mau konfigurasi lebih expert tinggal menggunakan
sudo apt-get install ejabberd
dengan ejabberd dapat mengkonfigurasi Buddies , dll didalam Postgresql, Mysql,
atau SQLlite. sayang gua belum research terlalu jauh.
Alamat Repository Debian Etch lokal
Repo.ugm.ac.id
deb http://repo.ugm.ac.id/debian/ stable main contrib non-free
Kambing.ui.edu
deb http://kambing.ui.edu/debian etch main contrib non-free
deb http://kambing.ui.edu/debian etch/volatile main contrib non-free
deb http://kambing.ui.edu/debian-security etch/updates main contrib non-free
mirror.its.ac.id
deb http://mirror.its.ac.id/debian etch main non-free contrib
deb http://mirror.its.ac.id/debian stable-proposed-updates main non-free contrib
deb http://mirror.its.ac.id/debian-security etch/updates main non-free contrib
komo.vlsm.org
deb http://komo.vlsm.org/debian etch main non-free contrib
deb http://komo.vlsm.org/debian etch-proposed-updates main non-free contrib
debian.indika.net.id
deb http://debian.indika.net.id/debian etch main non-free contrib
deb http://debian.indika.net.id/debian etch-proposed-updates main non-free contrib
ftp://ftp.itb.ac.id
deb ftp://ftp.itb.ac.id/pub/debian etch main non-free contrib
deb ftp://ftp.itb.ac.id/pub/debian etch-proposed-updates main non-free contrib
taken from http://yodi.web.ugm.ac.id/linux/update-repository-ubuntu-debian-dari-internet/
shortcut to setup SAMBA PDC
kebo.vlsm.org
debian.indika.net.id
Configurasi di Client
Di Network Setting pilih Domain
masukan username = root
passwd : smbadmin
Configurasi di Server
buat direktori sesuat smb.conf
cd /Home
mkdir /home/samba /home/samba/profiles
mkdir /home/netlogon
mkdir /windows /windows/datasharing
chown -R root.admins /datasharing - Masukan Datasharing dalam group admins
chmod -R 0775 /datasharing - merubah file data sharing agar tidak readOnly
chmod -R 0755 /datasharing - merubah file data sharing agar tidak readOnly (hanya read)
copy file netlogon.bat pada linuxer ke /home/netlogon samba dengan menggunakan
Setup user dan komputer
groupadd machines
groupadd admins
Add Machine
useradd -g machines -s /bin/false -d /dev/null -c "SR004" SR004$
smbpasswd -a -m SR004
Add User
useradd -g admins komar
smbpasswd -a komar
Check konfigurasi
testparm // cek error seting webmin
Setup Konfigurasi Di XP
Komputer Client
1. Administratif Tool
- Local Security Policy
-- Security Option
+ Domain Member : Digitally (disable)
+ Domain Member : Digitally (disable)
+ Domain Member : Digitally (disable)