Debian 11: Difference between revisions
(Restructure: reduce excessive headings, use numbered steps) |
|||
| Line 1: | Line 1: | ||
= Install MariaDB | This guide describes the installation of VoIPmonitor on '''Debian 11 (Bullseye)''' with PHP 7.4. The installation consists of three main components: MariaDB database, Web GUI, and the Sensor (sniffer). | ||
== Prerequisites == | |||
* Fresh Debian 11 installation | |||
* Root access | |||
* Internet connectivity | |||
== MariaDB Installation == | |||
'''1. Install MariaDB server:''' | |||
apt-get update | |||
apt-get -y install mariadb-server | apt-get -y install mariadb-server | ||
'''2. Configure root authentication:''' | |||
Start | |||
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> ALTER USER root@localhost IDENTIFIED VIA mysql_native_password; | ||
MariaDB> SET PASSWORD = PASSWORD(""); | MariaDB> SET PASSWORD = PASSWORD(""); | ||
MariaDB> FLUSH PRIVILEGES; | MariaDB> FLUSH PRIVILEGES; | ||
MariaDB> exit | |||
'''3. Configure MariaDB for performance:''' | |||
Edit <code>/etc/mysql/mariadb.conf.d/50-server.cnf</code> and add these options to the <code>[mysqld]</code> section. See the [[Scaling#MySQL_performance|scaling guide]] for more details. | |||
innodb_flush_log_at_trx_commit = 2 | innodb_flush_log_at_trx_commit = 2 | ||
innodb_file_format = barracuda | innodb_file_format = barracuda | ||
innodb_buffer_pool_size | innodb_buffer_pool_size = 8GB | ||
{{Note|Set <code>innodb_buffer_pool_size</code> to approximately half of your available RAM. For MariaDB 10.6+, you may also need to add <code>innodb_read_only_compressed=OFF</code>.}} | |||
'''4. Apply changes and create database:''' | |||
systemctl restart mariadb | |||
mysqladmin create voipmonitor | 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 php7.4-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 --no-continue http://voipmonitor.org/ioncube/x86_64/ioncube_loader_lin_7.4.so -O /usr/lib/php/20190902/ioncube_loader_lin_7.4.so | wget --no-continue http://voipmonitor.org/ioncube/x86_64/ioncube_loader_lin_7.4.so -O /usr/lib/php/20190902/ioncube_loader_lin_7.4.so | ||
echo "zend_extension = /usr/lib/php/20190902/ioncube_loader_lin_7.4.so" > /etc/php/7.4/mods-available/ioncube.ini | echo "zend_extension = /usr/lib/php/20190902/ioncube_loader_lin_7.4.so" > /etc/php/7.4/mods-available/ioncube.ini | ||
| Line 42: | Line 49: | ||
ln -s /etc/php/7.4/mods-available/ioncube.ini /etc/php/7.4/cli/conf.d/01-ioncube.ini | ln -s /etc/php/7.4/mods-available/ioncube.ini /etc/php/7.4/cli/conf.d/01-ioncube.ini | ||
'''3. Download and install GUI:''' | |||
cd /var/www/html | cd /var/www/html | ||
rm -f index.html | rm -f index.html | ||
wget "http://www.voipmonitor.org/download-gui?version=latest&major=5&phpver=74 | wget "http://www.voipmonitor.org/download-gui?version=latest&major=5&phpver=74" -O w.tar.gz | ||
tar xzf w.tar.gz | tar xzf w.tar.gz | ||
mv voipmonitor-gui*/* ./ | mv voipmonitor-gui*/* ./ | ||
'''4. Configure cron and permissions:''' | |||
echo "* * * * * root php /var/www/html/php/run.php cron" >> /etc/crontab | |||
echo " * * * * * root php /var/www/html/php/run.php cron" >> /etc/crontab | kill -HUP $(pgrep cron) | ||
kill -HUP | mkdir -p /var/spool/voipmonitor/ | ||
mkdir /var/spool/voipmonitor/ | |||
chown -R www-data /var/www/html | chown -R www-data /var/www/html | ||
chown www-data /var/spool/voipmonitor/ | chown www-data /var/spool/voipmonitor/ | ||
systemctl restart apache2 | |||
=set | == 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 <code>/etc/voipmonitor.conf</code> and set at minimum: | |||
interface = eth0 | |||
spooldir = /var/spool/voipmonitor | |||
cleandatabase = 31 | |||
sipport = 5060 | |||
maxpoolsize = 102400 | |||
{{Note|Replace <code>eth0</code> with your actual network interface name (e.g., <code>ens33</code>).}} | |||
'''3. Start and enable sensor:''' | |||
systemctl start voipmonitor | |||
systemctl enable voipmonitor | systemctl enable voipmonitor | ||
= | == Finish Installation == | ||
You can | |||
Open your browser and navigate to <code>http://your-server-ip/</code> 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' | gunzip '/var/www/html/bin/phantomjs-2.1.1-x86_64.gz' | ||
chmod +x '/var/www/html/bin/phantomjs-2.1.1-x86_64' | chmod +x '/var/www/html/bin/phantomjs-2.1.1-x86_64' | ||
| Line 73: | Line 102: | ||
gunzip '/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' | chmod +x '/var/www/html/bin/sox-x86_64' | ||
=Building | == 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 | mkdir /usr/src/voipmonitor-git | ||
cd /usr/src/voipmonitor-git | cd /usr/src/voipmonitor-git | ||
git clone https://github.com/voipmonitor/sniffer.git ./ | git clone https://github.com/voipmonitor/sniffer.git ./ | ||
./configure | ./configure | ||
make | make | ||
make install | |||
== See Also == | |||
* [[Scaling]] - Performance tuning | |||
* [[Configuration_file]] - Full configuration reference | |||
* [[GUI_installation]] - Detailed GUI setup | |||
Latest revision as of 22:17, 11 December 2025
This guide describes the installation of VoIPmonitor on Debian 11 (Bullseye) with PHP 7.4. The installation consists of three main components: MariaDB database, Web GUI, and the Sensor (sniffer).
Prerequisites
- Fresh Debian 11 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 [mysqld] section. See the scaling guide for more details.
innodb_flush_log_at_trx_commit = 2 innodb_file_format = barracuda innodb_buffer_pool_size = 8GB
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 php7.4-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 --no-continue http://voipmonitor.org/ioncube/x86_64/ioncube_loader_lin_7.4.so -O /usr/lib/php/20190902/ioncube_loader_lin_7.4.so echo "zend_extension = /usr/lib/php/20190902/ioncube_loader_lin_7.4.so" > /etc/php/7.4/mods-available/ioncube.ini ln -s /etc/php/7.4/mods-available/ioncube.ini /etc/php/7.4/apache2/conf.d/01-ioncube.ini ln -s /etc/php/7.4/mods-available/ioncube.ini /etc/php/7.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&phpver=74" -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 -R www-data /var/www/html 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
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
- Scaling - Performance tuning
- Configuration_file - Full configuration reference
- GUI_installation - Detailed GUI setup