HowTo: Upgrade OpenVBX

It’s always good to upgrade your installation of OpenVBX to the latest release and get all the latest features and bug fixes but it can be a little intimidating.  After all, you don’t want to lose all your call flows, users and messages in the process!  This guide should help you get the latest and greatest while keeping all your goodies.


The first thing to before upgrading any software is to make backup copies of your code and your data.  How you can accomplish this depends on your hosting provider.  If you have shell access you can just use mysqldump to make an export of your database.  If you don’t have shell access than you probably have a control panel like cPanel.

Make a backup copy of your database and your OpenVBX installation because there are uploaded audio files and configuration files in there.  You should also download these backups to your computer or upload them to DropBox or JungleDisk for safe keeping.

Download OpenVBX

The next step is to get the latest version of OpenVBX from Github.  There’s a big button called “Downloads” there and when you click it you’ll see some numbered releases in a list.  You’ll want the highest numbered release which at the time of this writing is 0.91.  When you click on that version number you’ll download a zip file containing OpenVBX.


The next step is to get this code up to your web server.  Exactly how these next steps go will vary depending on your hosting provider, skill level and the tools you have available to you on your personal computer so I’m going to keep it abstract.

The idea is to unpack the new OpenVBX right next to the old one and then copy a few key bits of information from the old one the new one.  Once that’s done you rename them so that your web server uses the new one.

The first thing to do is to unzip the code.  If you don’t have shell access to your server, you’ll have to unzip it on your personal computer and upload the folder.  If you have shell access than just upload the zip file and unzip it on the web server because it will upload much faster.

What you should have now is your old OpenVBX install and your new OpenVBX install sitting next to each other in the same sub-directory.  We haven’t done anything yet that would break your existing installation.

Copying Files

You’re going to need to copy over the following items to the new OpenVBX in order to accomplish a smooth upgrade:

  • OpenVBX/config/database.php
  • OpenVBX/config/openvbx.php
  • OpenVBX/config/email.php (if you’ve modified it)
  • audio-uploads/

Note: If you’ve made customizations to any of the other config files you should update the new files as necessary to ensure consistent operation of your site after the upgrade.

Once you’ve copied these files/directories, double check the permissions on audio-uploads and OpenVBX/config to make sure it’s writeable by the web server. On a Unix machine you would do

ls -ld audio-uploads

to make sure it looked like this

drwxrwxrwt  2 andy andy  4096 May 14 17:11 audio-uploads

and if it doesn’t look like that you’ll need to do a

chmod 777 audio-uploads

Do the same for the OpenVBX/config directory if necessary.

And the big reveal…

To put your new OpenVBX in production, what you’ll do is rename the old one to  a temporary name and then rename the new one to be what the old one used to be.  If there’s something wrong and you need to go back you can just rename the folders again and put the old one back in production.

If you have any questions or comments on this process or you’d like to add your own tips for other users let us know with a comment below or join our mailing list:



  1. Adam Varga
    Posted August 2, 2011 at 2:13 pm | Permalink

    Please update the upgrade instructions to make clear that, when copying an old config.php to a new config.php, to use the new $config[‘site_rev’] value. Otherwise the upgrade will not include the latest JS & CSS.

  2. Shawn Parker
    Posted August 9, 2011 at 2:42 pm | Permalink

    Thanks for pointing that out. To be more accurate though the instructions should be to migrate any changes from the old config.php file to the new config.php. That file doesn’t get changed much, if any, so it shouldn’t be pushed during the upgrade.

    Edit: that change is now made.

Post a Comment

Your email is never shared. Required fields are marked *