FreeBSD Install

From FusionPBX
Revision as of 14:30, 10 July 2011 by Rneese (talk | contribs) (Devel-Ports)
Jump to: navigation, search


My Goal

My Goal is to make a easy to install PBX Based on Freebsd Freeswitch and the Fusionpbx gui.

I am tired of iso's that don't work/install correctly. So I Have taken the time to walk you through a base
install and include a script that uses ports that are maintained outside the bsd ports tree due to the fact they
are easier to maintain and update.

By Default this script installs nginx and sqlite3.

If you need Apache or another web server you will have to do this yourself. (Please take the time to Document it below if you do.)
If you wish to use mysql or Postgresql then you can select them when the nginx port buildsit only installs the connector clients.

You will have to install the mysql or postgresql server either on the same box or a remote
server of your choice and configure it properly.

My new install script does all the work.
It setus up freeswitch / nginx / sqlite3 / fusionpbx.
it will pull and install all the needed dependencies and configuration files for you.

FreeBSD iso's

Use 8.2 for a stable install
Download a Freebsd 8.2 install iso and burn it to a disc.
i386-net: ftp://ftp.freebsd.org/pub/FreeBSD/ISO-IMAGES-i386/8.2/FreeBSD-8.2-RELEASE-i386-disk1.iso
amd64: ftp://ftp.freebsd.org/pub/FreeBSD/ISO-IMAGES-amd64/8.2/FreeBSD-8.2-RELEASE-amd64-disk1.iso
ia64: ftp://ftp.freebsd.org/pub/FreeBSD/ISO-IMAGES-ia64/8.2/FreeBSD-8.2-RELEASE-ia64-disk1.iso

Download a Freebsd 8.2 bootonly to do a network install
i386-net: ftp://ftp.freebsd.org/pub/FreeBSD/ISO-IMAGES-i386/8.2/FreeBSD-8.2-RELEASE-i386-bootonly.iso
amd64: ftp://ftp.freebsd.org/pub/FreeBSD/ISO-IMAGES-amd64/8.2/FreeBSD-8.2-RELEASE-amd64-bootonly.iso
ia64: ftp://ftp.freebsd.org/pub/FreeBSD/ISO-IMAGES-ia64/8.2/FreeBSD-8.2-RELEASE-ia64-bootonly.iso

Use 9.x for beat testing and development.
Download a Freebsd 9.x install iso and burn it to a disc.
ftp://ftp.freebsd.org/pub/FreeBSD/snapshots/201105/FreeBSD-9.0-CURRENT-201105-i386-dvd1.iso
ftp://ftp.freebsd.org/pub/FreeBSD/snapshots/201105/FreeBSD-9.0-CURRENT-201105-amd64-dvd1.iso
ftp://ftp.freebsd.org/pub/FreeBSD/snapshots/201107/FreeBSD-9.0-CURRENT-201107-ia64-release.iso

Download a Freebsd 9.x bootonly to do a network install
ftp://ftp.freebsd.org/pub/FreeBSD/snapshots/201105/FreeBSD-9.0-CURRENT-201105-i386-bootonly.iso
ftp://ftp.freebsd.org/pub/FreeBSD/snapshots/201105/FreeBSD-9.0-CURRENT-201105-amd64-bootonly.iso
ftp://ftp.freebsd.org/pub/FreeBSD/snapshots/201107/FreeBSD-9.0-CURRENT-201107-ia64-bootonly.iso

FreeBSD Minimal Install

Boot the iso and when you get the install menu select Custom Install.
goto partition
hit enter
hit A and answer yes
select standard
next goto label and hit a=auto q=quit goto distribution and select minimal (a)
hit tabkey and enter
goto media
(For CD Install) select cd/dvd
(FOR Net Install) select FTP / FTP Passive / Answer Questions
then goto commit.
the os will now install

FreeBSD Post Install Configuration

After the os installs it will ask if you want to configure the base system select yes.
scroll down and select root password and set the password.
scroll down and select timezone and set your time zone.
Scroll to network and the scroll to interface and hit the spacebar and configure your network card.
still in the network area select ntp and choose a ntpserver. Then select sshd and tcp extensions.
scroll up to exit and hit the enter.
scroll to startup and scroll down and deselect quotas.
then scroll up to exit and hit enter.
scroll up to exit .
hit tab and select exit install. Remove the cdrom and then reboot.
You now have a base/minimal install.

Freebsd + Freeswitch + FusionPbx - Installation Script

Get the script here.
http://dl.dropbox.com/u/152504/Freebsd-Fusionpbx
exec ./Freebsd-Fusionpbx and let it do its thing answering questions/prompts as needed.
When it prompts you for php modules you will need to select the php-fpm module.
Also when it prompts you for nginx you will need to select the http ssl module allowing
for https to function correctly

Devel-Ports

If you wish to use the development ports. Please pull http://dl.dropbox.com/u/152504/Freebsd-Fusionpbx-Devel
This script incluse a git port for freeswitch and a svn port for fusionpbx and any other ports I am currently testing to add to the freeswitch build.

When using the devel ports you need to refer to a few things to update the make files in the ports

http://files.freeswitch.org look at the sounds and music versions if they change you will have to edit thier Makefiles and change the version numbers.

http://code.google.com/p/fusionpbx/source/list to get the latest subversion number. Then edit the devel-ports/www/fusionpbx-svn/Makefile and change the SVN_REV= number to the latest.

to update the devel-ports/net/freeswitch-core-git & run make git-clean & make git & make git-version. Edit the make file and change the GITVERSION= number.

I am working on a script to dothis in the future.

NginX Setup

Setup included in script.

Apache Setup

<please Document>

Lighttpd Setup

<please document>

Postgresql Server Setup

\----Fresh pgsql install----/
cd /usr/ports/database/postgresql84-server && make install clean
To set and configure PgSQL for use with FusionPBX,
Follow this line for line.
for a fresh pgsql install follow :
su pgsql
initdb -D /usr/local/pgsql/data
postmaster -D /usr/local/pgsql/data >logfile 2>&1 &
createuser -S -e FusionPBX
createdb -O FusionPBX FusionPBX
psql -d FusionPBX -U FusionPBX
alter user FusionPBX with password 'pbx2010';or any passwd you want ";" required
psql -f /usr/local/www/fusionpbx/includes/install/sql/pgsql.sql FusionPBX
exit from su

For a existiting pgsql database install follow:
su pgsql
createuser -S -e FusionPBX
createdb -O FusionPBX FusionPBX
psql -d FusionPBX -U FusionPBX
ALTER USER FusionPBX with PASSWORD 'pbx2010'; or any passwd you want, ";" required

MySql Setup

<please document>

Final Step

Reboot your system and point your browser to:

https://ip.of.the.pbx