How To: Install OpenVBX on CentOS Rackspace Could Server
If you are like me and have a couple old mobile phone numbers that you may have ported to Google Voice or some other service then this post will be very useful. In prior posts I discussed Twilio, SaaS providing voice and sms capabilities, which I have used with my old mobile phone number to ensure I get all my phone calls and txt messages sent to those old numbers. Combining the power of Twilio and OpenVBX, an open source project for a virtual PBX like Grasshopper, I can route calls to my current mobile phone number and have voice mail’s transcribed to my email.
So to do this I had to port the phone numbers I wanted to use over to Twilio which is free and depending on the losing carrier can take 7 days to 30 days. I highly recommend being very thorough with your porting forms and sending in a copy of the bill this will help make sure the process does not get stopped due to the losing carrier.
Once you get an LOA that the numbers are going to port spin up a Rackspace Cloud Centos server to install OpenVBX on. I am a big fan of Rackspace Cloud servers over AWS due to their easy to use interface, number of options like load balancers and Rackspace’s phenomenal support. When I run into problems the support is a chat message away and they always go above and beyond their supported areas, like one instance where I was having problems compiling something with the default kernel they helped me find different kernel sources to get it working. Anyway on to the OpenVBX install.
Once your server is up and running it will require Apache, MySQL and a few dependencies. Use the yum command below to install required software.
yum install httpd php php-pecl-memcache php-pecl-apc-devel php-mysql mysql-server mysql-devel unzip
After the software finishes installing go ahead and reboot the server.
Now you will need to download the OpenVBX software to install on the server. Here is a link to the website http://www.openvbx.org and there is a download button on the home page or just do a wget to this url from github https://github.com/twilio/OpenVBX/archive/master.zip.
To install the Open VBX app on your web server follow these commands below, this will download the app, put the site in the root of the web server and install the database.
cd /usr/src/ wget https://github.com/twilio/OpenVBX/archive/master.zip unzip master mv OpenVBX-master/ /var/www/html/OpenVBX cd /var/www/html/OpenVBX service mysqld start service httpd start mysqladmin -u root password 'newpassword' mysql -u root -p'newpassword' create database openvbxdb; exit mysql -u root -p'newpassword' -D openvbxdb < openvbx.sql chgrp apache OpenVBX/config/ chgrp apache audio-uploads/ chmod g+w OpenVBX/config/ chmod g+w audio-uploads/
When you are done with that there is a web installer to follow as seen below.
Step 1: Check for all the prerequisites. As you can see in the screenshot I did not setup the permissions correctly but if you followed my command line setup this will not be an issue.
Here you can see the checks all worked perfectly.
Step 2: Next it will ask you to enter in the database credentials as we used above, so in this example it would be as follows:
Username: root
Password: newpassword
Database: openvbxdb
Step 3: Now you need to enter your Twilio account credentials for the API to work correctly, you can find those at the top of the page once you login as highlighted in the screenshot.
Step 4: Enter in an email address you want the PBX notifications to come from.
Step 5: Create your user account to login and configure your virtual PBX and be able to buy DID numbers.
Step 6: All done the install is complete now you can login to your install by clicking the login button and using the username and password you created above.
Patrick, thanks for the tip. This never ocecurrd to me since I regularly use Twilio. Thankfully, I have to manually recharge my Twilio credits, so an infinite loop would only put me out $20.