Debian 13

From VoIPmonitor.org

This guide describes the installation of VoIPmonitor on Debian 13 (Trixie) with PHP 8.4. The installation consists of three main components: MariaDB database, Web GUI, and the Sensor (sniffer).

Debian 13 (Trixie) is the current Debian stable LTS release (initially released August 9, 2025; latest point release 13.4 on March 14, 2026). It is fully supported for production use with VoIPmonitor and is the recommended Debian version for new installations as of 2026. Support runs until June 30, 2030 (3 years full support + 2 years LTS).

Prerequisites

  • Fresh Debian 13 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. Configure MariaDB for performance:

Edit /etc/mysql/mariadb.conf.d/50-server.cnf and add these options to the [mariadbd] section. See the scaling guide for more details.

innodb_flush_log_at_trx_commit = 2
innodb_file_format = barracuda
innodb_buffer_pool_size = 8GB
innodb_read_only_compressed = OFF

ℹ️ Note: Set innodb_buffer_pool_size to approximately half of your available RAM.

4. Apply changes and create database:

systemctl restart mariadb
mysqladmin create voipmonitor

Web GUI Installation

1. Install required packages:

apt-get install php php-gd php-mysql php-cli php-curl libapache2-mod-php php-mbstring php-zip tshark mtr librsvg2-bin fonts-urw-base35 rrdtool libtiff-tools wget vim

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 --no-continue http://voipmonitor.org/ioncube/x86_64/ioncube_loader_lin_8.4.so -O /usr/lib/php/8.4/ioncube_loader_lin_8.4.so
echo "zend_extension = /usr/lib/php/8.4/ioncube_loader_lin_8.4.so" > /etc/php/8.4/mods-available/ioncube.ini
ln -s /etc/php/8.4/mods-available/ioncube.ini /etc/php/8.4/apache2/conf.d/01-ioncube.ini
ln -s /etc/php/8.4/mods-available/ioncube.ini /etc/php/8.4/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&allowed&phpver=84" -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)
chown -R www-data /var/www/html
mkdir /var/spool/voipmonitor/
chown www-data /var/spool/voipmonitor/
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 --no-user-input

2. Configure sensor:

Edit /etc/voipmonitor.conf and set at minimum:

interface = eth0
spooldir = /var/spool/voipmonitor
cleandatabase = 31
sipport = 5060
maxpoolsize = 102400

ℹ️ Note: Replace eth0 with your actual network interface name (e.g., ens33).

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.

See Also