SMS Gateway di linux Ubuntu

Panduan Pembuatan SMS Gateway di Linux Ubuntu
Hardware Requirement

Spesifikasi Minimum : Processor : Intel P4 1.8GHZ
RAM : 256MB
Hardisk : 80GB
Modem atau handphone kompabilitynya bisa di cek di sini
Software Requirement

Kebutuhan Paket Software :

    Linux Ubuntu
    Apache 2.x.x
    PHP 5.x.x (with mysql, session, hash, json extension)
    PHP-CLI
    MySQL 5.x.x
    Gammu
    Kalkun

Instalasi
Install LAMP

    Install package ;

    $ sudo tasksel install lamp-server

    Dalam proses instalasi akan di tanyakan untuk membuat passsword user dan password mysql

    user : root
    passwd : root

    Install PHP-CLI [penting]

    $ sudo apt-get install php5-cli

    Install PHPMYADMIN [optional]

    $ sudo apt-get install phpmyadmin

    Dalam proses instalasi akan di tanyakan passsword user dan password mysql

    user : root
    passwd : root

Install GAMMU

    Tambahkan source.list repo Gammu :

    $ sudo vim /etc/apt/sources.list.d/gammu.list

    Isikan baris berikut :

    deb http://repo.ugm.ac.id/ppa.launchpad.net/gammu lucid main

    Download gpg key gammu :

    $ wget ftp://repo.ugm.ac.id/ekstra/.ugos_tools/key_gammu

    Tambahkan gpg key gammu kedalam sistem :

    $ apt-key add key_gammu

    Update dan install aplikasi gammu dan gammu-smsd dengan perintah berikut ;

    $ sudo apt-get update
    $ sudo apt-get install gammu gammu-smsd

    Untuk melihat konfigurasi port device, gunakan perintah berikut :

    $ dmesg | grep tty
    [12321.308078] usb 5-3: GSM modem (1-port) converter now attached to ttyUSB0
    [12321.308275] usb 5-3: GSM modem (1-port) converter now attached to ttyUSB1

    Konfigurasi Gammu terlebih dahulu ;

    $ sudo gammu-config

    Maka akan keluar form berikut ;
    Isi dengan variabel seperti dibawah dan pilih Save ;

    port = /dev/ttyUSB0 # disesuaikan
    connection = at115200 # disesuaikan
    synchronizetime = yes
    logfile = /etc/gammulog
    logformat = textall
    use_locking = # isi yes jika ingin resource modem di kunci

    Konfigurasi berkas /etc/gammu-smsdrc

    [gammu]
    port = /dev/ttyUSB0 # change this
    connection = at115200 # change this

    [smsd]
    PIN = ''
    service = sql
    driver = native_mysql
    DeliveryReport = sms
    logfile = /etc/smsdlog
    debuglevel = 1 # change to 255 if you want to debug

    User = root # change this
    password = root # change this
    pc = localhost
    database = kalkun

    WARNING!! untuk menggunakan perintah gammu, matikan dulu service gammu-smsd. Pastikan dengan cara ;

    $ sudo /etc/init.d/gammu-smsd stop

    Kemudian baru bisa cek identify modem dengan perintah ;

    $ sudo gammu --identify
    Device               : /dev/ttyUSB0
    Manufacturer         : huawei
    Model                : E220 (E220)
    Firmware             : 11.117.10.02.00
    IMEI                 : 351827014879XXX
    SIM IMSI             : 510012541759XXX

    Untuk testing pengiriman SMS menggunakan perintah berikut ;

    $ gammu --sendsms text 0857257XXXXX
    Enter the message text and press Ctrl+D:
    test server
    If you want break, press Ctrl+C...
    Sending SMS 1/1....waiting for network answer..OK, message reference=3

    Untuk cek pulsa (ex.simpati) ;

    $ sudo gammu --getussd *888#
    Press Ctrl+C to break...
    USSD received
    Status : No action needed
    Service reply : “Sisa Pulsa Anda Rp.4950. Penggunaan pulsa di periode ini Rp.11150. Aktif s.d. 14/05/2011. Cari t4 menarik dsekitarmu dgn TelkomselLacak. Hub *123*55#”

    Setelah itu, jalankan service gammu-smsd untuk aplikasi kalkun ;

    $ sudo /etc/init.d/gammu-smsd start

Kalkun

Kalkun merupakan open source berbasis web SMS (Short Message Service) manajemen, itu menggunakan gammu-smsd (bagian dari keluarga gammu) sebagai mesin SMS gateway untuk menyampaikan dan mengambil pesan dari telepon / modem.
Fitur-fitur

    Memiliki lebih dari satu pengguna (Multi User).
    Tidak membaca semua SMS satu per satu benar-benar menyebalkan? Kami menggunakan Percakapan.
    Memiliki lebih dari satu telepon / modem? Beberapa modem yang tepat bagi Anda.
    Kirim SMS berulang kali dengan SMS Bomber.
    Ingin membuat SMS berbasis masyarakat? Anggota SMS akan membantu Anda.
    Ingin maju SMS ke Email?
    Tambahkan SMS Iklan untuk pesan Anda.
    Lelah mengetik SMS yang sama lagi dan lagi? Template SMS adalah yang Anda butuhkan.
    Ingin membuat program Anda sendiri tetapi tidak ingin menyentuh kode Kalkun? Script eksternal adalah solusinya.
    Mari kita menendang spammer dengan Spam Filter.
    Jawaban SMS secara otomatis dengan Autoreply Sederhana.
    Kirim SMS dari aplikasi lain menggunakan API sederhana itu.

Install Kalkun

    Download aplikasi Kalkun di sini http://sourceforge.net/projects/kalkun/files

    $ wget -c http://nchc.dl.sourceforge.net/project/kalkun/kalkun/0.3/kalkun_0.3.zip

    Buat folder web Kalkun dan ekstrak file ;

    $ sudo mkdir /var/www/kalkun
    $ sudo mv kalkun_0.3.zip /var/www/kalkun
    $ cd /var/www/kalkun/
    $ sudo unzip kalkun_0.3.zip

    Buat database kalkun

    $ mysql -u root -p
    mysql> CREATE DATABASE kalkun;
    mysql> quit

    Edit config Kalkun database di /var/www/kalkun/application/config/database.php

    $db['default']['hostname'] = "localhost";
    $db['default']['username'] = "root"; // change this
    $db['default']['password'] = "root"; // change this
    $db['default']['database'] = "kalkun"; // change this
    $db['default']['dbdriver'] = "mysql";

    Ekstrak example database struktur Gammu agar bisa di import, caranya ;

    $ sudo gunzip /usr/share/doc/gammu/examples/sql/mysql.sql.gz

    Import konfig database struktur Gammu;

    $ mysql kalkun -u root -p < /usr/share/doc/gammu/examples/sql/mysql.sql

    Konfigurasi path daemon di /var/www/kalkun/scripts/daemon.sh, menjadi dibawah ini ;

    #!/bin/sh

    # Configure this (use absolute path)
    PHP=/usr/bin/php # php cli path
    DAEMON=/var/www/kalkun/scripts/daemon.php # daemon.php path

    # Execute
    $PHP $DAEMON
    ~          

    Jangan lupa juga cek path konfigurasi /var/www/kalkun/scripts/daemon.php dibagian;

    $url = "http://localhost/kalkun";

    Buka web browser mengarah ke http://localhost/kalkun/ dan selanjutnya akan terjadi proses instalasi.
    Pada akhir instalasi ada pesan gagal untuk menghapus folder install, hapus secara manual ;

    $ sudo rm -rf /var/www/kalkun/install

    Akses http://localhost/kalkun/ kembali dengan user dan pass default user=kalkun pass=kalkun..

Troubleshooting
Startup Daemon

Untuk menjalankan daemon setiap kali komputer restart, ketik perintah berikut ;

$ sudo update-rc.d gammu-smsd defaults

Log membengkak

Agar log tidak membengkak, Berikut tahapan untuk mengatasi hal tersebut, sebaiknya anda menggunakan hak akses superuser atau root :

    Sesuaikan tempat penyimpanan berkas log, misal di /etc/smsdlog
    Membuat berkas smsdlog di /etc/logrotate.d/

    $ sudo vim /etc/logrotate.d/smsdlog

    Membuat berkas smsdlog di /etc/logrotate.d/ :

    /etc/smsdlog {
    daily
    missingok
    rotate 7
    compress
    delaycompress
    create 640 root root
    endscript
    }

    Selanjutnya membuat penjadwalan menggunakan perintah crontab :

    $ sudo su

    # crontab -e

    Isi dengan baris dibawah ini, agar daemon gammu-smsd di-restart setiap jam 06.50

    50 6 * * * /etc/init.d/gammu-smsd restart

Error database struktur

Jika dilihat kembali pesan error-nya : Database structures version: 11, SMSD current version: 12, maka sebaiknya lakukan perintah dibawah ini pada database server yang digunakan dalam hal ini adalah MySQL.

$ mysql -u root -p
mysql> UPDATE `kalkun`.`gammu` SET `Version` = '12' WHERE `gammu`.`Version` =11;
mysql> quit

Connect/Disconnect di Kalkun

Connect/Disconnect di Kalkun hanya perkiraan dari waktu terakhir gammu-smsd mengupdate aktifitas dengan waktu sekarang. Defaultnya adalah 10 menit, bisa diganti di file /var/www/kalkun/application/config/kalkun_settings.php,

$config['modem_tolerant'] = ’10′;

Beberapa mungkin yang bisa di konfig;

$config['sms_bomber'] = FALSE;
$config['enable_emoticons'] = FALSE;
$config['sms_advertise'] = FALSE;
$config['sms_advertise_message'] = "This is ads message";

Modem Tidak terdeteksi

Ketika melakukan perintah dmesg dan tidak menemukan modem terknoneksi, berikut langkah solusinya (ex. Modem Huawei e1550) ;

    Install package usb-modeswitch

    $ sudo apt-get install usb-modeswitch

    Buat rule baru untuk udev:

    $ sudo vim /etc/udev/rules.d/15-huawei-155x.rules

    Ketik dengan isian berikut :

    SUBSYSTEM=="usb",
    ATTRS{idProduct}=="1446",
    ATTRS{idVendor}=="12d1",
    RUN+="/lib/udev/modem-modeswitch --vendor 0x$attr{idVendor} --product 0x$attr{idProduct} --type option-zerocd"

    Simpan dan cabut modem dan colokkan kembali. Untuk keterangan idProduct dan idVendor dapat di temukan dari perintah berikut ;

    $ sudo lsusb -v | less
    Bus 005 Device 004: ID 12d1:1446 Huawei Technologies Co., Ltd. E220 HSDPA Modem / E270 HSDPA/HSUPA Modem
    Device Descriptor:
      bLength                18
      bDescriptorType         1
      bcdUSB               2.00
      bDeviceClass            0 (Defined at Interface level)
      bDeviceSubClass         0
      bDeviceProtocol         0
      bMaxPacketSize0        64
      idVendor               0x12d1 Huawei Technologies Co., Ltd.
      idProduct              0x1446 E220 HSDPA Modem / E270 HSDPA/HSUPA Modem
      bcdDevice            0.00
      iManufacturer           2 HUAWEI Technology
      iProduct                1 HUAWEI Mobile
      iSerial                 0
      bNumConfigurations      1

Sumber Referensi

http://back2arie.wordpress.com/
http://milisdad.blogspot.com
http://www.bobgondrong.web.id
http://wammu.eu
http://franklinchua.wordpress.com
http://back2arie.wordpress.com/import-contact
http://back2arie.wordpress.com/eksport-contact
Kalkun Wiki

posted under | 0 Comments

Setting lampp di ubuntu

 Tags: , , , ,
XAMPPIni tutorial instalasi XAMPP cara saya (di Linux jadinya LAMPP – Linux Apache Mysql PHP Perl). Kelebihannya :
  • Portabel. Anda mo ganti – ganti distro.., mo install ulang Linux anda.. Gak ngefek.
  • Edit konfigurasi lebih gampang. File berada di direktori yang dimiliki akses penuh oleh user, dan gampang diakses.
Kebutuhan pra instalasi (pre-requirement) :
- Partisi sistem operasi dan partisi tempat menyimpan data terpisah
Mengapa pakai cara ini?
Begini. Saya dulu sempat berganti – ganti distro Linux antara Ubuntu dan Debian. Belakangan saya tetap di Ubuntu. Tetapi setiap rilis Ubuntu baru, saya memilih untuk melakukan fresh install (selalu gagal dengan upgrade). Nah selama berganti – ganti distro itu, saya tetap bermain – main dengan web development. Dan sangat susah jadinya kalau LAMPP nya tidak “portabel”.
LAMPP sendiri defaultnya harus diletakkan di /opt/lampp. Ada beberapa kesulitan yang saya hadapi dengan letak direktori seperti itu.
  • File – file web berada di htdocs. Nah, saya harus mengeset permission di /opt/lampp/htdocs agar bisa diakses user. Bisa diatasi memang, dengan meletakkan htdocs di direktori lain / partisi lain, lalu dibuat symbolic links (shorcut) ke direktori tersebut. Atau dengan mengubah konfigurasi LAMPP anda.
  • Ok. Untuk folder htdocs masih bisa diatasi. Tapi setelah anda install ulang Linux anda, direktori /opt/lampp anda juga kan hilang. Eitss.. aman.. Htdocs kan sudah dibackup. Tinggal install ulang LAMPP, pasang di /opt/lampp, dan sesuaikan htdocsnya. Selesai? Belum.. Database nya bagaimana? Anda lupa backup? Ya udah.. mati aja.. Ha..ha..
  • Anda juga baru ingat, kalau ternyata anda sudah melakukan beberapa modifikasi dengan file php.ini serta httpd.conf. Weeww.. Lupa backup juga.. ? Mati lagi.. untuk kedua kalinya.. :D
Nah.. salah satu cara yang cukup aman folder /opt/lampp nya yang di symbolic links. Gini versi lengkapnya :
  1. Download LAMPP nya : http://www.apachefriends.org/en/xampp-linux.html
  2. Ekstrak filenya di partisi yang terpisah dari partisi sistem operasi. Untuk kasus saya, saya letakkan di /media/adata/opt/lampp
  3. Buat symbolic links : sudo ln -s /media/adata/opt/lampp /opt/
  4. Set permission file & folder : chmod -R 777 /media/adata/opt/lampp (ya.. ini memang rentan dengan security, tapi berhubung webku cuma diakses localhost, saya cuek aja..)
  5. Set permission config phpmyadmin : chmod 644 /media/adata/opt/lampp/phpmyadmin/config.inc.php (file config memang harus diset seperti itu)
  6. Symbolic links lain : sudo ln -s /opt/lampp/lampp /usr/sbin (agar bisa command lampp bisa diakses langsung dari konsol oleh root (atau sudo) )
  7. Symbolic links untuk MySQL : sudo ln -s /opt/lampp/bin/mysql (agar mysql bisa diakses langsung dari konsol)
  8. Symbolic links lain bisa ditambahkan kalau memang butuh.. (misal htdocs ingin anda pindah ke direktori lain). Saya sendiri menaruh file htdocs di /media/bdata/public_html. Folder htdocs di lampp saya pindah ke /media/bdata, dan saya ganti namanya jadi public_html. Kemudian buat symbolic links lagi : ln -s /media/bdata/public_html /media/adata/opt/lampp/htdocs
Nah, kalau sudah siap silahkan coba jalankan : sudo lampp start (masukkan password jika diminta). Jika mendapatkan pesan semacam ini :
Starting XAMPP for Linux 1.6.6...
XAMPP: Starting Apache with SSL (and PHP5)...
XAMPP: Starting MySQL...
XAMPP: Starting ProFTPD...
XAMPP for Linux started.

Berarti webserver nya sudah berjalan. Silahkan akses lewat browser (misal : Firefox) dengan alamat : http://localhost
Jika distro anda tidak menggunakan sudo secara default, tetapi menggunakan account root. Silahkan lakukan perintah su -c (masukkan password root), setelah itu hilangkan sudo dari setiap perintah yang digunakan.
Jika suatu saat anda berganti distro, atau install ulang linux anda. Langkah yang perlu dilakukan adalah langkah 3, 6, dan 7.
Moga – moga bermanfaat..
Link yang lainx
http://okto.silaban.net/2008/11/linux/instalasi-lampp-cara-saya/

posted under | 0 Comments

Penggunaan Squid Sebagai Proxy Server Di Ubuntu Server 10.10

Squid adalah program proxy server yang tersedia secara opensource yang sangat banyak kegunaannya, salah satunya adalah melakukan cache terhadap konten dari sebuah website. Jadi apabila sebuah situs pernah dibuka oleh salah satu anggota jaringan, maka Squid akan menyimpan konten situs tersebut kedalam hard disk atau memori dari komputer, sehingga jika salah satu anggota jaringan membuka situs yang sama, anggota jaringan tersebut tidak perlu mengakses ke internet, dia hanya perlu mengkases cache yang sudah disimpan oleh Squid tadi, yang berakibat proses dalam membuka situs akan menjadi lebih cepat dan tentunya akan menghemat bandwidth.
Program Squid adalah program yang saat ini paling banyak digunakan oleh administrator jaringan sebagai program proxy server. Squid hanya bisa dijalankan di sistem operasi Linux seperti fedora, RedHat, Mandriva, OpenSUSE, dan lain-lain termasuk Ubuntu. Perlu diinformasikan bahwa tulisan ini adalah lanjutan dari tulisan saya yang berjudul, Instalasi Ubuuntu Server 10.10 dan Konfigurasi IP Address Ubuntu Server 10.10.
.
Instalasi dan Konfigurasi Squid Di Ubuntu Server 10.10
Untuk bisa menggunakan Squid langkah pertama yang dilakukan adalah menginstal paket Squid kedalam Ubuntu Server, karena Ubuntu Server belum menyertakan Squid di dalamnya. Caranya adalah dengan masuk ke Ubuntu Server sebagai root dan ketikkan apt-get install squid, maka proses unduh dan instalasi Squid akan berlangsung sekaligus. Proses ini tidak akan memakan waktu yang lama, karena ukuran Squid yang tidak terlalu besar. Pada tutorial ini saya menggunakan Squid versi 2.7 STABLE9.

Setelah selesai, langkah berikutnya adalah melakukan konfigurasi Squid. Langkah-langkahnya adalah sebagai berikut.
  1. Buat sebuah direktori tempat cache akan disimpan. Pada tutorial ini saya akan menyimpan cache di direktori / (root), ketikkan perintah mkdir /cache. Lalu ubah hak aksesnya menjadi proxy agar bisa diakses oleh Squid dengan perintah: chown proxy:proxy /cache.
  1. Selanjutnya lakukan konfigurasi pada berkas Squid. Berkas konfigurasi Squid berada di bawah direktori /etc/squid dengan nama squid.conf. Namun terlebih dahulu ubah hak aksesnya menjadi proxy, dengan mengetikkan perintah chown proxy:proxy /etc/squid/squid.conf. Selanjutnya lakukan konfigurasi pada berkas squid.conf dengan mengetikkan nano /etc/squdi.squid.conf.
  1. Carilah baris http_port 3128 dengan menekan tombol Ctrl + W (fasilitas search pada nano), lalu ketikkan http_port 3128, setelah ditemukan tambahkan kata transparent pada akhir baris, sehingga menjadi http_port 3128 transparent. Ini dibuat untuk membuat proxy menjadi transparan, sehingga web browser yang digunakan pengguna tidak perlu mengatur proxy secara manual menggunakan port 3128 yang merupakan port default dari proxy. Port ini bisa diganti sesuka hati, namun seluruhnya harus sama. Pengaturan ini juga harus dikolaborasikan dengan iptables yang akan dipaparkan selanjutnya.
  1. Kemudian cari baris cache_effective_user proxy, setelah ditemukan, pada awal baris ada tanda pagar (#), hilangkan tanda pagar tersebut agar bisa dieksekusi oleh Squid, jika tidak, maka Squid akan menganggap baris tersebut hanya komentar. Tepat dibawah baris cache_effective_user proxy tambahkan cache_effective_group proxy. Ini digunakan untuk mendefenisikan bahwa proxy adalah user dan group yang memiliki hak akses untuk Squid.

  1. Cari baris cache_mgr webmaster, setelah ditemukan, hilangkan tanda pagar yang ada di awal baris, kemudian ganti kata webmaster menjadi alamat email administrator yang bisa dihubungi oleh klien. Contohnya seperti ini cache_mgr adamkurniawan02@yahoo.co.id. Ini digunakan, apabila pada saat terjadi kesalahan pada proxy, maka browser akan menampilkan halaman error yang mencantumkan alamat email administrator.
  1. Cari lagi baris cache_dir ufs /var/spool/squid 100 16 256, hilangkan tanda pagar yang ada di awal baris, kemudian ubah baris ini menjadi cache_dir ufs /cache 1024 16 256. Baris ini menyatakan dimana cache akan disimpan, pada awal konfigurasi saya telah membuat folder yang digunakan untuk menyimpan cache. Kemudian jenis sistem storage yang digunakan (ufs). Kapasitas hard disk yang digunakan untuk cache adalah sebesar 1024 MB, jumlah subdirektori tingkat pertama dalam direktori cache adalah 16 dan jumlah subdirektori tingkat kedua yang dibuat dalam direktori cache tingkat pertama adalah 256.

  1. Cari baris cache_mem 8 MB. Ini adalah baris untuk mengatur jumlah RAM (Random Access Memory) yang digunakan untuk cache. Kecepatan baca RAM lebih tinggi dari pada hard disk namun karena kapasitasnya yang tidak terlalu besar menyebabkan penggunan RAM untuk cache menjadi sangat terbatas. Pada tutorial ini saya menggunakan 16 MB. Maka barisnya ini menjadi cache_mem 16 MB, dan jangan lupa untuk menghilangkan tanda pagarnya.
  1. Masih dengan menekan tombol Ctrl + W, cari lagi baris acl to_localhost dst 120.0.0.0/8 0.0.0.0/32. Tepat dibawah baris tersebut ketikkan:
    acl laboratorium src 10.10.1.0/24
    http_access allow laboratorium
    Dua baris diatas digunakan untuk memberikan akses kontrol kepada jaringan dengan network id 10.10.1.0, yaitu jaringan yang saya miliki. Dengan dua baris diatas juga, maka selain jaringan dengan network id 10.10.1.0 tidak akan bisa terkoneksi ke jaringan luar, karena Squid tidak mengizinkannya.

Setelah semua langkah diatas dilakukan, tekan Ctrl + O untuk menyimpan konfigurasi, kemudian tekan tombol Enter. Sampai disini Squid telah selesai dikonfigurasi.
Langkah terakhir yang dilakukan adalah menyempurnakan tranparan proxy dengan iptables yang sebelumnya sudah diatur. Ketikkan skrip berikut ini: iptables –t nat –A PREROUTING –p tcp –s 10.10.1.0/24 – -dport 80 –j REDIRECT – -to-port 3128, kemudian tekan Enter. Dengan skrip iptables diatas, maka semua paket yang berasal dari port 80 akan dibelokkan ke port 3128 (port Squid). Sehingga paket akan dipaksa melewati Squid, sehingga bisa tersaring.
Skrip iptables diatas harus dkietikkan ulang jika komputer server melakukan restart, karena bersifat sementara. Untuk itu, agar skrip iptables diatas berjalan pada saat komputer dinyalakan, maka bukalah berkas /etc/rc.local dan letakkan skrip tersebut sebelum bari exit 0, jika sudah simpan dengan Ctrl + O.

Setelah seluruh pengaturan selesai dilakukan, baik dari alamat IP, DNS, WebHTB, dan juga proxy, lakukan restart terhadap Ubuntu Server dengan mengetikkan sudo init 6 atau sudo reboot. Setelah restart dan jika tidak ada kesalahan dalam pengaturan, maka Ubuntu Server 10.10 siap untuk digunakan sebagai gateway dan proxy server.
Mau copy paste tulisan ini? Silahkan baca dulu ini : http://kurniawanadam.wordpress.com/copyright/

posted under | 0 Comments
Postingan Lebih Baru Postingan Lama Beranda

RANDOM POST

Asmaul Husna

Foto Kenangan

Followers

    Ayat Alquran


Recent Comments