Upgrade
If you are looking to upgrade your current version of FusionPBX to the next release version click here.
The FusionPBX code is constantly evolving.
- Bug fixes being submitted
- Additions to improve security
- Making FusionPBX look nicer
- More flexible
- More scalable
- New features
A complete summary of the changes can be found on the github code page https://github.com/fusionpbx/fusionpbx/commits/master.
Go to the menu then click on Advanced and then Upgrade. This tool allows you to update the source code, update the database structure, restore the default menu and permissions. Click here for the Youtube video.
![../_images/fusionpbx_upgrade.jpg](https://docs.fusionpbx.com/en/latest/_images/fusionpbx_upgrade.jpg)
* cd /var/www/fusionpbx
git pull
chown -R www-data:www-data *
*Upgrade Database with advanced -> upgrade schema
*Update permissions
*Update the menu
*Logout and back in
How to Upgrade
![../_images/fusionpbx_upgrade_green.jpg](https://docs.fusionpbx.com/en/latest/_images/fusionpbx_upgrade_green.jpg)
Step 1: Update FusionPBX Source
Used to update FusionPBX to the latest release.
Upgrade the code via Github/GIT
mkdir /etc/fusionpbx
mv /var/www/fusionpbx/resources/config.php /etc/fusionpbx
mv /usr/local/freeswitch/scripts/resources/config.lua /etc/fusionpbx
cd /var/www
cp -R fusionpbx fusionpbx_backup
Change the directory''' to the FusionPBX directory
cd /var/www/fusionpbx
Update the source code (example assumes fusionpbx is in /var/www/fusionpbx)
cd /var/www/fusionpbx
git pull
cd /var/www/fusionpbx
chown -R www-data:www-data *
Step 2: Update Freeswitch Scripts
Update Freeswitch
cp -R /usr/local/freeswitch/scripts /usr/local/freeswitch/scripts-bak
rm -Rf /usr/local/freeswitch/scripts/
cd /usr/src
git clone https://github.com/fusionpbx/fusionpbx.git
cp -R /var/www/fusionpbx/resources/install/scripts /usr/local/freeswitch
chown -R www-data:www-data /usr/local/freeswitch/scripts
cp -R /usr/local/freeswitch/scripts-bak/resources/config.lua /usr/local/freeswitch/scripts/resources/config.lua
(The last step above is not required if your config.lua file is being stored in a different location, such as the /etc/fusionpbx folder.)
cp -R /usr/local/freeswitch/scripts /usr/local/freeswitch/scripts-bak
rm -rf /usr/local/freeswitch/scripts/*
Step 3: Upgrade Schema
![../_images/fusionpbx_upgrade_schema_data_types.jpg](https://docs.fusionpbx.com/en/latest/_images/fusionpbx_upgrade_schema_data_types.jpg)
cd /var/www/fusionpbx
/usr/bin/php /var/www/fusionpbx/core/upgrade/upgrade.php
http://domain_or_ip/mod/users/usersupdate.php
Step 4: Apply permissions and Restart Freeswitch
chown -Rv www-data:www-data /usr/local/freeswitch/
systemctl restart freeswitch
Step 5: Menu
http://domain_or_ip/core/menu/menu_restore_default.php
Step 6: Re-generate Settings
Move to a different Branch
FusionPBX has a stable and a master(development) branch. You can switch from stable to master but not recomended to downgrade.
Move to the Stable Branch
mv /var/www/fusionpbx /var/www/fusionpbx-old
cd /var/www && git clone -b 4.4 https://github.com/fusionpbx/fusionpbx.git
chown -R www-data:www-data /var/www/fusionpbx
Make sure config.php exists in /etc/fusionpbx If missing then move it into this directory.
cp /var/www/fusionpbx-master/resources/config.php /etc/fusionpbx
Move to the Master Branch
mv /var/www/fusionpbx /var/www/fusionpbx-old
cd /var/www && git clone https://github.com/fusionpbx/fusionpbx.git
chown -R www-data:www-data /var/www/fusionpbx
- Complete the normal upgrade process at Advanced -> Upgrade
- If the menu disappears you have to upgrade schema then restore the default menu to get it back.