Tampilkan postingan dengan label debian. Tampilkan semua postingan
Tampilkan postingan dengan label debian. Tampilkan semua postingan

2013-03-20

Install OpenERP via apt-get

Edit   /etc/apt/source.list


sudo nano /etc/apt/source.list 

Tambahkan baris deb http://nightly.openerp.com/7.0/nightly/deb/ ./

simpan kemudian jalankan 

sudo apt-get update 
sudo apt-get install openerp 



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 

authorized_keys

 

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

Lanjutan posting sebelumnya ... sekarang gua mau nambahkan OpenFire di Server IredMail gua ..  
Untuk debian Lenny ada sedikit tricky ... setelah install openfire.deb  .. install patchnya, bisa didapet disini  http://steffenzieger.de/index.php/2009/03/25/install-openfire-on-debian-lenny/

Di IredMail .. semua port kecuali email di blok... untuk aktifin XMPP tinggal edit di 
    sudo nano /etc/default/iptables

Unremark yang xmpp .. dan tambahin port 9090 (Untuk openfire Admin)
Setelah selesai , install plugin export/importnya .. kemudian tinggal nambahin user dan buddy list di openfire

caranya :
 
gua siapin data usernya nya dulu (ambil dari CSV untuk import ke IredMail). gua masukkin ke postgreSQL database  untuk manipulasi datanya. 
 
gua create database  dengan nama User_export_temp

create database user_export_temp;
create table export_user();
alter table  export_user add column domain_name varchar(30);
alter table  export_user add column usercode  varchar(30);
alter table  export_user add column userpassword varchar(30);
alter table  export_user add column username  varchar(30);
alter table  export_user add column groupuser varchar(30); 
/* Insert data dari CSV yang udah gua modif sesuai table diatas */

copy user_export_temp from '/home/yoshizuki/myUser.csv' csv;  

kemudian gua create python script untuk retrieve data tersebut kemudian diproses sesuai dengan template import user dari Openfire. Untuk buddy list gua asumsikan semua user yang ada saling terhubung dan dipisahin berdasarkan group bagian aja.

#!/usr/bin/python

import psycopg2, sys,os

outp = file("user.xml","w")

conn = psycopg2.connect("\
dbname='testing'\
user='postgres'\
host='localhost'\
password='postgres' ");
d = conn.cursor()
d.execute (" select a.usercode , \
a.userpasswd,\
a.username ,\
a.usercode || '@' || a.domain_name \
    from tmp_data as a \
    order by a.usercode ")

c = conn.cursor()

records = d.fetchall()
outp.write ("<?xml version='1.0' encoding='UTF-8'?>\n")
outp.write ("<Openfire>\n")

for record in records:
        outp.write("\n<User>")
        outp.write("<Username>" +  record[0] +"</Username><Password/>\n")
        outp.write("<Email>" +  record[3] + "</Email>\n")
        outp.write("<Name>" +  record[2] + "</Name>\n")
        outp.write("<CreationDate>1277954250096</CreationDate>\n")
        outp.write("<ModifiedDate>1277954250096</ModifiedDate>\n")
        outp.write("<Roster>\n")
        
        c.execute("select a.usercode , \
   a.userpasswd, \
            a.username , \
            a.usercode || '@' || a.domainname , \
            b.usercode || '@' || b.domainname , \
            b.username , \
            b.groupname  \
            from export_user as a \
            inner join export_user as b on a.usercode <> b.usercode \
            where a.usercode = '%s' \
            order by a.usercode , b.usercode      " %record[0])
        records2 = c.fetchall()
        for record2 in records2:
            outp.write ('<Item jid="' + record2[4] + '"  askstatus="-1" recvstatus="-1" substatus="3" name="'+ record2[5] + '" >\n')
            outp.write ('<Group>' + record2[6] + '</Group></Item>\n')   
        outp.write("</Roster>\n")
        outp.write("</User>")
outp.write ("</Openfire>\n")        
outp.close()

script ini akan menghasilkan file user.xml, nah file ini yang akan gua upload melalui plugin import user di Openfire..

restart openfire 
sudo /etc/init.d/openfire restart

selesai... semua user  sudah terhubung lewat email dan XMPP ... 

 


IredMail --> import user via CSV

Di IredMail ada fasilitas import user dengan format csv...  templatenya  sebagai berikut

[domain name],[user name], [password],[common name], [quota] , [group]

Untuk  [quota] satuannya dalam byte .... 

Daftar usernya kebetulan  ada di zimbra server gua, tinggal gua query lewat OpenOffice.base untuk selanjutnya dicopy  ke OpenOffice.calc dan disave kedalam CSV .. sesuai dengan template nya

install python dan komponennnya

sudo apt-get install python2.5 python-ldap

kemudian masuk ke dalam direktory iredMail/tools
buka file create_mail_user_OpenLDAP.py
sudo nano create_mail_user_OpenLDAP.py

edit BASEDN , BINDDN, dan BINDPW sesuai dengan konfigurasi IredMail yang ada

jalankan sudo python create_mail_user_OpenLDAP.py csvName.csv

nanti akan keluar file csvName.csv.ldif

masukkan file itu ke LDAP

sudo ldapadd -x -D 'cn=Manager, dc=example,dc=com' -W -f  csvName.csv.ldif  (Kalau ada user yang sama di IredMail akan keluar error)

coba cek di https://[ip server]/iredadmin

semua user harusnya sudah masuk semua di daftar user.




  

2010-02-08

Membuat Linux Live CD di FlashDisk

Bingung dengan distro Linux yang banyak banget? pengen nyobain tapi males burn ke CD? Mesti coba tools yang namanya UnetBootIn, buat bikin Flashdisk berfungsi sebagai Live CD ..
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

ada topik basi yg pasti dah pada jago.. cron :)

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
di tempat gw, cron hanya digunakan untuk backup database dan tentu saja download scheduler kekekekek karena ga etis donlod file2 gede pas jam sibuk :P

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

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
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 ..
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 :

.---------------- 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
contoh script yang gw masukkin di /etc/crontab

00 23 * * * root mysqldump --user root --password=apaya hrd > /home/detanto/backup_mysql/hrd_`date '+\%Y\%m\%d_\%H\%M\%S'`.sql
Script di atas akan melakukan script backup mysql spesifik ke database hrd tiap jam 11 malem dengan format file :
hrd_`date '+\%Y\%m\%d_\%H\%M\%S'`.sql
di 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

#!/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
simpan script ini, tambahkan permission untuk diexecute trus dipasang deh ke /etc/crontab


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

beberapa hari lalu dapet kiriman 3 DVD live-nya Mike Portnoy, Billy Sheehan, Paul Gilbert, Neil Morse dan kawan2. lagunya buwat gw muantab2, dan jadi sering diputer. mikir2 gmana caranya dari DVD ini dirip ke mp3 ato ogg ato wav ato teman2nya, biar bisa didengerin sambil sepedaan ato pake mp3 .
sudo apt-get install lsdvd transcode
setelah terinstall, ketik
lsdvd
perintah diatas digunakan untuk mencari informasi track, track terpanjang biasanya yang kita cari, contoh hasil dari lsdvd :

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
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
sudo apt-get install vorbis-tools
setelah 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"

-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
contoh implementasinya :
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 ripdvd
trus 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 ripdvd
kemudian jalankan
./ripdvd
selesai 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?

setelah sekian lama menggunakan php dan belun pernah konek ke mssql dari linux box, hari ini akhirnya mencoba dan berhasil.

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.tgz
# cd freetds-0.82/ <-- versi gw, trgantung dari donlodan # ./configure --prefix=/usr/local/freetds # make # $ make install
3. Install php-pear, php-sybase, php5-dev
seperti biasa, ada cara mudah dan cara susah, cara mudahnya seperti ini :
apt-get install php5-sybase php-pear php5-dev
cara 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 FreeTDS
apabila 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/include
cp /home/detanto/Desktop/freetds-0.82/src/tds/.libs/libtds.a /usr/local/freetds/lib
setelah proses copy selesai, configure lagi dan lanjutkan ke make & make install
#make
# make install
4. edit file freedts.conf yang ada di /usr/local/freetds/etc
vi /usr/local/freetds
trus beri konfigurasi sql server yang akan kita hubungi
[SQLsystem]
host =10.1.2.7
port = 1433
tds version = 7.0
5. testing dari php, buat file test.php, trus masukkan kode ini :
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.php

Kalo kode ini berhasil, brarti dah sukses dah :D

2009-05-03

setting sharing internet isp fastnet di linux

di rumah internet pake fastnet dari firstmedia yg 130rebuan.. sebelumnya aku share internet pake windows, baik2 aja sih .. g pernah masalah juga wong client-nya cman 2, maksimal 4 hehehhe. cman kurang asoy aja dan dhcp-nya kadang idup kadang engga, jadilah mutusin mau pake linux aja.

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) ALL
instalasi 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/interfaces
IP 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:89
dengan 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

# 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
setelah itu ketik :
echo “1” > /proc/sys/net/ipv4/ip_forward
command 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 MASQUERADE
printah 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
Tautanseharusnya 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.html

setelah setting selesei smua, tinggal konek bareng2 deh :D

2009-03-27

subversion server di debian, tortoiseSVN sbg client di windows

lagi nyari solusi untuk kolaborasi source code dengan rekan satu team. dari saran ifnu, aku coba pake subversion (http://subversion.tigris.org), untuk instalasi windows tinggal donlod versi windowsnya dan install bla2 selese.

ubuntu, debian:
apt-get install subversion
Dulu 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/usermng
2. buat subversionnya :
sudo svnadmin create /var/svn/baru/usermng
3. 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-svn
b.Cara Susah :
menyusul
5. Edit Konfigurasi apache svn yang ada di /etc/apache2/mods-available/dav_svn.conf (<-- lokasi ini kalo instalasi apache liwat apt-get)
DAV 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 
6. Ubah kepemilikan folder aplikasi jadi milik si apache
chown -R www-data: /var/svn/aplikasi
7. 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

DHCP installnya gampang banget, tinggal apt-get selesei :P;

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
Pertama backup dulu konfigurasinya :

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;
# 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
Konfigurasi ringan tapi cukuplah buat bikin dhcp server
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

Yang paling simple menggunakan jabberd, sudah ada di Repo Debian / Ubuntu dll..
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

Buat catatan aje

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

repo Debian di Indonesia

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)