GUI Installation: Difference between revisions

From VoIPmonitor.org
Jump to navigation Jump to search
No edit summary
 
(8 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{DISPLAYTITLE:GUI Installation and Upgrades}}


==GUI installation==
'''This guide provides a comprehensive overview of installing, reinstalling, and upgrading the VoIPmonitor web GUI. It covers both first-time installations and common maintenance scenarios like fixing a corrupted installation or upgrading after a PHP version change.'''
===Installing GUI for the first time===
The GUI requires some additional packages to be installed/configured - the steps of installing GUI varies by OS/distribution used.
Please follow the GUI installation [[ Content ]] of our doc in Install section for your linux distro


==Re-installing the GUI==
== Part 1: First-Time Installation ==
===After php upgrade===
If you are installing VoIPmonitor for the very first time on a new server, we provide detailed, step-by-step guides tailored to specific Linux distributions. These guides cover all necessary dependencies, including the web server, PHP, and the IonCube Loader.
If you upgraded the OS or php and the GUI pages failed to load/dispaly - It is sufficent to re-install the ioncube for php and GUI package of voipmonitor.


====Check your current ioncube configuration====
'''Please select the guide that matches your operating system from the main [[Install_voipmonitor|Installation Section]].'''
grep 'ioncube' /etc -Inri
and remove the old configuration file 00ioncube from the location


====Check your php version====
== Part 2: Reinstalling or Upgrading the GUI ==
php --version
This procedure is the correct solution for several common scenarios:
*'''Fixing a Corrupted Installation:''' If the GUI was damaged during a failed upgrade (e.g., due to a power loss or full disk).
*'''Upgrading after a PHP Version Change:''' If you have upgraded your server's operating system or PHP version and the GUI no longer loads.
*'''Manually Upgrading to the Latest GUI:''' To get the newest features and bug fixes.


====Install new ioncube====
This process overwrites the core application files but preserves your database and `config/configuration.php` file.
Example is for php 8.1 in kubu 22.04
wget http://voipmonitor.org/ioncube/x86_64/ioncube_loader_lin_8.1.so -O /usr/lib/php/8.1/ioncube_loader_lin_8.1.so
echo 'zend_extension = /usr/lib/php/8.1/ioncube_loader_lin_8.1.so' > /etc/php/8.1/cli/conf.d/01-ioncube.ini
echo 'zend_extension = /usr/lib/php/8.1/ioncube_loader_lin_8.1.so' > /etc/php/8.1/apache2/conf.d/01-ioncube.ini
service apache2 restart
Notes: Plese, take care on version of ioncube you will download, also take care on the destination folder you are storing the module to and the line you will add to .ini files.


====Install the GUI====
=== Step 1: Check Your Current PHP Version ===
Example is GUI for php 8.1 and  
The GUI package is compiled for a specific major PHP version. First, SSH into your server and determine which version is active for your web server.
First backup current/previous - expected is default GUI location in /var/www/html
<pre>
cp -a /var/www/html /var/www/html-backup
php --version
mkdir /tmp/new
</pre>
cd /tmp/new
Note the version number (e.g., `8.1`, `8.2`, `7.4`).
wget


==Example of modules stored for various versions of php in deb10 ==
=== Step 2: Back Up Your Current GUI Directory ===
/etc/php/7.4/apache2/conf.d/01-ioncube.ini:1:zend_extension = /usr/lib/php/20190902/ioncube_loader_lin_7.4.so
Before making any changes, create a full backup of your existing GUI web directory. This allows for an easy rollback if needed.
/etc/php/7.4/cli/conf.d/01-ioncube.ini:1:zend_extension = /usr/lib/php/20190902/ioncube_loader_lin_7.4.so
<pre>
/etc/php/7.3/apache2/conf.d/01-ioncube.ini:1:zend_extension = /usr/lib/php/20180731/ioncube_loader_lin_7.3.so
# The default path is /var/www/html, adjust if yours is different
/etc/php/7.3/cli/conf.d/01-ioncube.ini:1:zend_extension = /usr/lib/php/20180731/ioncube_loader_lin_7.3.so
sudo cp -a /var/www/html /var/www/html-backup-$(date +%F)
/etc/php/7.2/apache2/conf.d/01-ioncube.ini:1:zend_extension = /usr/lib/php/20170718/ioncube_loader_lin_7.2.so
</pre>
/etc/php/7.2/cli/conf.d/01-ioncube.ini:1:zend_extension = /usr/lib/php/20170718/ioncube_loader_lin_7.2.so


===From develop link===
=== Step 3: Install or Update the IonCube Loader ===
The VoIPmonitor GUI is protected with IonCube, which requires a specific loader extension for your PHP version.


Note: old [[GUI installation]]
;A. Find Your PHP Extension Directory:
<pre>
# This command will show you the path where PHP extensions should be placed
php -i | grep ^extension_dir
</pre>
The output will be something like `extension_dir => /usr/lib/php/20210902 => /usr/lib/php/20210902`. Note this path.
 
;B. Download the Correct IonCube Loader:
Use `wget` to download the loader that matches your PHP version (e.g., `8.1`) into the extension directory.
<pre>
# Example for PHP 8.1. Replace "8.1" with your version.
# Replace "/usr/lib/php/20210902" with the path from the previous command.
sudo wget http://voipmonitor.org/ioncube/x86_64/ioncube_loader_lin_8.1.so -O /usr/lib/php/20210902/ioncube_loader_lin_8.1.so
</pre>
 
;C. Create the IonCube Configuration File:
You must create a `.ini` file to tell PHP to load the extension. This needs to be done for both the web server and the command-line interface (CLI).
<pre>
# Example for PHP 8.1 on Debian/Ubuntu with Apache. Adjust paths as needed.
echo 'zend_extension = ioncube_loader_lin_8.1.so' | sudo tee /etc/php/8.1/apache2/conf.d/00-ioncube.ini
echo 'zend_extension = ioncube_loader_lin_8.1.so' | sudo tee /etc/php/8.1/cli/conf.d/00-ioncube.ini
</pre>
 
;D. Restart the Web Server:
<pre>sudo systemctl restart apache2</pre>
*(Or `nginx`, `php-fpm` depending on your setup)*
 
=== Step 4: Download and Run the GUI Installer ===
;1. Create a temporary directory and download the GUI package:
This command downloads the latest GUI package. Replace `81` with your PHP version number (e.g., `82` for 8.2, `74` for 7.4).
<pre>
mkdir /tmp/voipmonitor-gui-reinstall
cd /tmp/voipmonitor-gui-reinstall
 
# Example for PHP 8.1
wget "https://www.voipmonitor.org/download-gui?version=latest&major=5&allowed&phpver=81" -O gui.tar.gz
</pre>
 
;2. Extract the archive and run the installation script:
<pre>
tar xzf gui.tar.gz
cd voipmonitor-gui-*/scripts/
sudo bash install-gui.sh ../../gui.tar.gz
</pre>
The script will prompt you to confirm the installation path. Press '''Enter''' to confirm the default (e.g., `/var/www/html`).
 
=== Step 5: Finalize in Your Browser ===
After the script completes, you must finalize the process in your web browser.
*  Open the VoIPmonitor GUI.
*  Perform a '''hard refresh''' to bypass your browser's cache. The shortcut is '''Ctrl+Shift+R''' (or '''Cmd+Shift+R''' on Mac).
 
This final step loads all new assets and completes the update. Your GUI should now be fully functional.
 
== Installing a Development Build ==
If the support team provides you with a link to a development build to fix a specific issue, the process is very similar to a manual reinstall.
 
1.  '''Back up''' your current GUI directory as shown in Step 2 above.
2.  '''Download''' the specific `.tar.gz` file using the link provided by the support team.
3.  '''Extract and run''' the `install-gui.sh` script as shown in Step 4 above.
4.  '''Finalize''' in your browser with a hard refresh as shown in Step 5.
 
== AI Summary for RAG ==
'''Summary:''' This guide provides a comprehensive tutorial for installing, reinstalling, and upgrading the VoIPmonitor web GUI. It directs new users to the main distribution-specific installation guides. The core of the article is a detailed, five-step process for reinstalling the GUI, which is the recommended solution for fixing a corrupted installation or upgrading after a PHP version change. The steps include: 1) Checking the active PHP version with `php --version`. 2) Backing up the existing web directory. 3) A detailed subsection on installing the correct IonCube Loader for the new PHP version. 4) Downloading the correct GUI package using `wget` and running the `install-gui.sh` script. 5) Finalizing the process with a hard browser refresh (Ctrl+Shift+R). The guide also covers the similar process for installing a specific development build provided by the support team.
'''Keywords:''' install, reinstall, upgrade, gui, web interface, php, ioncube, `install-gui.sh`, corruption, php upgrade, `php --version`, ioncube loader, `a2enmod`, hard refresh
'''Key Questions:'''
* How do I reinstall the VoIPmonitor GUI?
* What should I do if the GUI is broken after an update or PHP upgrade?
* How do I install the IonCube Loader for a new version of PHP?
* What are the steps to run the `install-gui.sh` script?
* How can I safely back up my GUI files before a reinstallation?
* How do I download the latest GUI for a specific PHP version?
* How to install a development version of the GUI provided by support?

Latest revision as of 23:44, 30 June 2025


This guide provides a comprehensive overview of installing, reinstalling, and upgrading the VoIPmonitor web GUI. It covers both first-time installations and common maintenance scenarios like fixing a corrupted installation or upgrading after a PHP version change.

Part 1: First-Time Installation

If you are installing VoIPmonitor for the very first time on a new server, we provide detailed, step-by-step guides tailored to specific Linux distributions. These guides cover all necessary dependencies, including the web server, PHP, and the IonCube Loader.

Please select the guide that matches your operating system from the main Installation Section.

Part 2: Reinstalling or Upgrading the GUI

This procedure is the correct solution for several common scenarios:

  • Fixing a Corrupted Installation: If the GUI was damaged during a failed upgrade (e.g., due to a power loss or full disk).
  • Upgrading after a PHP Version Change: If you have upgraded your server's operating system or PHP version and the GUI no longer loads.
  • Manually Upgrading to the Latest GUI: To get the newest features and bug fixes.

This process overwrites the core application files but preserves your database and `config/configuration.php` file.

Step 1: Check Your Current PHP Version

The GUI package is compiled for a specific major PHP version. First, SSH into your server and determine which version is active for your web server.

php --version

Note the version number (e.g., `8.1`, `8.2`, `7.4`).

Step 2: Back Up Your Current GUI Directory

Before making any changes, create a full backup of your existing GUI web directory. This allows for an easy rollback if needed.

# The default path is /var/www/html, adjust if yours is different
sudo cp -a /var/www/html /var/www/html-backup-$(date +%F)

Step 3: Install or Update the IonCube Loader

The VoIPmonitor GUI is protected with IonCube, which requires a specific loader extension for your PHP version.

A. Find Your PHP Extension Directory
# This command will show you the path where PHP extensions should be placed
php -i | grep ^extension_dir

The output will be something like `extension_dir => /usr/lib/php/20210902 => /usr/lib/php/20210902`. Note this path.

B. Download the Correct IonCube Loader

Use `wget` to download the loader that matches your PHP version (e.g., `8.1`) into the extension directory.

# Example for PHP 8.1. Replace "8.1" with your version.
# Replace "/usr/lib/php/20210902" with the path from the previous command.
sudo wget http://voipmonitor.org/ioncube/x86_64/ioncube_loader_lin_8.1.so -O /usr/lib/php/20210902/ioncube_loader_lin_8.1.so
C. Create the IonCube Configuration File

You must create a `.ini` file to tell PHP to load the extension. This needs to be done for both the web server and the command-line interface (CLI).

# Example for PHP 8.1 on Debian/Ubuntu with Apache. Adjust paths as needed.
echo 'zend_extension = ioncube_loader_lin_8.1.so' | sudo tee /etc/php/8.1/apache2/conf.d/00-ioncube.ini
echo 'zend_extension = ioncube_loader_lin_8.1.so' | sudo tee /etc/php/8.1/cli/conf.d/00-ioncube.ini
D. Restart the Web Server
sudo systemctl restart apache2
  • (Or `nginx`, `php-fpm` depending on your setup)*

Step 4: Download and Run the GUI Installer

1. Create a temporary directory and download the GUI package

This command downloads the latest GUI package. Replace `81` with your PHP version number (e.g., `82` for 8.2, `74` for 7.4).

mkdir /tmp/voipmonitor-gui-reinstall
cd /tmp/voipmonitor-gui-reinstall

# Example for PHP 8.1
wget "https://www.voipmonitor.org/download-gui?version=latest&major=5&allowed&phpver=81" -O gui.tar.gz
2. Extract the archive and run the installation script
tar xzf gui.tar.gz
cd voipmonitor-gui-*/scripts/
sudo bash install-gui.sh ../../gui.tar.gz

The script will prompt you to confirm the installation path. Press Enter to confirm the default (e.g., `/var/www/html`).

Step 5: Finalize in Your Browser

After the script completes, you must finalize the process in your web browser.

  • Open the VoIPmonitor GUI.
  • Perform a hard refresh to bypass your browser's cache. The shortcut is Ctrl+Shift+R (or Cmd+Shift+R on Mac).

This final step loads all new assets and completes the update. Your GUI should now be fully functional.

Installing a Development Build

If the support team provides you with a link to a development build to fix a specific issue, the process is very similar to a manual reinstall.

1. Back up your current GUI directory as shown in Step 2 above. 2. Download the specific `.tar.gz` file using the link provided by the support team. 3. Extract and run the `install-gui.sh` script as shown in Step 4 above. 4. Finalize in your browser with a hard refresh as shown in Step 5.

AI Summary for RAG

Summary: This guide provides a comprehensive tutorial for installing, reinstalling, and upgrading the VoIPmonitor web GUI. It directs new users to the main distribution-specific installation guides. The core of the article is a detailed, five-step process for reinstalling the GUI, which is the recommended solution for fixing a corrupted installation or upgrading after a PHP version change. The steps include: 1) Checking the active PHP version with `php --version`. 2) Backing up the existing web directory. 3) A detailed subsection on installing the correct IonCube Loader for the new PHP version. 4) Downloading the correct GUI package using `wget` and running the `install-gui.sh` script. 5) Finalizing the process with a hard browser refresh (Ctrl+Shift+R). The guide also covers the similar process for installing a specific development build provided by the support team. Keywords: install, reinstall, upgrade, gui, web interface, php, ioncube, `install-gui.sh`, corruption, php upgrade, `php --version`, ioncube loader, `a2enmod`, hard refresh Key Questions:

  • How do I reinstall the VoIPmonitor GUI?
  • What should I do if the GUI is broken after an update or PHP upgrade?
  • How do I install the IonCube Loader for a new version of PHP?
  • What are the steps to run the `install-gui.sh` script?
  • How can I safely back up my GUI files before a reinstallation?
  • How do I download the latest GUI for a specific PHP version?
  • How to install a development version of the GUI provided by support?