Ok. I am not a sophisticated technical blogger. But I couldn’t find a good tutorial on how to get my FreePBX phone system moved over from an ancient Dell work station to our shiny new server running VMWare 5. We didn’t have the time or patience to run VMWare vSphere Web Client, so the latest version of virtual machine we run is 8. We will get around to upgrading all of this as soon as we get caught up (tee hee).
Anyways (writing from Chicago) we figured a VM was better than another old work station. We have about 50 phones in 6 physical locations. Two locations have servers and are currently joined with Dundi. Yes, we will be upgrading that someday, too.
First I tried to use VMware Standalone Converter to pull the running Linux machine into a VM. After messing around with it for a few hours with various boot disk and kernel panic issues, I figured there must be an issue with that, so just followed these steps:
- Created a new VM. Virtual Machine Version 8
- Type was Linux, CentOS 4,5,6 – 64 bit. This doesn’t matter much, as FreePBX installs to bare-metal
- Left the sockets and cores at 1 each, 2GB RAM, set Network interfaces at 1, Everything else was left on the defaults.
- Downloaded the .iso for latest stable version at FreePBX.org
- Uploaded the .iso to the datastore
- Set Boot Option in the VM to CD first, then added the FreePBX CD .iso to the Device Type in “Datastore ISO file.”
- Started the VM, Chose Full Install with Asterisk 11 – when in doubt, go with what’s on the top of the list.
- Leave the IP addressing on DHCP for now. We can change that to static later in the FreePBX GUI.
- Then I set a password for user ROOT and let ‘er fly.
So while that is installing, the best thing we like about FreePBX is the Free part. But in close second place is the fact that it is super simple for a generalist like me to setup and just let it run. It goes for months without a reboot and I regularly apply the patches that come in. I have had some hardware issues – which is why am bothering with this at all. The old PC doesn’t always boot on a re-start and I don’t like driving in Chicago traffic for an hour to go restart it. I do have another old machine running this as a lukewarm spare, but I will get in to that in another post.
Once installed, log in to the VM console, get the IP address and then use a web browser on another PC or Mac to set up the FreePBX GUI. Put the IP address in the browser and it will run you through the first time setup stuff. FreePBX talks about all that here. Make sure you go to Asterisk SIP Settings. Local Networks is critical, especially if you are on more than one subnet. Do not choose “root” for the user name in the FreePBX interface when you are setting this up. We use a separate username and password for Asterisk servers from what we have for Windows domain logins.
A few things I need to do in Linux. If you are not a Linux user, this is a good time to start. There is stuff all over the Internet on how to do what I am about to describe. First, I want to be able to find this server by hostname. Then, I want to use the FTP server to update phone configs, so I will need to add an FTP user name and password. Nowadays (I was raised in Missouri) FreeBPX has an endpoint (phone) manager but I am either too cheap or lazy. I am not sure if it costs anything, but it seems like it does, so I still download firmware and configs to phones the way I did when I set this up a few years ago. Next, I like to have the server let me know when it has patches to install or other notifications, so I use the built-in Postfix mail server for that. So using the VMware console or PUTTY ( free download, and again I just access the server by IP Address) I configure a few things from the command line. I use the program “VI” for this. It is already installed and I am not writing War and Peace here:
Set Hostname – use this command to open vi:
vi /etc/sysconfig/network
press the “Insert” key and set your host name like so:
Then hit “Escape and the colon “:” and “x” to save and exit.
Setup Email in Postfix. (For help: http://wiki.centos.org/HowTos/postfix)
vi /etc/postfix/main.cf
Hunt down the sections for these settings and add these lines:
myhostname = sip03.mydomain.local
mydomain = mydomain.org
mynetworks = 10.10.0.0/16 127.0.0.0/8 (You may need to go to Google University to set this for your network. We have a lot of subnets)
Setup FTP server
If not already installed:
yum install vsftpd
/etc/init.d/vsftpd restart
Add User “ftpuser” with password “mypassword”. This is the user name and password each phone will need to get its configuration settings. Skip this if you want to just manually program each phone. I think once you have more than three or phones, this is way easier. I will do another post on FTP phone config later. Anyway, not in vi, but just at the Linux command line, add your “ftpuser” with these two commands. The second one will prompt you for a new password:
useradd ftpuser
passwd ftpuser
Then, allow user to access the FTP server:
Check the ftp configuration to make it says this:
vi /etc/vsftpd/vsftpd.conf
userlist_deny=no
Then add you user name to the FTP “allow” list:
vi /etc/vsftpd/user_list
add ftpuser
Test this with an FTP client or another computer on the network with FTP on the command line.
Make sure the “Start FTP server on boot” is set correctly:
chkconfig vsftpd on
service vsftpd restart
You will want to either disable the CD for the next start up or change the boot order back to Hard Disk first, or it may be a problem on next boot!
Next Post will be on getting the settings form an existing server on to this one. I need to find time to tell you about that, but if you are in a hurry, there is a good post here
You must be logged in to post a comment.