====== Upgrading a FreePBX Distro ====== **Downloads**: https://downloads.freepbxdistro.org/ISO/ **Upgrade In-Place**: https://wiki.freepbx.org/display/FOP/FreePBX+16+Version+Upgrade+Module :!: **Take a VM snapshot first!** ===== SNG7 ===== https://wiki.freepbx.org/display/PPS/Upgrading+SNG7+PBX+to+latest+SNG7+Version cat /etc/schmooze/pbx-version ==== GUI Upgrade ==== :!: You are probably better off using the CLI, especially if there are many updates. - Update PBX and OS Modules - First use **Module Admin -> Module Updates** - Then use **Module Admin -> System Updates** - Reboot the PBX - **System Admin -> Power Options -> Reboot** ==== Manual Upgrade ==== Upgrade all FreePBX modules: fwconsole ma upgradeall && fwconsole r Or, if you want to install all new modules or reinstall any uninstalled modules: fwconsole ma installall && fwconsole r Finally, we update the host OS and reboot: yum -y update && yum clean all && reboot ==== Changing Major Asterisk Versions ==== asterisk-version-switch ==== Upgrade from FreePBX 10.13.66 ==== https://wiki.freepbx.org/display/PPS/Upgrading+from+FreePBX+10.13.66+to+SNG7 ===== FreePBX Distro 10.13.66 or Older ===== http://wiki.freepbx.org/display/PPS/Updating+FreePBX+Official+Distro http://wiki.freepbx.org/display/PPS/FreePBX-Distro-10.13.66 :!: **Don't** use ''yum update''. :!: Run the scripts **in order**. :!: Do **Apply Config** at the end instead of after each update. :!: The FreePBX **System Admin Pro** module provides buttons that will do all the updates in order. :!: For **simple updates**, and **after script updates**, use the **Module Admin** module to upgrade all modules. :!: **If you have removed the System Firewall module**, the update scripts will reinstall it. You'll have to uninstall it again from **Module Admin**. Running the upgrade scripts will probably reinstall any core modules you had previously removed. If you had previously uninstalled the Firewall module, you will have to remove it again after the update. Additionally, if you had disabled iSymphony from starting up (to save RAM), you may have to disable it again. If you have **installed the commercial EPM** and **disabled the firewall**, you will want to **remove these modules** using Module Admin: * **OSS PBX End Point Manager** * **Bulk Phone Restart** * **Firewall** chkconfig iSymphonyServerV3 off ==== Check Current Version ==== cat /etc/schmooze/pbx-version or for older systems: cat /etc/asterisk/freepbxdistro-version ==== Update Script ==== Logic suggests it would be a good idea to reboot the PBX before running the ''update_freepbx.sh'' script. This script will download and execute the next version of official FreePBX Distro update script in the series **FreePBX-Distro-10.13.66**. It does not do just module updates (other than when done by the official version update scripts). Use the GUI Module Admin module to update only the modules. Run as ''root'': #!/bin/bash ugdir=/root/upgradescripts if [ ! -d $ugdir ] then mkdir $ugdir fi version=`cat /etc/schmooze/pbx-version` base=`echo $version | cut -f1 -d'-'` build=`echo $version | cut -f2 -d'-'` echo "" echo ---------------------------------------- echo Current FreePBX version is $version echo Checking for updates... echo ---------------------------------------- echo "" error=0 while [ $error = 0 ] do build=`expr $build + 1` wget http://upgrades.freepbxdistro.org/stable/$base/upgrade-$base-$build.sh -O $ugdir/upgrade-$base-$build.sh error=$? if [ $error = 0 ] then chmod +x $ugdir/upgrade-$base-$build.sh $ugdir/upgrade-$base-$build.sh fi done echo "" echo ---------------------------------------- echo Finished. echo ---------------------------------------- echo "" ===== Migrate to New Hardware ===== **Backup and Restore** of the same FreePBX version seems to work great. :!: You will need to **activate** the FreePBX Distro Deployment on the new PBX. ==== Legacy ==== **Upgrade 10.13.66 to SNG7**: https://wiki.freepbx.org/display/PPS/Upgrading+from+FreePBX+10.13.66+to+SNG7 Allows you to take **any FreePBX based system on version 2.9 or newer** and have it **migrate all the PBX settings to a new system**. This includes systems such as **Elastix, PBXinaFlash or any other FreePBX based system including FreePBX Distro** systems and manually installed systems on unsupported operating systems. **Demo Video and Howto**: https://www.freepbx.org/home2freepbx-conversion-tool/ :!: Note that any TRUNKS will be set to ''disabled'' on the NEW machine!