Debian Fusionpbx Pkg or Source Install

Pre Install Information
Debian Squeeze (EOL) Unsupported | Wheezy (Stable) | Jessie (Testing)

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:

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

" 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 freeswitch_stable="y" use_freeswitch_pkgs="n" use_lang="en-us" use_cd_sounds=="y" CPU_CORES=1 use_freeswitch_contrib="n" use_freetdm="n" use_gsmopen="n" use_extra_modules="n" #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
 * 1) FreeSWITCH Debian FHS Configuration ########################
 * 1) <--Start/Begin Edit HERE->
 * 2) Freeswitch Options
 * 3) Select to use the Release or head branch of freeswitch
 * 4) if you select to change y to n it will use 1.5 head branch
 * 1) Freeswitch Options
 * 2) Select to use the Release or head branch of freeswitch
 * 3) if you select to change y to n it will use 1.5 head branch
 * 1) Select to use the Release or head branch of freeswitch
 * 2) if you select to change y to n it will use 1.5 head branch
 * 1) if you select to change y to n it will use 1.5 head branch
 * 1) If you select to use the freeswitch pkgs it will use the prebuilt debian pkgs.
 * 2) If you select not to use the freeswitch debian pkgs it will use git and pull
 * 3) down all the build deps and and git the freeswitch src and build and install
 * 4) from the freeswitch source code using the debian fhs lay out.
 * 1) from the freeswitch source code using the debian fhs lay out.
 * 1) Set what language lang/say pkgs and language sound files to use. ( Only if pkgs install is selected )
 * 2) en-ca=English/CA en-us=English/US (default) fr-ca=French/Canadian pt-br=Portuguese/Brazill
 * 3) ru-ru=Russian/Russia sv-se=Swedish/Sweden zh-cn=chinese/Mandarin zh-hk=chinese/HongKong
 * 1) ru-ru=Russian/Russia sv-se=Swedish/Sweden zh-cn=chinese/Mandarin zh-hk=chinese/HongKong
 * 1) Set what sounds to use when using the freeswitch source build.
 * 2) cdsounds = 8k / 16k / 32k / 48k
 * 3) if you select not to use cd sounds it will use
 * 4) hdsounds = 8k / 16k sounds only
 * 1) hdsounds = 8k / 16k sounds only
 * 1) If you select not to use pkgs but to build from source. Here is a option to
 * 2) set how many COU_CORES are used to compile with
 * 1) set how many COU_CORES are used to compile with
 * 1) If you select not to use pkgs but to build from source. Here is a option to
 * 2) pull and use the freeswitch contribs src for extra modules. (UNDER DEVELOPMENT)
 * 1) pull and use the freeswitch contribs src for extra modules. (UNDER DEVELOPMENT)
 * 1) Enable / Build Freetdm into freeswitch (UNDER DEVELOPMENT)
 * 1) Enable / Build Freetdm into freeswitch (UNDER DEVELOPMENT)
 * 1) Enable / Build GsmOpen into freeswitch (UNDER DEVELOPMENT)
 * 1) Enable / Build GsmOpen into freeswitch (UNDER DEVELOPMENT)
 * 1) Freeswutch Modules Selection
 * 1) Freeswutch Modules Selection
 * 1) Freeswitch Default Enabled Modules ( Required for base build )
 * 1) Freeswitch Default Enabled Modules ( Required for base build )

#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
 * 1) Fusionpbx Default enabled Modules
 * 1) Fusionpbx Default enabled Modules

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 )
 * 1) Enable optional modules from list above here used for fusionpnbx build !!!!!!
 * 1) Enable optional modules from list above here used for fusionpnbx build !!!!!!

#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
 * 1) Optional Freeswitch Modules
 * 1) Optional Freeswitch Modules

#../../libs/freetdm/mod_freetdm # Experimental Modules (don't cry if they're broken) #../../contrib/mod/xml_int/mod_xml_odbc if $use_extra_modules == "y" ; then extra_modules_add= fi
 * 1) Please Select from the optional modules above and put them in the . Use only
 * 2) the 2nd part of the name so like applications/mod_abstraction use only the
 * 3) mod_abstraction part. (UNDER DEVELOPMENT )
 * 4) Add / Enable optional modules from list above here
 * 1) Add / Enable optional modules from list above here
 * 1) Add / Enable optional modules from list above here
 * 1) Add / Enable optional modules from list above here
 * 1) Freeswitch Contrib Modules
 * 1) Freeswitch Contrib Modules

if $use_freeswitch_contrib == "y" ; then contrib_modules_add=( ../../contrib/ledr/c/mod_odbc_query cd mo	) fi if $use_freetdm == "y" ; then freetdm_modules_add=( ../../libs/freetdm/mod_freetdm ) fi if $use_gsmopen == "y" ; then gsmopen_modules_add=( gsmopen mod_siren mod_xml_curl ) fi logging_level="n"
 * 1) ../../contrib/ledr/c/mod_odbc_
 * 1) Options contrib modules (only if you selected to use the contribs git option )
 * 2) (future Option) (UNDER DEVELOPMENT )
 * 1) (future Option) (UNDER DEVELOPMENT )
 * 1) Enable optional modules from list above here used for fusionpnbx build !!!!!!
 * 1) Enable optional modules from list above here used for fusionpnbx build !!!!!!
 * 1) Enable optional modules from list above here used for fusionpnbx build !!!!!!
 * 1) Enable optional modules from list above here used for fusionpnbx build !!!!!!
 * 1) Option to disable some loging execpt for  warnings and errors
 * 1) Option to disable some loging execpt for  warnings and errors

use_stable="y" keep_logs=5 upload_size="25M" all="n" #: Install all extra modules for fusionpbx and related freeswitch deps 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_client="n"
 * 1) FUSIONPBX OPTIONS
 * 2) Select to use the Stable or Dev Branch of fusionpbx
 * 3) Change the y to n to use the dev branch for fusionpbx
 * 1) Select to use the Stable or Dev Branch of fusionpbx
 * 2) Change the y to n to use the dev branch for fusionpbx
 * 1) Change the y to n to use the dev branch for fusionpbx
 * 1) Set how long to keep freeswitch/fusionpbx log files 1 to 30 days (Default:5)
 * 1) Set how long to keep freeswitch/fusionpbx log files 1 to 30 days (Default:5)
 * 1) Set mp3/wav file upload/post size limit ( Must Have the M on the end )
 * 1) Set mp3/wav file upload/post size limit ( Must Have the M on the end )
 * 1) Optional Fusionpbx Apps/Modules
 * 2) DO NOT SELECT FROM BOTH !!!!!!!!!!
 * 3) If you wish to install all options use THE ALL OPTION ONLY!!!!!!!
 * 1) DO NOT SELECT FROM BOTH !!!!!!!!!!
 * 2) If you wish to install all options use THE ALL OPTION ONLY!!!!!!!
 * 1) If you wish to install all options use THE ALL OPTION ONLY!!!!!!!
 * 1) If you wish to install all options use THE ALL OPTION ONLY!!!!!!!
 * 1) If you wish to install all options use THE ALL OPTION ONLY!!!!!!!
 * 1) Else select options fusionpbx module/appsfrom here........
 * 1) Else select options fusionpbx module/appsfrom here........
 * 1) POSTGRESQL ( Optional Not Required)
 * 2) Please Select Server or Client not both !!!!!!
 * 1) Please Select Server or Client not both !!!!!!
 * 1) Please Select Server or Client not both !!!!!!
 * 1) Please Select Server or Client not both !!!!!!
 * 1) Install postgresql Client 9.4 for connection to remote postgresql servers (y/n)
 * 1) Install postgresql Client 9.4 for connection to remote postgresql servers (y/n)

postgresql_server="n" pgsql_admin=pgsqladmin pgsql_admin_passwd=pgsqladmin2015 db_name=fusionpbx db_user_name=fusionpbxadmin db_user_passwd=fusionpbx2015 xml_cdr_files == "y" install_ajenti="n"
 * 1) Install postgresql server 9.4 (y/n) (client included)(Local Machine)
 * 2) Notice:
 * 3) You should not use postgresql server on a nand/emmc/sd. It cuts the performance
 * 4) life in half due to all the needed reads and writes. This cuts the life of
 * 5) your pbx emmc/sd in half.
 * 1) your pbx emmc/sd in half.
 * 1) Set Postgresql Server Admin username ( Lower case only )
 * 1) Set Postgresql Server Admin username ( Lower case only )
 * 1) Set Postgresql Server Admin password
 * 1) Set Postgresql Server Admin password
 * 1) Set Database Name used for fusionpbx in the postgresql server (Default: fusionpbx)
 * 1) Set Database Name used for fusionpbx in the postgresql server (Default: fusionpbx)
 * 1) Set FusionPBX database admin name.(used by fusionpbx to access the database table
 * 2) in the postgresql server (Default: fusionpbx)
 * 1) in the postgresql server (Default: fusionpbx)
 * 1) Set FusionPBX database admin password .(used by fusionpbx to access the database
 * 2) table in the postgresql server). Please set a very secure password !!!!!!
 * 1) table in the postgresql server). Please set a very secure password !!!!!!
 * 1) Disable xml_cdr files in /var/log/freeswitch/xml_cdr and only log cdr to the
 * 2) sqlite or pgsql database only.
 * 1) sqlite or pgsql database only.
 * 1) Install Ajenti Optional Admin Portal Optional (Not Required)
 * 1) Install Ajenti Optional Admin Portal Optional (Not Required)
 * 1) <--Stop/End Edit Here>
 * 1) <--Stop/End Edit Here>

Step 5: save file

step 6 : ./ = period slash ./Fusionpbx-Debian-Package-Install.sh

About 10 min into the install it will ask you to goto the gui and do the 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.



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