Debian Fusionpbx Pkg or Source Install

From FusionPBX
Revision as of 21:07, 9 June 2015 by Rneese (talk | contribs) (Steps for Install)
Jump to: navigation, search

Pre Install Information

OS Support:

Debian Wheezy (Stable) | Debian Jessie (Testing) | UBUNTU (UnSupported)

Database:

This script uses Sqlite by default for the fusionpbx database.

If you wish to use Postgresql locally or on a remote database server.

You need to edit the script and enable the pgsql-client or pgsql-server option.

And You will need to fill in the required information following the option.


This Install Script, if you do not select extra options will Install A very Minimal But operational pbx system.

Version Notice

This script supports building or installing for both stable and devel source and or packages.

Please make sure you select the correct option you need for Freeswitch and Fusionpbx

FusionPBX only installs from debian packages and follows the Debian FHS layout.

This script also expect the operator/admin to have a basic understanding of linux and its layout.

Install Debian Wheezy with iso

Download and install a minimal Debian wheezy

Get iso's here:

Offline Install Iso:

amd64: http://cdimage.debian.org/debian-cd/7.8.0/amd64/iso-cd/debian-7.8.0-amd64-CD-1.iso

Net Install iso:

net-amd64: http://cdimage.debian.org/debian-cd/7.8.0/amd64/iso-cd/debian-7.8.0-amd64-netinst.iso

Burn the iso to disk Or use http://unetbootin.sourceforge.net/ to create your installation thumb stick. (Win/Linux)

Steps for Install

Step 1 : Install a minimal version of debian. (Including ssh server)
Step 2 : ssh into the system..
(MENT FOR STABLE / PRODUCTION SYSTEM INSTALLS / USE AT OWN RISK ... FOR TESTING AND DEVELOPMENT)
then get: wget http://fusionpbx.googlecode.com/svn/trunk/scripts/install/Debian/FusionPbx-Debian-Optional-Pkgs-or-Source-Install.sh
Step 3 : nano / vi the FusionPbx-Debian-Optional-Pkgs-or-Source-Install.sh script and select the extra options you want
In this script section change the ( n to y ) to enable or ( y to n ) to disable the option.

Please read all the information in the top of the script and make sure you understand it.
################### FreeSWITCH Debian FHS Configuration ########################

 " FreeSWITCH Debian FHS Configuration "

    Locations:
     prefix:          /usr
     exec_prefix:     ${prefix}
     bindir:          ${exec_prefix}/bin
     sysconfdir:      /etc/freeswitch
     libdir:          ${exec_prefix}/lib

     certsdir:        /etc/freeswitch/tls
     dbdir:           /var/lib/freeswitch/db
     grammardir:      /usr/share/freeswitch/grammar
     htdocsdir:       /usr/share/freeswitch/htdocs
     logfiledir:      /var/log/freeswitch
     modulesdir:      /usr/lib/freeswitch/mod
     pkgconfigdir:    ${exec_prefix}/lib/pkgconfig
     recordingsdir:   /var/lib/freeswitch/recordings
     runtimedir:      /var/run/freeswitch
     scriptdir:       /var/lib/freeswitch/scripts
     soundsdir:       /usr/share/freeswitch/sounds
     storagedir:      /var/lib/freeswitch/storage
     cachedir:        /var/cache/freeswitch
     
################################################################################
########################################
#<------Start/Begin Edit HERE--------->
########################################
########################
# Freeswitch Options
########################
#####################################################################################################
# Set what language lang/say pkgs and language sound files to use. ( Only if pkgs install is selected )
# en-ca=English/CA en-us=English/US (default) fr-ca=French/Canadian pt-br=Portuguese/Brazill
# ru-ru=Russian/Russia sv-se=Swedish/Sweden zh-cn=chinese/Mandarin zh-hk=chinese/HongKong
#####################################################################################################
freeswitch_sounds_language="en-us"

################################################################
# Option to disable some loging execpt for  warnings and errors
################################################################
logging_level="n"
####################
# FUSIONPBX OPTIONS
####################
#############################################################################
#Set how long to keep freeswitch/fusionpbx log files 1 to 30 days (Default:5)
#############################################################################
keep_logs=5

#######################################################################
#Set mp3/wav file upload/post size limit ( Must Have the M on the end )
#######################################################################
upload_size="25M"

##########################################
#----Optional Fusionpbx Apps/Modules----
##########################################
#######################################
# DO NOT SELECT FROM BOTH !!!!!!!!!!
#######################################
###################################################################
# If you wish to install all options use THE ALL OPTION ONLY!!!!!!!
###################################################################
all="n" #: Install all extra modules for fusionpbx and related freeswitch deps

###############################################################
# Else select options fusionpbx module/appsfrom here........
###############################################################
adminer="n" # : integrated for an administrator in the superadmin group to enable easy database access
backup="n" # : pbx backup module. backup sqlite db / configs/ logs
call_broadcast="n" # : Create a recording and select one or more groups to have the system call and play the recording
call_center="n" # : display queue status, agent status, tier status for call centers using mod_callcenter call queues
call_flows="n" # : Typically used with day night mode. To direct calls between two destinations.
conference_centers="n" # : tools for multi room confrences and room contol
conference="n" # : tools for single room confrences and room contol
content="n" # : Advanced-Content Manager
edit="n" # : multi tools for editing (templates/xmlfiles/configfiles/scripts) files
exec="n" # : comman shells pages for executing (php/shells) commands
fax="n" # : fusionpbx send/recieve faxes service
fifo="n" # : first in first out call queues system
hot_desk="n" # : allows users to login and recieve calls on any office phone
schemas="n" # :
services="n" # : allows interaction with the processes running on your server
sipml5="n" # : php base softphone
sql_query="n" # : allows you to interactively submit SQL queries to the database used in FusionPBX
traffic_graph="n" # : php graph for monitoing the network interface traffic
xmpp="n" # : Configure XMPP to work with Google talk or other jabber servers
aastra="n" # : phone provisioning tool &  templates for aastra phones
atcom="n" # : phone provisioning tool &  templates for atcom phones
cisco="n" # : phone provisioning tool & templates for cisco phones
grandstream="n" # : phone provisioning tool & templates for grandstream phones
linksys="n" # : phone provisioning tool & templates for linksys phones
panasonic="n" # : phone provisioning tool & templates for panasonic phones
polycom="n" # : phone provisioning tool & templates for polycom phones
snom="n" # : provisioning tool & templates for snom phones
yealink="n" # : phone provisioning tool & templates for yealink phones
verto="n" # (x86/amd64 Only) (future option on arm)
accessible_theme="n" # : accessible theme for fusionpbx
classic_theme="n" # : classic theme for fusionpbx
default_theme="n" # : default theme for fusionpbx
minimized_theme="n" # : minimal theme for fusionpbx
######################################
# POSTGRESQL ( Optional Not Required)
######################################

################################################
# Please Select Server or Client not both !!!!!!
################################################

#################################################################################
# Install postgresql Client 9.4 for connection to remote postgresql servers (y/n)
#################################################################################
postgresql_client="n"

#################################################################################
# Install postgresql server 9.4 (y/n) (client included)(Local Machine)
# Notice:
# You should not use postgresql server on a nand/emmc/sd. It cuts the performance
# life in half due to all the needed reads and writes. This cuts the life of
# your pbx emmc/sd in half.
#################################################################################
postgresql_server="n"

##########################################################
# Set Postgresql Server Admin username ( Lower case only )
##########################################################
pgsql_admin=pgsqladmin

######################################
# Set Postgresql Server Admin password
######################################
pgsql_admin_passwd=pgsqladmin2015

####################################################################################
# Set Database Name used for fusionpbx in the postgresql server (Default: fusionpbx)
####################################################################################
db_name=fusionpbx

####################################################################################
# Set FusionPBX database admin name.(used by fusionpbx to access the database table
# in the postgresql server (Default: fusionpbx)
####################################################################################
db_user_name=fusionpbxadmin

###################################################################################
# Set FusionPBX database admin password .(used by fusionpbx to access the database 
# table in the postgresql server). Please set a very secure password !!!!!!
###################################################################################
db_user_passwd=fusionpbx2015
######################################
# ( Optional Not Required)
######################################
###############################################################################
# Disable xml_cdr files in /var/log/freeswitch/xml_cdr and only log cdr to the 
# sqlite or pgsql database only. 
###############################################################################
xml_cdr_files == "y"
 ################################################################
#Install Ajenti Optional Admin Portal  Optional (Not Required)
################################################################
install_ajenti="n"
####################################
#<------Stop/End Edit Here-------->
####################################

Step 4: save file

Step 5: chmod +x FusionPbx-Debian-Optional-Pkgs-or-Source-Install.sh

Step 6: run ./FusionPbx-Debian-Optional-Pkgs-or-Source-Install.sh

About 10 min into the install it will ask you to goto the gui and do the base configuration.. and then once you have done the gui configuration ...

Once you have finished the gui setup give it about 3 min to do the final setup/configuration and it will state your system is now ready for use.

Happy PBX'ing......

Postgresql Gui Configuration

If you Selected to use postgresql DB in the script on page 1 of the install select data base type of postgresql.

Set a Admin Name and password. and click next

ON this page enter the information echo'ed to you explaing to goto the web gui ip or domain name.

Gui-instl-1.jpg 
Gui-instl-2.jpg

then click on next.. wait for the data base to populate.

IF THE SCREEN SHOULD TIME OUT. WAIT A FEW MINUTES AND THEN GOTO

https://ip or domain/logout.php....

It will end the session and return you to the Login Screen.

at this point return to the terminal and wait for the system to say :

The install is now complete and your system is ready for use

Please send any feed back to r.neese@gmail.com

Post Install Of Optional/Extra Modules/Apps for Fusionpbx Web Gui

Please note: That if you used Freeswitch Source and not Freeswitch Packages  ... Do not install anythings that says freeswitch-mod-* as 

this will break the install. By default when using Freeswitch source all the modules needed are installed so you just need to install the 

fusionpbx-app-* packages.
Adminer:
apt-get -y --force-yes install fusionpbx-app-adminer
Backup:
apt-get -y --force-yes install fusionpbx-app-backup
Call Broadcast:
apt-get -y --force-yes install fusionpbx-app-call-broadcast
Call Center:
apt-get -y --force-yes install freeswitch-mod-callcenter fusionpbx-app-call-center fusionpbx-app-call-center-active
Call Flows
apt-get -y --force-yes install fusionpbx-app-call-flows
Conference Center:
apt-get -y --force-yes install freeswitch-mod-conference fusionpbx-app-conference-centers fusionpbx-app-conferences-active fusionpbx-app-meetings
Conferences: (old Conferences Tool)
apt-get -y --force-yes install freeswitch-mod-conference fusionpbx-app-conferences fusionpbx-app-conferences-active fusionpbx-app-meetings 
Editing Tools pages:
apt-get -y --force-yes install fusionpbx-app-edit
Execution tools Page:
apt-get -y --force-yes install fusionpbx-app-exec
Faxing application:
apt-get -y --force-yes install ghostscript libreoffice-common fusionpbx-app-fax
Fifo: (First In First Out Queues)
apt-get -y --force-yes install freeswitch-mod-fifo fusionpbx-app-fifo fusionpbx-app-fifo-list
Hot Desking:
apt-get -y --force-yes install fusionpbx-app-hot-desking
Schemas: (Database Schemas tools)
apt-get -y --force-yes install fusionpbx-app-schemas
Services: (Optional Services page)
apt-get -y --force-yes install fusionpbx-app-services
RTPM: (Html5 Sip Soft Phone)
apt-get -y --force-yes install fusionpbx-app-sipml5 freeswitch-mod-rtmp
SQL Query:
apt-get -y --force-yes install fusionpbx-app-sql-query
Traffic Graph:
apt-get -y --force-yes install fusionpbx-app-traffic-graph
Aastra: (aastra phone teplates + provisioning pages/tools)
apt-get -y --force-yes install fusionpbx-app-devices fusionpbx-app-provision fusionpbx-provisioning-template-aastra && \
cp -rp /usr/share/examples/fusionpbx/resources/templates/provision/aastra /etc/fusionpbx/resources/templates/provision/
Atcom: (atcom phone teplates + provisioning pages/tools)
apt-get -y --force-yes install fusionpbx-app-devices fusionpbx-app-provision fusionpbx-provisioning-template-atcom && \
cp -rp /usr/share/examples/fusionpbx/resources/templates/provision/atcom /etc/fusionpbx/resources/templates/provision/
Cisco: (cisco phone teplates + provisioning pages/tools)
apt-get -y --force-yes install fusionpbx-app-devices fusionpbx-app-provision fusionpbx-provisioning-template-cisco && \
cp -rp /usr/share/examples/fusionpbx/resources/templates/provision/cisco /etc/fusionpbx/resources/templates/provision/
Grandstream: (grandstream phone teplates + provisioning pages/tools)
apt-get -y --force-yes install fusionpbx-app-devices fusionpbx-app-provision fusionpbx-provisioning-template-grandstream && \
cp -rp /usr/share/examples/fusionpbx/resources/templates/provision/grandstream /etc/fusionpbx/resources/templates/provision/
Linksys: (linksys phone teplates + provisioning pages/tools)
apt-get -y --force-yes install fusionpbx-app-devices fusionpbx-app-provision fusionpbx-provisioning-template-linksys && \
cp -rp /usr/share/examples/fusionpbx/resources/templates/provision/linksys /etc/fusionpbx/resources/templates/provision/
Panasonic: (Panasonig phone teplates + provisioning pages/tools)
apt-get -y --force-yes install fusionpbx-app-devices fusionpbx-app-provision fusionpbx-provisioning-template-panasonic && \
cp -rp /usr/share/examples/fusionpbx/resources/templates/provision/panasonic /etc/fusionpbx/resources/templates/provision/
Polycom: (polycom phone teplates + provisioning pages/tools)
apt-get -y --force-yes install fusionpbx-app-devices fusionpbx-app-provision fusionpbx-provisioning-template-polycom && \
cp -rp /usr/share/examples/fusionpbx/resources/templates/provision/polycom /etc/fusionpbx/resources/templates/provision/
Snom: (snom phone teplates + provisioning pages/tools)
apt-get -y --force-yes install fusionpbx-app-devices fusionpbx-app-provision fusionpbx-provisioning-template-snom && \
cp -rp /usr/share/examples/fusionpbx/resources/templates/provision/snom /etc/fusionpbx/resources/templates/provision/
Yealink: (aastr phone teplates + provisioning pages/tools)
apt-get -y --force-yes install fusionpbx-app-devices fusionpbx-app-provision fusionpbx-provisioning-template-yealink && \
cp -rp /usr/share/examples/fusionpbx/resources/templates/provision/yealink /etc/fusionpbx/resources/templates/provision/
Verto:
apt-get -y --force-yes install freeswitch-mod-verto
Accessible Gui Interface Theme:
apt-get -y --force-yes install freeswitch-theme-accessible
Classic Gui Interface Theme:
apt-get -y --force-yes install freeswitch-theme-classic
Default Gui Interface Theme:
apt-get -y --force-yes install freeswitch-theme-default
Minimized Gui Interface Theme:
apt-get -y --force-yes install freeswitch-theme-minimized
All extra modules/Apps
apt-get -y --force-yes install fusionpbx-app-adminer fusionpbx-app-backup fusionpbx-app-call-broadcast freeswitch-mod-callcenter fusionpbx-app-call-center \
fusionpbx-app-call-center-active fusionpbx-app-call-flows freeswitch-mod-conference fusionpbx-app-conference-centers fusionpbx-app-conferences-active \
fusionpbx-app-meetings fusionpbx-app-conferences fusionpbx-app-content fusionpbx-app-edit fusionpbx-app-exec freeswitch-mod-fifo fusionpbx-app-fifo \
fusionpbx-app-fifo-list fusionpbx-app-hot-desking fusionpbx-app-schemas fusionpbx-app-services fusionpbx-app-sipml5 freeswitch-mod-rtmp fusionpbx-app-sql-query \
fusionpbx-app-traffic-graph freeswitch-mod-dingaling fusionpbx-app-xmpp fusionpbx-app-devices fusionpbx-app-provision fusionpbx-provisioning-template-aastra \
fusionpbx-provisioning-template-atcom fusionpbx-provisioning-template-cisco fusionpbx-provisioning-template-grandstream fusionpbx-provisioning-template-linksys \
fusionpbx-provisioning-template-panasonic fusionpbx-app-provision fusionpbx-provisioning-template-polycom fusionpbx-app-provision fusionpbx-provisioning-template-snom \
fusionpbx-provisioning-template-yealink fusionpbx-theme-accessible fusionpbx-theme-classic fusionpbx-theme-default fusionpbx-theme-minimized freeswitch-mod-verto
Copy all installed phone templates into place :
cp -rp /usr/share/examples/fusionpbx/resources/templates/provision/* /etc/fusionpbx/resources/templates/provision/

After Installing/ Enabling Optional Modules/Apps

Login to the Gui, Goto Advanced ==> upgrade ==> and check all the boxes and hit apply.
Logout of the gui and Re-Login and the new functions will appear and function properly...