Debian Fusionpbx Pkg or Source Install

From FusionPBX
Revision as of 19:06, 9 January 2015 by Rneese (talk | contribs) (Steps for Install)
Jump to: navigation, search

Pre Install Information

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.

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

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

Install Debian Wheezy with iso

Download and install a minimal Debian wheezy

Get iso's here: Offline Install Iso:

i386: http://cdimage.debian.org/debian-cd/7.7.0/i386/iso-cd/debian-7.7.0-i386-CD-1.iso

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

Net Install iso:

net-x86: http://cdimage.debian.org/debian-cd/7.7.0/i386/iso-cd/debian-7.7.0-i386-netinst.iso

net-amd64: http://cdimage.debian.org/debian-cd/7.7.0/amd64/iso-cd/debian-7.7.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 : chmod +x FusionPbx-Debian-Optional-Pkgs-or-Source-Install.sh

step 4 : 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 infor in the top of the script and make sure you understand it.

################################################################################
#
# Pre-Install Information:
#
# This script uses Sqlite by default for the fusionpbx database.
#
# If you wish to use postgresql locally or on a remote server.
#
# You need to edit the script and enable the pgsql-client or pgsql option 
#
# and fill in the required information.
#
################################################################################
################### 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
########################
############################################################
# Select to use the Release or head branch of freeswitch
# if you select to change y to n it will use 1.5 head branch
############################################################
freeswitch_stable="y"

################################################################################ 
# If you select to use the freeswitch pkgs it will use the prebuilt debian pkgs.
# If you select not to use the freeswitch debian pkgs it will use git and pull
# down all the build deps and and git the freeswitch src and build and install
# from the freeswitch source code using the debian fhs lay out.
################################################################################
use_freeswitch_pkgs="n"

#####################################################################################################
# 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
#####################################################################################################
use_lang="en-us"

################################################################################
#Set what sounds to use when using the freeswitch source build.
# cdsounds = 8k / 16k / 32k / 48k 
# if you select not to use cd sounds it will use
# hdsounds = 8k / 16k sounds only
################################################################################
use_cd_sounds=="y" 

################################################################################
# If you select not to use pkgs but to build from source. Here is a option to
# set how many COU_CORES are used to compile with
################################################################################
CPU_CORES=1

################################################################################
# If you select not to use pkgs but to build from source. Here is a option to
# pull and use the freeswitch contribs src for extra modules. (UNDER DEVELOPMENT)
################################################################################
use_freeswitch_contrib="n"

################################################################################
# Enable / Build Freetdm into freeswitch (UNDER DEVELOPMENT)
################################################################################
use_freetdm="n"
################################################################################
# Enable / Build GsmOpen into freeswitch (UNDER DEVELOPMENT)
################################################################################
use_gsmopen="n"

################################################################################
#Freeswutch Modules Selection
################################################################################
use_extra_modules="n"
#####################################################
#Freeswitch Default Enabled Modules ( Required for base build )
#####################################################
 #applications/mod_commands    #applications/mod_conference    #applications/mod_db
 #applications/mod_dptools     #applications/mod_enum          #applications/mod_esf
 #applications/mod_expr        #applications/mod_fifo          #applications/mod_fsv
 #applications/mod_hash        #applications/mod_httapi        #applications/mod_sms
 #applications/mod_spandsp     #applications/mod_valet_parking #applications/mod_voicemail
 #codecs/mod_amr               #codecs/mod_bv                  #codecs/mod_b64
 #codecs/mod_g723_1            #codecs/mod_g729                #codecs/mod_h26x
 #codecs/mod_vp8               #codecs/mod_opus                #dialplans/mod_dialplan_asterisk
 #dialplans/mod_dialplan_xml   #endpoints/mod_rtc              #endpoints/mod_verto
 #endpoints/mod_loopback       #endpoints/mod_skinny           #endpoints/mod_sofia
 #event_handlers/mod_cdr_csv   #event_handlers/mod_cdr_sqlite  #event_handlers/mod_event_socket
 #formats/mod_local_stream     #formats/mod_native_file        #formats/mod_portaudio_stream
 #formats/mod_sndfile          #formats/mod_tone_stream        #languages/mod_lua
 #loggers/mod_console          #loggers/mod_logfile            #loggers/mod_syslog
 #say/mod_say_en               #xml_int/mod_xml_cdr            #xml_int/mod_xml_rpc
 #xml_int/mod_xml_scgi
#####################################################
# Fusionpbx Default enabled Modules
#####################################################
 #applications/mod_blacklist   #applications/mod_callcenter    #applications/mod_cidlookup
 #applications/mod_curl        #applications/mod_distributor   #applications/mod_esl
 #applications/mod_lcr         #applications/mod_memcache      #codecs/mod_amrwb
 #codecs/mod_celt              #codecs/mod_codec2              #codecs/mod_ilbc
 #codecs/mod_isac              #codecs/mod_silk                #codecs/mod_siren
 #codecs/mod_theora            #mod_portaudio                  #mod_portaudio_stream
 #mod_dingaling                #mod_spy                        #mod_translat
 #mod_flite                    #mod_pocketsphinx               #mod_tts_commandline
 #mod_event_multicast          #mod_event_test                 #mod_shout
 #mod_rtmp (sipml5)            #mod_random
################################################################################
#Enable optional modules from list above here used for fusionpnbx build !!!!!!
################################################################################
fusionpbx_modules_add=( mod_blacklist mod_callcenter mod_cidlookup mod_curl mod_distributor \
   mod_esl mod_lcr mod_memcache mod_amrwb mod_celt mod_codec2 mod_isac mod_silk mod_siren \
   mod_theora mod_portaudio mod_dingaling mod_spy mod_translate mod_flite mod_pocketsphinx \
   mod_tts_commandline mod_event_multicast mod_event_test mod_shout mod_rtmp mod_random )
#############################
# Optional Freeswitch Modules
#############################
 #applications/mod_abstraction     #applications/mod_avmd            #applications/mod_bert
 #applications/mod_cluechoo        #applications/mod_directory       #applications/mod_easyroute
 #applications/mod_fsk             #applications/mod_http_cache      #applications/mod_ladspa
 #applications/mod_mongo           #applications/mod_mp4             #applications/mod_nibblebill
 #applications/mod_oreka           #applications/mod_osp             #applications/mod_prefix
 #applications/mod_rad_auth        #applications/mod_redis           #applications/mod_rss
 #applications/mod_sonar           #applications/mod_snapshot        #applications/mod_snipe_hunt
 #applications/mod_snom            #applications/mod_soundtouch      #applications/mod_stress
 #applications/mod_vmd             #applications/mod_voicemail_ivr   #applications/mod_random
 #asr_tts/mod_cepstral             #asr_tts/mod_unimrcp              #codecs/mod_com_g729
 #codecs/mod_dahdi_codec           #codecs/mod_mp4v                  #codecs/mod_sangoma_codec
 #dialplans/mod_dialplan_directory #directories/mod_ldap             #endpoints/mod_alsa
 #endpoints/mod_h323               #endpoints/mod_khomp              #endpoints/mod_opal
 #endpoints/mod_skypopen           #endpoints/mod_unicall            #event_handlers/mod_cdr_mongodb
 #event_handlers/mod_cdr_pg_csv    #event_handlers/mod_erlang_event  #event_handlers/mod_event_zmq
 #event_handlers/mod_format_cdr    #event_handlers/mod_json_cdr      #event_handlers/mod_radius_cdr
 #event_handlers/mod_odbc_cdr      #event_handlers/mod_rayo          #event_handlers/mod_snmp
 #formats/mod_shell_stream         #formats/mod_ssml                 #formats/mod_vlc
 #languages/mod_basic              #languages/mod_java               #languages/mod_managed
 #languages/mod_perl               #languages/mod_python             #languages/mod_v8
 #languages/mod_yaml               #loggers/mod_graylog2             #say/mod_say_de
 #say/mod_say_es                   #say/mod_say_es_ar                #say/mod_say_fa
 #say/mod_say_fr                   #say/mod_say_he                   #say/mod_say_hr
 #say/mod_say_hu                   #say/mod_say_it                   #say/mod_say_ja
 #say/mod_say_nl                   #say/mod_say_pl                   #say/mod_say_pt
 #say/mod_say_ru                   #say/mod_say_th                   #say/mod_say_zh
 #say/mod_say_sv                   #xml_int/mod_xml_ldap             #xml_int/mod_xml_radius           
 #mod_posix_timer                  #mod_timerfd
 #../../libs/freetdm/mod_freetdm

 # Experimental Modules (don't cry if they're broken)
 #../../contrib/mod/xml_int/mod_xml_odbc

################################################################################
# Please Select from the optional modules above and put them in the ( ). Use only
# the 2nd part of the name so like applications/mod_abstraction use only the
# mod_abstraction part. (UNDER DEVELOPMENT )
################################################################################
###################################################
# Add / Enable optional modules from list above here
###################################################
if  $use_extra_modules == "y" ; then
	extra_modules_add=( )
fi

#################################
# Freeswitch Contrib Modules
#################################
#../../contrib/ledr/c/mod_odbc_

#################################################################################################
# Options contrib modules (only if you selected to use the contribs git option )
# (future Option) (UNDER DEVELOPMENT )
#################################################################################################
if  $use_freeswitch_contrib == "y" ; then
	contrib_modules_add=( ../../contrib/ledr/c/mod_odbc_query cd mo	)
fi

###############################################################################
#Enable optional modules from list above here used for fusionpnbx build !!!!!!
################################################################################
if  $use_freetdm == "y" ; then
	freetdm_modules_add=( ../../libs/freetdm/mod_freetdm )
fi

################################################################################
#Enable optional modules from list above here used for fusionpnbx build !!!!!!
################################################################################
if  $use_gsmopen == "y" ; then
	gsmopen_modules_add=( gsmopen mod_siren mod_xml_curl )
fi

################################################################
# Option to disable some loging execpt for  warnings and errors
################################################################
logging_level="n"
####################
# FUSIONPBX OPTIONS
####################
########################################################
# Select to use the Stable or Dev Branch of fusionpbx
# Change the y to n to use the dev branch for fusionpbx
########################################################
use_stable="y"

#############################################################################
#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

###############################################################################
# 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-------->
####################################