Senin, 12 Juli 2010

compile kannel

Untuk compile kannel anda dapat ambil sourcenya di beberapa situs dibawah ini

http://www.kannel.org/download.shtml
http://webscripts.softpedia.com/script/Communication-Tools/Kannel-28088.html


downlad sesuai dengan keingnan anda,tapi sesuai judul saya akan compile menggunakan source so here it's

pertama ekstrak source codenya, mohon gunakan linux bila anda pengguna windows pastikan aja anda telah menginstall cygwin yang telah terinstall g++, gcc, xmllib2 beserta repo lainnya


./configure --prefix=/usr/local/bin

./configure adalah program untuk configure sedangkan
--prefix digunakan untuk meletakkan hasil make anda kelak setalh konfigure

gunakan prefix bila anda ingin menginstallnya di /usr/local/bin bila anda ingin menginstall di tempat lain misalnya /ini/tempat/folder/aku maka jadikan konfigurasinya seperti ini

./configure --prefix=/ini/tempat/folder/aku

setelah perintah diatas, gunakan touch untuk membuat file depend

touch .depend

tanda . depaan file .depend akan membuat file ini invisible untuk dapat melihat file invisible gunakan ls -latr

make depend

mengapa tidak menggunakan make .depend karena depend adalah file yang akan anda tulis untuk file dependensi yng kurang apa saja

make

ini untuk compile final dan akan meletakannya di direktori prefix, bila tidak ada prefix maka akan di letakkan di direktori default

make install


gunakan file initial sebagai contoh dibawah ini nanti diletakkan di /etc/init.d untuk mematikan dan menyalakan kannel anda

here the sample

#!/bin/sh
#
# author addhe warman
# script ini dipakai untuk restart atau stop kannel
# pastikan aja semua path benar dan berapa pada tempatnya
# sesuaikan dengan konfigurasi anda
# chkconfig: - 97 03
# description: The Kannel WAP and SMS gateway services
# config: /etc/kannel.conf



# Use start-stop-kannel
prog="/usr/local/kannel-master/sbin/run_kannel_box"
args=" "
config="/usr/local/kannel-master/etc/kannel.conf"
sqlbox_config="/opt/sqlbox/gw/sqlbox.conf"


# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ "${NETWORKING}" = "no" ] && exit 0

[ -f $config ] || exit 1

RETVAL=0
RETVAL_BEARER=0
RETVAL_WAP=0
RETVAL_SMS=0
RETVAL_SQLBOX=0

start() {
# Start daemons.
echo -n "Starting kannel bearer box: "
daemon $prog $args /usr/local/kannel-master/sbin/bearerbox $config
RETVAL_BEARER=$?
echo
sleep 5
# Starting wap and sms only makes sense if bearerbox is running
if [ $RETVAL_BEARER -eq 0 ]; then
if grep "^group = sqlbox" $sqlbox_config &>/dev/null; then
echo -n "Starting kannel sql box: "
daemon $prog $args /usr/local/kannel-master/sbin/sqlbox $sqlbox_config
RETVAL_SQLBOX=$?
echo
fi
sleep 2
if grep "^group = wapbox" $config &>/dev/null; then
echo -n "Starting kannel wap box: "
daemon $prog $args /usr/local/kannel-master/sbin/wapbox $config
RETVAL_WAP=$?
echo
fi
if grep "^group = smsbox" $config &>/dev/null; then
echo -n "Starting kannel sms box: "
daemon $prog $args /usr/local/kannel-master/sbin/smsbox $config
RETVAL_SMS=$?
echo
fi
fi
[ $RETVAL_BEARER -eq 0 -a $RETVAL_WAP -eq 0 -a $RETVAL_SMS -eq 0 -a $RETVAL_SQLBOX -eq 0 ] \
&& touch /var/lock/subsys/kannel || RETVAL=1
}

stop() {
# Stop daemons.
if grep "^group = sqlbox" $sqlbox_config &>/dev/null; then
echo -n "Shutting down kannel sql box: "
killproc /usr/local/kannel-master/sbin/sqlbox
RETVAL_SQLBOX=$?
echo
fi
if grep "^group = smsbox" $config &>/dev/null; then
echo -n "Shutting down kannel sms box: "
killproc /usr/local/kannel-master/sbin/smsbox
RETVAL_SMS=$?
echo
fi
if grep "^group = wapbox" $config &>/dev/null; then
echo -n "Shutting down kannel wap box: "
killproc /usr/local/kannel-master/sbin/wapbox
RETVAL_WAP=$?
echo
fi
echo -n "Shutting down kannel bearer box: "
killproc /usr/local/kannel-master/sbin/bearerbox
RETVAL_BEARER=$?
echo
[ $RETVAL_BEARER -eq 0 -a $RETVAL_WAP -eq 0 -a $RETVAL_SMS -eq 0 ] \
|| RETVAL=1
rm -f /var/lock/subsys/kannel
killproc /usr/local/kannel-master/sbin/run_kannel_box
}

# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status /usr/local/kannel-master/sbin/bearerbox
RETVAL_BEARER=$?
if grep "^group = sqlbox" $sqlbox_config &>/dev/null; then
status /usr/local/kannel-master/sbin/sqlbox
RETVAL_SQLBOX=$?
fi
if grep "^group = wapbox" $config &>/dev/null; then
status /usr/local/kannel-master/sbin/wapbox
RETVAL_WAP=$?
fi
if grep "^group = smsbox" $config &>/dev/null; then
status /usr/local/kannel-master/sbin/smsbox
RETVAL_SMS=$?
fi
[ $RETVAL_BEARER -eq 0 -a $RETVAL_WAP -eq 0 -a $RETVAL_SMS -eq 0 ] \
|| RETVAL=1
;;
restart)
stop
start
;;
*)
echo $"Usage: $0 {start|stop|restart|status}"
RETVAL=1
esac

exit $RETVAL