Kamis, 18 November 2010

Membangun SMS Gateway sederhana


Article and  tutorial that related to Linux Operating System
Pernahkah anda diharuskan oleh perusahaan tempat anda bekerja untuk mengirimkan SMS dengan pesan yang sama ke kurang lebih 700 customer. Hal ini penulis alami dalam suatu kesempatan di tempat kerja. Tentu tidaklah efisien jika mesti mengetik satu satu pesan SMS untuk dikirimkan ke customer kita.

Dengan perkembangan teknologi yang semakin canggih, sangat membantu kita dalam mengatasi permasalahan diatas. SMS Gateway merupakan alat bantu yang ideal diterapkan untuk menghadapi permasalahan tersebut. SMS Gateway yang penulis pakai masih merupakan metode yang sangat sederhana dikarenakan keterbatasan dana untuk melakukan riset / percobaan.

Siapkan alat-alat sebagai berikut:
1. PC dengan OS Linux
2. gnokii (http://www.gnokii.org) & playsms (http://playsms.sourceforge.net)
3. Kabel Data
4. Handphone Nokia/Siemens/Ericsson/dll... yang kompatible dengan gnokii (penulis memakai HP bermerk Siemens S35i)

Disini penulis hanya menjelaskan secara garis besar instalasi di sisi OS nya, sedangkan pengembangan aplikasi playsms sehingga untuk dipergunakan secara efisien hingga +/- 700 customer ataupun proses instalasi kabel data tidak disertakan. Sebagian besar proses instalasi merupakan karya Anton (pembuat playsms.sourceforge.net) penulis hanya menambahkan bagian yang sesuai dengan penulis kerjakan.

Instalasi playsms (Aplikasi Web Interfais untuk sms gateway - gnokii)
1. Tambahkan user "playsms" untuk memanajemen PlaySMS
2. Buat public_html di home direktori playsms
3. Ekstrak source playsms di suatu tempat yang anda inginkan, dan salin direktori web ke public_html
4. Pastikan mode dari config_playsms.php dapat ditulis oleh user playsms
# chmod 666 /home/playsms/public_html/config_playsms.php
5. Buat database playsms, playsms dapat menggunakan banyak database karena telah mengimplemetasikan PEAR, penulis menggunakan MySQL dalam artikel ini.
# mysqladmin -u root -p create playsms
# mysql -u root -p playsms < /letak/ekstrak/playsms/db/playsms.sql
6. Edit config.php pada direktori web playsms.
7. Browse http://localhost/~playsms/ login dengan autentifikasi:
user : admin
password : admin

Instalasi gnokii:
1. Ekstrak gnokii sesuai keinginan anda.
2. Lakukan kompilasi seperti berikut ini:
# ./configure --prefix=/usr/local
# groupadd gnokii
# make
# make install-suid
3. Sekarang kita kompilasi smsd
# cd smsd
# make
# make libfile.so (gnokii 0.5.7 kebawah) atau # make libfile.la (gnokii 0.6.0)
# make install
4. Salin file konfigurasi gnokii ke /etc
# cd Docs/sample
# cp gnokiirc /etc/
5. Kita kembali ke tempat kita mengekstrak source playsms, dan kita salin semu a file di direktori bin ke /usr/local/bin/
# cp /path/ekstrak/playsms/bin/* /usr/local/bin/
6. Buat log dari playsms
# mkdir -p /usr/local/cache/smsd
# mkdir -p /usr/local/cache/logs
# touch /usr/local/cache/logs/smsd_logs
# chmod 777 /usr/local/cache -R
7. Jalankan crond untuk menjalankan daemon.php setiap menitnya
Contoh konfigurasi crond nya adalah sebagai berikut:
* * * * * lynx -dump http://localhost/~playsms/daemon.php 2> /dev/null
*/16 * * * * /usr/local/bin/smsd_start 2> /dev/null

Semoga berhasil, ati-ati dengan pulsa anda hehehe :p

Catatan jika anda menggunakan siemens maka set model HP menjadi AT pada gnoki irc anda.

Credit:
README dari playsms.sourceforge.net

sumber : http://www.rcayadi.web.id/news/2004/04/04/Membangun_SMS_Gateway_sederhana

Rabu, 03 November 2010

Menambah Partisi Hardisk di Ubuntu

Posted by poenyagua on July 24, 2009

68176-ubuntux__michel_grimard_2007Beberapa waktu lalu timbul permasalahan untuk menambah storage pada cctv server. Sedangkan sistem Linux yang telah terinstall bearada pada harddisk yang gak terlalu besar, hanya 80Gb. Untuk menambah storage yang lebih besar, terpaksa menambah 1 hardisk baru, dari pada install ulang dan rekonfigurasi lagi :D .

Untuk menambah partisi hardisk dalam linux (yang kebetulan tu linux isinya ubuntu server 8.10.), gw ambil langkah-langkah seperti ini :

Kondisi awal = 1 hardisk 80G di gunakan untuk sistem dan 1 hardisk 250G digunakan untuk khusus storage.

1. Shut down komputer kemudian Masukan hardisk baru kedalamnya.

2. Booting kembali komputernya, seperti biasa login dengan super user root.

3. Setelah masuk pada sistem kita check hardisk semua

root@kurniacctv:~# fdisk -l

Disk /dev/sda: 80.0 GB, 80026361856 bytes

255 heads, 63 sectors/track, 9729 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Disk identifier: 0xbf16bf16

Device Boot Start End Blocks Id System

/dev/sda1 * 1 9400 75505468+ 83 Linux

/dev/sda2 9401 9729 2642692+ 5 Extended

/dev/sda5 9401 9729 2642661 82 Linux swap / Solaris

Disk /dev/sdb: 250.0 GB, 250059350016 bytes

255 heads, 63 sectors/track, 30401 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Disk identifier: 0×00000000

Disk /dev/sdb doesn’t contain a valid partition table

dari sini bisa dilihat bahwa terdeteksi 2 hardisk

a. Disk /dev/sda: 80.0 GB ==> dimana /dev/sda sudah terdapat partisi-partisi yang sudah terformat.

b. Disk /dev/sdb: 250.0 GB ==> dimana /dev/sdb sama sekali belum terpartisi (ceritanya hardisk baru hehehe..)

4. Partisi hardisk baru

root@kurniacctv~# fdisk /dev/sdb

Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel

Building a new DOS disklabel with disk identifier 0x1881aaf3.

Changes will remain in memory only, until you decide to write them.

After that, of course, the previous content won’t be recoverable.

The number of cylinders for this disk is set to 30401.

There is nothing wrong with that, but this is larger than 1024,

and could in certain setups cause problems with:

1) software that runs at boot time (e.g., old versions of LILO)

2) booting and partitioning software from other OSs

(e.g., DOS FDISK, OS/2 FDISK)

Warning: invalid flag 0×0000 of partition table 4 will be corrected by w(rite)

Command (m for help):

pada baris terakhir “Command (m for help):” tekan tombol m untuk mengetahui perintah-perintah yang disediakan

Command (m for help): m

Command action

a toggle a bootable flag

b edit bsd disklabel

c toggle the dos compatibility flag

d delete a partition

l list known partition types

m print this menu

n add a new partition

o create a new empty DOS partition table

p print the partition table

q quit without saving changes

s create a new empty Sun disklabel

t change a partition’s system id

u change display/entry units

v verify the partition table

w write table to disk and exit

x extra functionality (experts only)

Command (m for help):

Kalau kita lihat diatas ada beberapa action yang kita bisa lakukan. Kita bisa lakukan hapus partisi dengan menekan ‘d’, apabila hardisk target mempunya partisi didalamnya. Atau kita juga bisa menambah partisi baru pada hardisk tersebut dengan menekan ‘n’ dan beberapa lainnya. Cuma tinggal di translate dikit hehehe…

ok kembali ke tujuan, untuk menambah partisi pada hardisk target, kita tekan ‘n’ kemudian akan muncul 2 pilihan perintah baru.

a. apakah kita ingin partisi tersebut masuk pada extended partisi (tekan ‘e’)

b. apakah kita ingin partisi tersebut masuk pada primary partisi (tekan ‘p’)

karena kondisi diatas, gw partisi hardisk target masuk pada primary partisi dengan menekan ‘p’

Command (m for help): n

Command action

e extended

p primary partition (1-4)

p ==> keluaran input

Selected partition 1

First cylinder (1-30400, default 1): 1

Last cylinder, +cylinders or +size{K,M,G} (1-10498, default 10498):

Using default value 10498

Command (m for help):

setelah melakukan paritsi, kita lakukan perubahan partisi hardisk target pada hardisk tersebut dengan menekan tombol ‘w’. Setelah itu kita reboot komputernya.

Command (m for help): w

The partition table has been altered!

Calling ioctl() to re-read partition table.

Syncing disks.

root@kurniacctv:~#reboot

5. Format partisi baru pada hardisk target

Setelah dilakukan reboot, login kembali dengan super user root, kemudian cek hasil partisi yang sudah kita lakukan.

root@kurniacctv:~# fdisk -l

Disk /dev/sda: 80.0 GB, 80026361856 bytes

255 heads, 63 sectors/track, 9729 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Disk identifier: 0xbf16bf16

Device Boot Start End Blocks Id System

/dev/sda1 * 1 9400 75505468+ 83 Linux

/dev/sda2 9401 9729 2642692+ 5 Extended

/dev/sda5 9401 9729 2642661 82 Linux swap / Solaris

Disk /dev/sdb: 250.0 GB, 250059350016 bytes

255 heads, 63 sectors/track, 30401 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Disk identifier: 0x1881aaf3

Device Boot Start End Blocks Id System

/dev/sdb1 1 30401 244196001 83 Linux

Dari sini kita bisa lihat, hardisk target (Disk /dev/sdb: 250.0 GB) sudah terpartisi dan membuat partisi tersebut pada /dev/sdb1. Kemudian kita format partisi tersebut, untuk memformat kita bisa memilih format hardisk dalam bentuk seperti yang kita butuhkan seperti ext2, ext3, ext4 dll. Dikarenakan kondisi file system diatas adalah ext3, Jadi kita format /dev/sdb1 menjadi ext3.

root@kurniacctv:~# mkfs.ext3 /dev/sdb1

mke2fs 1.41.3 (12-Oct-2008)

Filesystem label=

OS type: Linux

Block size=4096 (log=2)

Fragment size=4096 (log=2)

15269888 inodes, 61049000 blocks

3052450 blocks (5.00%) reserved for the super user

First data block=0

Maximum filesystem blocks=0

1864 block groups

32768 blocks per group, 32768 fragments per group

8192 inodes per group

Superblock backups stored on blocks:

32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,

4096000, 7962624, 11239424, 20480000, 23887872

Writing inode tables: done

Creating journal (32768 blocks): done

Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 36 mounts or

180 days, whichever comes first. Use tune2fs -c or -i to override.

6. mount partisi baru kedalam salah satu folder system

setelah dilakukan partisi hardisk dan di format, kita buat folder baru misalnya /cctv yang akan dijadikan target mounting /dev/sdb1, kemudian baru dah di mounting.

root@kurniacctv:~#mount -t ext3 /dev/sdb1 /cctv

Biar lebih afdol kita cek apakah hardisk yang kita partisi sudah termounting atau tidak.

root@kurniacctv:/cctv# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/sda1 71G 991M 67G 2% /

tmpfs 441M 0 441M 0% /lib/init/rw

varrun 441M 68K 441M 1% /var/run

varlock 441M 0 441M 0% /var/lock

udev 441M 2.8M 439M 1% /dev

tmpfs 441M 0 441M 0% /dev/shm

/dev/sdb1 230G 188M 218G 1% /cctv

Dari output tersebut bisa dilihat bahwa hardisk baru yang sudah terpartisi berhasil dimounting pada system.

7. Edit /etc/fstab agar automounting setiap kali sistem reboot

Agar system otomatis mounting /dev/sdb1, maka edit file /etc/fstab, kemudian tambahkan

/dev/sdb1 /cctv ext3 relatime,errors=remount-ro 0 1

save file

8. Done!!!

Kalo ada yang kurang ato salah tolong jangan sungkan2 untuk nambahin. Maklum namanya juga berdasarkan pengertian sendiri dari hasil coba2 yang sudah-sudah, seperti biasa sebelum lupa dan mumpung masih inget hehehe…