Ubuntu 24.04 LTS
Following steps were necessary to follow to install voipmonitor GUI and sniffer including mysql db into ubuntu 24.04 minimal server installation with 16GB of RAM.
Database
Install
apt-get update apt-get install tshark mtr librsvg2-bin gsfonts mysql-server ethtool
Configure
Add the recommended settings from our Scaling section of a doc into mysql's config (keep in mind to set up to half of available RAM for use of the mysql read cache - innodb_buffer_pool_size)
echo 'innodb_flush_log_at_trx_commit = 2' >> /etc/mysql/mysql.conf.d/mysqld.cnf echo 'innodb_buffer_pool_size = 8GB' >> /etc/mysql/mysql.conf.d/mysqld.cnf echo 'skip-log-bin' >> /etc/mysql/mysql.conf.d/mysqld.cnf echo 'skip-name-resolve' >> /etc/mysql/mysql.conf.d/mysqld.cnf echo 'default_authentication_plugin=mysql_native_password' >> /etc/mysql/mysql.conf.d/mysqld.cnf
Apply
systemctl restart mysql
Create User
Create the new user in a db for voipmonitor's use with ALL privileges. (Please change YourPassword string to something strong and write it down - it will be necessary to fill password again when configuring the service in /etc/voipmonitor.conf - and when you will login for the first time to the GUI using web-browser.
CREATE USER `voipmonitor`@`127.0.0.1` IDENTIFIED BY 'YourPassword'; GRANT ALL ON voipmonitor.* TO 'voipmonitor'@'127.0.0.1'; GRANT SUPER ON *.* TO 'voipmonitor'@'127.0.0.1'; FLUSH PRIVILEGES;
PHP + modules and ioncube:
Unfortunately there is no php 8.3 supported by the ioncube currently (28.5.2024), therefor You need to install php 8.2 from sury's repositories - this expects to use apache2 as a web server(no nginx) - If you want install nginx - this doc not covers it but it is possible as well (add ondrej/nginx instead of ondrej/apache2)
Add O.Sury's repos
add-apt-repository ppa:ondrej/php add-apt-repository ppa:ondrej/apache2 apt update
Install
apt install php8.2 php8.2-gd php8.2-mysql php8.2-cli php8.2-mbstring php8.2-xml php8.2-zip apache2 libapache2-mod-php8.2 cron lsof
(php-unzip chybi)
Enable php82
update-alternatives --set php /usr/bin/php8.2 a2dismod php8.3 a2enmod php8.2
Ioncube install
wget http://voipmonitor.org/ioncube/x86_64/ioncube_loader_lin_8.2.so -O /usr/lib/php/8.2/ioncube_loader_lin_8.2.so echo "zend_extension = /usr/lib/php/8.2/ioncube_loader_lin_8.2.so" > /etc/php/8.2/apache2/conf.d/01-ioncube.ini echo "zend_extension = /usr/lib/php/8.2/ioncube_loader_lin_8.2.so" > /etc/php/8.2/cli/conf.d/01-ioncube.ini
Voipmonitor sniffer
Install
cd /usr/src wget http://www.voipmonitor.org/current-stable-sniffer-static-64bit.tar.gz -O vm-sniffer.tar.gz tar xzf vm-sniffer.tar.gz cd voipmonitor* ./install-script.sh --no-user-input
Configure
Edit /etc/voipmonitor.conf (set mysqlpass=YourPassword ,mysqluser=voipmonitor, interface=ens33 options at least) /etc/init.d/voipmonitor start systemctl enable voipmonitor
Voipmonitor GUI
Install package
cd /var/www/html wget "http://www.voipmonitor.org/download-gui?version=latest&phpver=82&festry" -O w.tar.gz tar xzf w.tar.gz mv voipmonitor-gui*/* ./ rm -f index.html chown www-data /var/spool/voipmonitor/ chown -R www-data /var/www echo " * * * * * root php /var/www/html/php/run.php cron" >> /etc/crontab kill -HUP `pgrep cron` service apache2 restart
First login
Loging in for the first time into voipmonitor's host requires the mysql credentials you set at begin of this doc
configure
use the browser, enter into address bar:
http://IP_of_voipmonitor_host
then fill/change in the voipmonitor page the user for mysql (from root to voipmonitor) and also set the password - then click on re-check (this basic settings is then stored into GUI's installation dir which is /var/www/html/ by default into file ./config/configuration.php.