Debian 10
This guide describes the installation of VoIPmonitor on Debian 10 (Buster) with PHP 7.3. The installation consists of three main components: MariaDB database, Web GUI, and the Sensor (sniffer).
Prerequisites
- Fresh Debian 10 installation
- Root access
- Internet connectivity
MariaDB Installation
1. Install MariaDB server:
apt-get update apt-get -y install mariadb-server
2. Configure root authentication:
Change the authentication method for root@localhost from unix_socket to mysql_native_password. Start mysql console and run:
mysql
MariaDB> ALTER USER root@localhost IDENTIFIED VIA mysql_native_password;
MariaDB> SET PASSWORD = PASSWORD("");
MariaDB> FLUSH PRIVILEGES;
MariaDB> exit
3. Apply changes and create database:
systemctl restart mariadb mysqladmin create voipmonitor
Web GUI Installation
1. Install required packages:
apt-get -y install php php-gd php-mysql php-cli php-curl libapache2-mod-php php7.3-mbstring php-zip tshark mtr librsvg2-bin gsfonts rrdtool libtiff-tools wget
When asked if non-superusers can capture traffic, answer No.
2. Install IonCube loader:
IonCube is required for the encrypted PHP files in the GUI.
wget http://voipmonitor.org/ioncube/x86_64/ioncube_loader_lin_7.3.so -O /usr/lib/php/20180731/ioncube_loader_lin_7.3.so echo "zend_extension = /usr/lib/php/20180731/ioncube_loader_lin_7.3.so" > /etc/php/7.3/mods-available/ioncube.ini ln -s /etc/php/7.3/mods-available/ioncube.ini /etc/php/7.3/apache2/conf.d/01-ioncube.ini ln -s /etc/php/7.3/mods-available/ioncube.ini /etc/php/7.3/cli/conf.d/01-ioncube.ini
3. Download and install GUI:
cd /var/www/html rm -f index.html wget "http://www.voipmonitor.org/download-gui?version=latest&major=5&phpver=73" -O w.tar.gz tar xzf w.tar.gz mv voipmonitor-gui*/* ./
4. Configure cron and permissions:
echo "* * * * * root php /var/www/html/php/run.php cron" >> /etc/crontab kill -HUP $(pgrep cron) mkdir -p /var/spool/voipmonitor/ chown www-data /var/spool/voipmonitor/ chown -R www-data /var/www/html systemctl restart apache2
Sensor Installation
1. Download and install sensor:
mkdir /usr/src/voipmonitor cd /usr/src/voipmonitor wget --content-disposition http://www.voipmonitor.org/current-stable-sniffer-static-64bit.tar.gz -O x.tar.gz tar xzf x.tar.gz cd voipmonitor-* ./install-script.sh
2. Configure sensor:
Edit /etc/voipmonitor.conf and set at minimum:
interface = eth0 spooldir = /var/spool/voipmonitor cleandatabase = 31 sipport = 5060 maxpoolsize = 102400
3. Start and enable sensor:
systemctl start voipmonitor systemctl enable voipmonitor
Finish Installation
Open your browser and navigate to http://your-server-ip/ to complete the web-based setup wizard.
Optional: Pre-download GUI Binaries
You can speed up the installation by pre-downloading binaries the GUI needs:
wget http://sourceforge.net/projects/voipmonitor/files/wkhtml/phantomjs-2.1.1-x86_64.gz/download -O '/var/www/html/bin/phantomjs-2.1.1-x86_64.gz' gunzip '/var/www/html/bin/phantomjs-2.1.1-x86_64.gz' chmod +x '/var/www/html/bin/phantomjs-2.1.1-x86_64' wget http://sourceforge.net/projects/voipmonitor/files/wkhtml/sox-x86_64.gz/download -O '/var/www/html/bin/sox-x86_64.gz' gunzip '/var/www/html/bin/sox-x86_64.gz' chmod +x '/var/www/html/bin/sox-x86_64'
Optional: Building from Source
To build the sensor from source code:
1. Install build dependencies:
apt-get -y install git build-essential unixodbc-dev libvorbis-dev libpcap-dev libsnappy-dev libcurl4-openssl-dev libicu-dev libjson-c-dev libssh-dev librrd-dev libglib2.0-dev libxml2-dev libfftw3-dev liblzma-dev liblzo2-dev libpng-dev libgcrypt-dev libgoogle-perftools-dev libmariadb-dev libmariadb-dev-compat
2. Clone and build:
mkdir /usr/src/voipmonitor-git cd /usr/src/voipmonitor-git git clone https://github.com/voipmonitor/sniffer.git ./ ./configure make make install
See Also
- Debian_12 - Recommended for new installations
- Scaling - Performance tuning
- Configuration_file - Full configuration reference