Difference between revisions of "FreeBSD101"

From VoIPmonitor.org
Jump to navigation Jump to search
(Created page with "''note:tested on 32bit release with voipmonitor 11 sources'' Install packages pkg install libexecinfo libpcap unixODBC mysql56-client libvorbis libogg vorbis-tools gmake sub...")
 
Line 1: Line 1:
 
''note:tested on 32bit release with voipmonitor 11 sources''
 
''note:tested on 32bit release with voipmonitor 11 sources''
 +
  
 
Install packages
 
Install packages
 
  pkg install libexecinfo libpcap unixODBC mysql56-client libvorbis libogg vorbis-tools gmake subversion wget bash libssh git mysql56-server autotools
 
  pkg install libexecinfo libpcap unixODBC mysql56-client libvorbis libogg vorbis-tools gmake subversion wget bash libssh git mysql56-server autotools
 +
  
 
Startup mysql
 
Startup mysql
Line 8: Line 10:
 
  vim /var/db/mysql/my.cnf  
 
  vim /var/db/mysql/my.cnf  
 
  service mysql-server start
 
  service mysql-server start
 +
  
 
Install json-c from ports
 
Install json-c from ports
 
  cd /usr/ports/devel/json-c
 
  cd /usr/ports/devel/json-c
 
  make install
 
  make install
 +
  
 
Install snappy from ports
 
Install snappy from ports
 
  cd /usr/ports/archivers/snappy
 
  cd /usr/ports/archivers/snappy
 
  make install
 
  make install
 +
  
 
Install rrdtool from package
 
Install rrdtool from package
 
  pkg install rrdtool
 
  pkg install rrdtool
 +
  
 
Download and configure voipmonitor
 
Download and configure voipmonitor
Line 25: Line 31:
 
  cd sniffer
 
  cd sniffer
 
  ./configure
 
  ./configure
 +
  
 
update your files db and locate ansidecl.h in your gcc plugins and copy it to voipmonitor sources dir
 
update your files db and locate ansidecl.h in your gcc plugins and copy it to voipmonitor sources dir
Line 30: Line 37:
 
  locate ansidecl.h //returned /usr/local/lib/gcc48/gcc/i386-portbld-freebsd10.0/4.8.3/plugin/include/ansidecl.h
 
  locate ansidecl.h //returned /usr/local/lib/gcc48/gcc/i386-portbld-freebsd10.0/4.8.3/plugin/include/ansidecl.h
 
  cp /usr/local/lib/gcc48/gcc/i386-portbld-freebsd10.0/4.8.3/plugin/include/ansidecl.h ansidecl.h
 
  cp /usr/local/lib/gcc48/gcc/i386-portbld-freebsd10.0/4.8.3/plugin/include/ansidecl.h ansidecl.h
 +
  
 
Create links for default Makefile names
 
Create links for default Makefile names
 
  ln -s /usr/bin/c++ /usr/sbin/g++
 
  ln -s /usr/bin/c++ /usr/sbin/g++
 
  ln -s /usr/local/bin/gcc48 /usr/local/bin/gcc
 
  ln -s /usr/local/bin/gcc48 /usr/local/bin/gcc
 +
  
 
I was unable to say to ldconfig, where are my new shared files located. As a temporary workaround, I created symlinks. If you know better way, how to done it, please let me know at: petr.halounek@voipmonitor.org)
 
I was unable to say to ldconfig, where are my new shared files located. As a temporary workaround, I created symlinks. If you know better way, how to done it, please let me know at: petr.halounek@voipmonitor.org)
 +
  
 
Modify Makefile (remove all -ldl, rewrite json to json-c)
 
Modify Makefile (remove all -ldl, rewrite json to json-c)
 
  sed -i.orig s/\ \-ldl// Makefile
 
  sed -i.orig s/\ \-ldl// Makefile
 
  sed -i.bak s/\ json/\ json-c/g Makefile
 
  sed -i.bak s/\ json/\ json-c/g Makefile
 +
  
 
Add options for linking into Makefile after shared: cleantest $(objects) should be:
 
Add options for linking into Makefile after shared: cleantest $(objects) should be:
 
  ${CXX} -v -Xlinker --allow-multiple-definition $(objects) ${CXXFLAGS} -o voipmonitor ${LIBS} ${LIBS_PATH}
 
  ${CXX} -v -Xlinker --allow-multiple-definition $(objects) ${CXXFLAGS} -o voipmonitor ${LIBS} ${LIBS_PATH}
 +
  
 
Compile voipmonitor
 
Compile voipmonitor
 
  gmake
 
  gmake
 
  gmake install
 
  gmake install
 +
  
 
Create voipmonitor startup script
 
Create voipmonitor startup script

Revision as of 12:12, 27 January 2015

note:tested on 32bit release with voipmonitor 11 sources


Install packages

pkg install libexecinfo libpcap unixODBC mysql56-client libvorbis libogg vorbis-tools gmake subversion wget bash libssh git mysql56-server autotools


Startup mysql

echo mysql_enable=\"YES\" >> /etc/rc.conf
vim /var/db/mysql/my.cnf 
service mysql-server start


Install json-c from ports

cd /usr/ports/devel/json-c
make install


Install snappy from ports

cd /usr/ports/archivers/snappy
make install


Install rrdtool from package

pkg install rrdtool


Download and configure voipmonitor

cd /usr/src
git clone https://github.com/voipmonitor/sniffer.git
cd sniffer
./configure


update your files db and locate ansidecl.h in your gcc plugins and copy it to voipmonitor sources dir

/usr/libexec/locate.updatedb
locate ansidecl.h //returned /usr/local/lib/gcc48/gcc/i386-portbld-freebsd10.0/4.8.3/plugin/include/ansidecl.h
cp /usr/local/lib/gcc48/gcc/i386-portbld-freebsd10.0/4.8.3/plugin/include/ansidecl.h ansidecl.h


Create links for default Makefile names

ln -s /usr/bin/c++ /usr/sbin/g++
ln -s /usr/local/bin/gcc48 /usr/local/bin/gcc


I was unable to say to ldconfig, where are my new shared files located. As a temporary workaround, I created symlinks. If you know better way, how to done it, please let me know at: petr.halounek@voipmonitor.org)


Modify Makefile (remove all -ldl, rewrite json to json-c)

sed -i.orig s/\ \-ldl// Makefile
sed -i.bak s/\ json/\ json-c/g Makefile


Add options for linking into Makefile after shared: cleantest $(objects) should be:

${CXX} -v -Xlinker --allow-multiple-definition $(objects) ${CXXFLAGS} -o voipmonitor ${LIBS} ${LIBS_PATH}


Compile voipmonitor

gmake
gmake install


Create voipmonitor startup script

echo voipmonitor_enable=\"YES\" >> /etc/rc.conf
vi /usr/local/etc/rc.d/voipmonitor
#!/bin/sh
#
#
# PROVIDE: voipmonitor
# REQUIRE: mysql
# KEYWORD: shutdown
#
. /etc/rc.subr
name=voipmonitor
rcvar=voipmonitor_enable
export PATH=/usr/local/bin:/usr/local/sbin:$PATH
pidfile="/var/run/${name}.pid"
procname="/usr/sbin/voipmonitor"
start_cmd="/usr/sbin/voipmonitor --config-file=/etc/voipmonitor.conf -v1"
load_rc_config $name
run_rc_command "$1"
ldconfig
service voipmonitor start