PfSense Install

General Info
Note: PfSense 1.2.3 requires two network cards. PfSense 2 doesn't have this limitation.
 * Install PfSense from ISO

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

cd /usr/local/ fetch http://www.fusionpbx.com/downloads/pfsense/2.0/freeswitch.tgz tar xvzf freeswitch.tgz -C /usr/local/
 * Install FreeSWITCH

NOTE: Fax reception is not enabled in this version of freeswitch.

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
 * FusionPBX 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
 * Web Browser Install

PFSense 1.2.3
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 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:


 * 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)
press i (for insert) paste the following: 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
 * 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
 * 1) !/bin/sh

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

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

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

host: fusionpbx domain: local ipaddress: the IP address of the LAN interface
 * setup dns forwarder to point to fusion.local to the LAN IP address using the pfsense web gui - services, dns forwarder:

pkg_add -r subversion cd /usr/local/vhosts/fusion.local/ svn checkout http://fusionpbx.googlecode.com/svn/trunk/fusion.local
 * Then back at the shell prompt do the following:


 * If pkg_add fails with an error message like  Error: Unable to get ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.1-release/Latest/subversion.tbz: File unavailable (e.g., file not found, no access)  enter the following command and try again:  setenv PACKAGESITE "ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8-stable/Latest/" 

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