基於CentOS安裝Yate
1前言
思前想後,很多東西現在理解了,會用了。時間長了,對這個系統進行bug修復的時候。很多知道的東西會忘的差不多,需要重新花比較多的時間去理解和學習。俗話說:好記性不如爛筆頭。還是老老實實的用文字和圖片的方法來記錄。
為了讓以後的自己輕松一點,只要讓現在的自己多做一點工作,重新開始搭建yate的環境。
2源碼下載
最好從官網下載,
官網地址:http://www.yate.ro/
下載地址:http://docs.yate.ro/wiki/Download
由於沒有CentOS的版本,只好下載Windows的源碼包,本次源碼下載地址:http://yate.null.ro/tarballs/yate5/yate-5.5.0-1.tar.gz
使用svn下載:svncheckouthttp://voip.null.ro/svn/yate/trunk yate-SVN
3安裝
下載完成之後,進入yate-SVN

生成configure文件

生成Makefile

編譯
#make
(跑太快了,沒有弄下來圖)

安裝
#make install

4運行
#./run

5運行說明
這個需要參考yate的運行參數

如果要添加調試信息:

如果要將調試信息輸出到日志文件:


後台運行:

6修改為service服務
我們知道,在Linux下面的服務的運行腳本一般通過service進行管理。那麼如果我們想要使用service命令來進行管理yate服務那該怎麼做呢?
我們可以參考run文件進行編寫yated:
#!/bin/sh
#
# chkconfig: - 91 35
# description: Starts and stops the yate daemon \
# used to provide yate services.
#
# pidfile: /var/run/yate.pid
# Source function library.
if [ -f /etc/init.d/functions ] ; then
. /etc/init.d/functions
elif [ -f /etc/rc.d/init.d/functions ] ; then
. /etc/rc.d/init.d/functions
else
exit 1
fi
# Avoid using root's TMPDIR
unset TMPDIR
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 1
RETVAL=0
YATE="yate"
OPTS=${OPTS:- -l /var/log/yate.log -s 60 -r -vvvvvvvvvv -Dt}
PIDFILE=${PIDFILE:-/var/run/yate.pid}
SET_CONF="-c /usr/local/etc/yate"
SET_MODS="-m /usr/local/lib/yate"
SET_SHARE="-e /usr/local/share/yate"
start() {
KIND="yate"
echo -n $"Starting $KIND services: "
daemon $KIND \
-d -p "${PIDFILE}" ${OPTS} \
${SET_CONF} ${SET_SHARE}
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/yate || \
RETVAL=1
return $RETVAL
}
stop() {
KIND="yate"
echo -n $"Shutting down $KIND services: "
killproc yate
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/yate
return $RETVAL
}
restart() {
stop
start
}
rhstatus() {
status -l yated yate
return $?
}
rhstatus() {
status -l yated yate
return $?
}
# Allow status as non-root.
if [ "$1" = status ]; then
rhstatus
exit $?
fi
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
status)
rhstatus
;;
*)
echo $"Usage: $0 {start|stop|restart|status}"
exit 2
esac
exit $?
將yated拷貝到/etc/init.d/
將/usr/local/bin/yate /usr/sbin/
然後看一下是否可以運行:

殺死進程25417