PfSense Install

From FusionPBX
Revision as of 16:56, 3 December 2011 by Jockwatson (talk | contribs) (Autostart freeswitch (pfSense V1&2))
Jump to: navigation, search

General Info

  • Install PfSense from ISO [1]
Note: PfSense 1.2.3 requires two network cards.  PfSense 2 doesn't have this limitation.

PFSense 2.0

PFSense 2.0 uses PHP 5 and therefore FusionPBX can installed inside the pfSense web directory.

  • Install PDO SQLite

From the pfSense console option 8 or from SSH run the following.

touch /etc/php_dynamodules/pdo_sqlite

or

touch /etc/php_dynamodules/pdo_sqlite
/etc/rc.php_ini_setup
exit

Restart the web server From the console choose option 11 to 'Restart webConfigurator'

HINT: If you don't get a sqlite database showing up in the first box of the php setup pages, check this post, and do a reboot after. http://forum.pfsense.org/index.php/topic,42031.0.html


  • Install FreeSWITCH
cd /usr/local/
fetch http://www.fusionpbx.com/downloads/pfsense/2.0/freeswitch.tgz
tar xvzf freeswitch.tgz -C /usr/local/
  • FusionPBX Install
cd /usr/local/www
fetch http://fusionpbx.googlecode.com/files/fusionpbx-2.0.9.tar.gz
tar xvzf fusionpbx-2.0.9.tar.gz -C /usr/local/www
  • Web Browser Install

Finish the install by using the your web browser and logging into pfSense web interface to the fusionpbx dir.

http://x.x.x.x/fusionpbx

PFSense 1.2.3

  • install the pfSense vhosts package by using the pfsense web gui and going to System, packages
  • add a website to the package by going to System, vhosts:
host: fusionpbx.local
ipaddress: LAN interface IP address
port: 8001
directory: fusionpbx.local

After saving your settings you have to go to Status-services and restart the vhosts package

  • install freeswitch from a compiled download. Note that even though pfsense is built on freebsd, there is so much removed from the OS on pfsense in order to make it lean and secure that you don't have enough there to do a compile locally. If you want to compile your own freeswitch you need to do it on a matching version of freebsd and copy it across to pfsense when it is complete.


FreeSWITCH Version 1.0.head (git-a2c0da5 2011-02-11 23-10-12 -0600) Started.

Compiled for pfSense 1.2.3 does not include mod_spandsp (fax support)

 cd /usr/local
 fetch http://dl.dropbox.com/u/16961177/freebsd/freeswitch_freebsd7.2.tgz
 tar xvzf freeswitch_freebsd7.2.tgz -C /usr/local

Autostart freeswitch (pfSense V1&2)

  • make freeswitch automatically start when the machine starts by going to a shell prompt on the machine and creating /usr/local/etc/rc.d/freeswitch.sh using vi. Do this by vi /usr/local/etc/rc.d/freeswitch.sh

press i (for insert) paste the following:

#!/bin/sh
rc_start() {
        /usr/local/freeswitch/bin/./freeswitch -nc
}

rc_stop() {
       /usr/local/freeswitch/bin/./freeswitch -stop
}

case $1 in
       start)
               rc_start
               ;;
       stop)
               rc_stop
               ;;
       restart)
               rc_stop
               rc_start
               ;;
esac

Then press ESC (to exit insert mode) and type :wq (to write the file and quit vi)

  • allow execute on the shell script:
 chmod +x /usr/local/etc/rc.d/freeswitch.sh

You can then start freeswitch by typing /usr/local/etc/rc.d/freeswitch.sh start

  • setup dns forwarder to point to fusion.local to the LAN IP address using the pfsense web gui - services, dns forwarder:
host: fusionpbx
domain: local
ipaddress: the IP address of the LAN interface
  • Then back at the shell prompt do the following:
 pkg_add -r subversion
 cd /usr/local/vhosts/fusion.local/
 svn checkout http://fusionpbx.googlecode.com/svn/trunk/fusion.local

You have now installed freeswitch and fusionpbx and can start to configure it.