|
@@ -1,2304 +0,0 @@
|
|
|
-#!/bin/bash
|
|
|
-#Date Jan 207 2015 19:20 CST
|
|
|
-################################################################################
|
|
|
-# The MIT License (MIT)
|
|
|
-################################################################################
|
|
|
-# Copyright (c) <2015> <[email protected]>
|
|
|
-################################################################################
|
|
|
-# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
|
-# of this software and associated documentation files (the "Software"), to deal
|
|
|
-# in the Software without restriction, including without limitation the rights
|
|
|
-# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
|
-# copies of the Software, and to permit persons to whom the Software is
|
|
|
-# furnished to do so, subject to the following conditions:
|
|
|
-################################################################################
|
|
|
-# The above copyright notice and this permission notice shall be included in
|
|
|
-# all copies or substantial portions of the Software.
|
|
|
-################################################################################
|
|
|
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
|
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
|
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
|
-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
|
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
|
-# THE SOFTWARE.
|
|
|
-################################################################################
|
|
|
-
|
|
|
-##################################
|
|
|
-#----OS ENVIRONMENT CHECKS-------
|
|
|
-##################################
|
|
|
-##################################################################
|
|
|
-# check to confirm running as root. # First, we need to be root...
|
|
|
-##################################################################
|
|
|
-if [ "$(id -u)" -ne "0" ]; then
|
|
|
- sudo -p "$(basename "$0") must be run as root, please enter your sudo password : " "$0" "$@"
|
|
|
- exit 0
|
|
|
-fi
|
|
|
-echo
|
|
|
-echo "You're root.... continuing!"
|
|
|
-echo
|
|
|
-###########################################
|
|
|
-# Run a OS and Platform compatabilty Check
|
|
|
-###########################################
|
|
|
-########
|
|
|
-# ARMEL
|
|
|
-########
|
|
|
-case $(uname -m) in armv[4-6]l)
|
|
|
-echo
|
|
|
-echo " ArmEL only supported in the build of freeswitch . "
|
|
|
-echo
|
|
|
-echo " Do not attempt to use freeswitch debian pkgs. "
|
|
|
-echo
|
|
|
-esac
|
|
|
-########
|
|
|
-# ARMHF
|
|
|
-########
|
|
|
-case $(uname -m) in armv7l)
|
|
|
-echo
|
|
|
-echo " ArmHF arm v7 Supported "
|
|
|
-echo
|
|
|
-echo " You can either Build from Source or use the freeswitch Armhf Debian pkgs. "
|
|
|
-echo
|
|
|
-esac
|
|
|
-#############
|
|
|
-# Intel/AMD
|
|
|
-#############
|
|
|
-case $(uname -m) in x86_64|i[4-6]86)
|
|
|
-echo
|
|
|
-echo " Intel / Amd boards Spported"
|
|
|
-echo
|
|
|
-echo " You can either Build from Source or use the freeswitch Intel/AMD Debian pkgs. "
|
|
|
-echo
|
|
|
-esac
|
|
|
-echo
|
|
|
-########################################################
|
|
|
-# removes the cd img from the /etc/apt/sources.list file
|
|
|
-# (not needed after base install)
|
|
|
-########################################################
|
|
|
-sed -i '/cdrom:/d' /etc/apt/sources.list
|
|
|
-#sed -i '2,4d' /etc/apt/sources.list
|
|
|
-
|
|
|
-###############################################
|
|
|
-#if lsb_release is not installed it installs it
|
|
|
-###############################################
|
|
|
-if [ ! -s /usr/bin/lsb_release ]; then
|
|
|
- apt-get update && apt-get -y install lsb-release
|
|
|
-fi
|
|
|
-
|
|
|
-#################
|
|
|
-# Os/Distro Check
|
|
|
-#################
|
|
|
-lsb_release -c |grep -i wheezy &> /dev/null 2>&1
|
|
|
-if [ $? -eq 0 ]; then
|
|
|
- echo "Good, you are running Debian 7 : wheezy"
|
|
|
- echo
|
|
|
-else
|
|
|
- lsb_release -c |grep -i jessie > /dev/null
|
|
|
- if [ $? -eq 0 ]; then
|
|
|
- echo " OK you are running Debian 8 : Jessie. This script is known to work "
|
|
|
- echo " with building from source. No Jessie pkgs yet. "
|
|
|
- else
|
|
|
- echo " This script was written for Debian 7 wheezy & Debian 8 Jessie (Testing) "
|
|
|
- echo
|
|
|
- echo " Your OS appears to be: " lsb_release -a
|
|
|
- echo
|
|
|
- echo " Your OS is not currently supported... Exiting the install. "
|
|
|
- exit
|
|
|
- fi
|
|
|
-fi
|
|
|
-clear
|
|
|
-###################
|
|
|
-# Notes / Warnings
|
|
|
-###################
|
|
|
-echo
|
|
|
-cat << DELIM
|
|
|
- ( "Not Ment For L.a.m.p Installs" )
|
|
|
-
|
|
|
- ( "L.A.M.P = Linux Apache Mysql PHP" )
|
|
|
-
|
|
|
- "THIS IS A ONE TIME INSTALL SCRIPT."
|
|
|
-
|
|
|
- "IT IS NOT INTENDED TO BE RUN MULTIPLE TIMES"
|
|
|
-
|
|
|
- This Script Is Ment To Be Run On A Fresh Install Of Debian 7 (Wheezy)
|
|
|
-
|
|
|
- or Fresh Install Of Debian 8 (Jessie).
|
|
|
-
|
|
|
- If It Fails For Any Reason Please Report To [email protected].
|
|
|
-
|
|
|
- Please Include Any Screen Output You Can To Show Where It Fails.
|
|
|
-
|
|
|
-DELIM
|
|
|
-
|
|
|
-###############################################
|
|
|
-# Checks to see if installing on openvz server
|
|
|
-###############################################
|
|
|
-if [[ -f /proc/vz ]]; then
|
|
|
-echo
|
|
|
-cat << DELIM
|
|
|
- Note:
|
|
|
-
|
|
|
- Those of you running this script on openvz. You must run it as root and
|
|
|
-
|
|
|
- bash Fusionpbx-Debian-Package-Install.sh or it fails the networking check.
|
|
|
-
|
|
|
- Please take the time to refer to this document if you have install issues
|
|
|
-
|
|
|
- on openvz http://openvz.org/Virtual_Ethernet_device and make sure to setup
|
|
|
-
|
|
|
- a eth0 for better performance with the script.
|
|
|
-DELIM
|
|
|
-exit
|
|
|
-fi
|
|
|
-
|
|
|
-###########################
|
|
|
-# Pre-Install Information
|
|
|
-###########################
|
|
|
-echo
|
|
|
-cat << DELIM
|
|
|
- Note:
|
|
|
-
|
|
|
- Pre-Install Information:
|
|
|
-
|
|
|
- This script uses Sqlite by default for the fusionpbx database.
|
|
|
-
|
|
|
- If you wish to use postgresql localy 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.
|
|
|
-
|
|
|
- Please Referance :
|
|
|
-
|
|
|
- http://wiki.fusionpbx.com/index.php?title=Debian_Fusionpbx_Pkg_or_Source_Install
|
|
|
-
|
|
|
-DELIM
|
|
|
-echo
|
|
|
-########################################
|
|
|
-# FreeSWITCH Debian FHS Configuration
|
|
|
-########################################
|
|
|
-cat << DELIM
|
|
|
- " 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
|
|
|
-DELIM
|
|
|
-echo
|
|
|
-#######################################################
|
|
|
-
|
|
|
-########################################
|
|
|
-#<------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" #(Head Is Broken)
|
|
|
-
|
|
|
-################################################################################
|
|
|
-# 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.
|
|
|
-################################################################################
|
|
|
-freeswitch_pkgs="y"
|
|
|
-
|
|
|
-#####################################################################################################
|
|
|
-# 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" #(other sounds are broken at min)
|
|
|
-
|
|
|
-################################################################################
|
|
|
-#Set what sounds to use when using the freeswitch source build.
|
|
|
-# cd sounds = 8k / 16k / 32k / 48k
|
|
|
-# if you select not to use cd sounds it will use
|
|
|
-# hd sounds = 8k / 16k sounds only
|
|
|
-################################################################################
|
|
|
-freeswitch_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
|
|
|
-################################################################################
|
|
|
-multi_core="n"
|
|
|
-
|
|
|
-################################################################################
|
|
|
-# 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)
|
|
|
-# Digium/openzap/rhino/sangoma card support
|
|
|
-# Requires you build from Source. Currently no packages.
|
|
|
-################################################################################
|
|
|
-#Digium/openzap card support
|
|
|
-use_mod_freetdm="n"
|
|
|
-
|
|
|
-#add sangoma support
|
|
|
-#sangoma_freetdm="n"
|
|
|
-
|
|
|
-#add rhino support
|
|
|
-#rhino_freetdm="n"
|
|
|
-
|
|
|
-################################################################################
|
|
|
-# Enable / Build GsmOpen into freeswitch (UNDER DEVELOPMENT)
|
|
|
-# Supported devices : hauwii usb modems voice unlocked
|
|
|
-# Requires you build from Source. Currently no packages.
|
|
|
-################################################################################
|
|
|
-use_mod_gsmopen="n"
|
|
|
-
|
|
|
-################################################################################
|
|
|
-#Freeswutch Modules Selection
|
|
|
-################################################################################
|
|
|
-#use_optional_modules="n"
|
|
|
-
|
|
|
-################################################################################
|
|
|
-# Freeswitch Modules
|
|
|
-################################################################################
|
|
|
-#####################################################
|
|
|
-#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 #languages/mod_v8
|
|
|
-
|
|
|
-################################################################################
|
|
|
-#Enable optional modules from list above here used for fusionpnbx build !!!!!!
|
|
|
-################################################################################
|
|
|
-#enable freetdm in the freeswitch /fusionpbx build
|
|
|
-if [[ $use_mod_freetdm == "y" ]]; then
|
|
|
- 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 mod_v8\
|
|
|
- ../../libs/freetdm/mod_freetdm )
|
|
|
-#enable gsmopen in the freeswitchch / fusionpbx build
|
|
|
-elif [[ $use_mod_gsmopen == "y" ]]; then
|
|
|
- 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 \
|
|
|
- mod_v8 gsmopen mod_siren mod_xml_curl )
|
|
|
-#use defualt set of modules for freeswitc/fusionpbx
|
|
|
-else
|
|
|
- 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 mod_v8 )
|
|
|
-fi
|
|
|
-#############################
|
|
|
-# 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_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_optional_modules == "y" ]]; then
|
|
|
-# optional_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_mod_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
|
|
|
-########################################################
|
|
|
-fusionpbx_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
|
|
|
-
|
|
|
-######################################
|
|
|
-# ( 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="n"
|
|
|
-
|
|
|
-#######################################
|
|
|
-#Use for configuring odroid arm boards
|
|
|
-#######################################
|
|
|
-odroid_boards="n"
|
|
|
-
|
|
|
-################################################################
|
|
|
-#Install Ajenti Optional Admin Portal Optional (Not Required)
|
|
|
-################################################################
|
|
|
-install_ajenti="n"
|
|
|
-
|
|
|
-####################################
|
|
|
-#<------Stop/End Edit Here-------->
|
|
|
-####################################
|
|
|
-
|
|
|
-######################################################
|
|
|
-# Hard Set Varitables (Do Not EDIT) Freeswitch default
|
|
|
-######################################################
|
|
|
-####################################################
|
|
|
-# Set Freeswitch version to us in the build/install
|
|
|
-######################################################
|
|
|
-if [[ $freeswitch_stable == "y" ]];then
|
|
|
- fs_ver="v1.4"
|
|
|
-else
|
|
|
- fs_ver="v1.5"
|
|
|
-fi
|
|
|
-
|
|
|
-###############################################
|
|
|
-# Set the freeswitch src path based on version
|
|
|
-###############################################
|
|
|
-fs_src_path="/usr/src/freeswitch-$fs_ver"
|
|
|
-
|
|
|
-################################################################
|
|
|
-#Used for pkg based installs for cp the base configs into place
|
|
|
-################################################################
|
|
|
-fs_conf_dir="/etc/freeswitch"
|
|
|
-fs_dflt_conf_dir="/usr/share/freeswitch/conf"
|
|
|
-######################################################
|
|
|
-#Nginx default www dir
|
|
|
-######################
|
|
|
-WWW_PATH="/var/www" #debian nginx default dir
|
|
|
-#################################
|
|
|
-#set Web User Interface Dir Name
|
|
|
-#################################
|
|
|
-wui_name="fusionpbx"
|
|
|
-#####################
|
|
|
-#Php ini config file
|
|
|
-#####################
|
|
|
-php_ini="/etc/php5/fpm/php.ini"
|
|
|
-
|
|
|
-###################################
|
|
|
-#-----Start PBX installation------
|
|
|
-###################################
|
|
|
-###############################################################################################
|
|
|
-#Testing for internet connection. Pulled from and modified
|
|
|
-#http://www.linuxscrew.com/2009/04/02/tiny-bash-scripts-check-internet-connection-availability/
|
|
|
-###############################################################################################
|
|
|
-#######################################
|
|
|
-#-----test internet connection-------
|
|
|
-#######################################
|
|
|
-echo
|
|
|
-echo "This Script Currently Requires a internet connection "
|
|
|
-wget -q --tries=10 --timeout=5 http://www.google.com -O /tmp/index.google &> /dev/null
|
|
|
-
|
|
|
-if [ ! -s /tmp/index.google ];then
|
|
|
- echo "No Internet connection. Please check ethernet cable"
|
|
|
- /bin/rm /tmp/index.google
|
|
|
- exit 1
|
|
|
-else
|
|
|
- echo "Found the Internet ... continuing!"
|
|
|
- /bin/rm /tmp/index.google
|
|
|
-fi
|
|
|
-echo
|
|
|
-#######################################
|
|
|
-#Setup Main debian repo for right pkgs
|
|
|
-#######################################
|
|
|
-lsb_release -c |grep -i wheezy &> /dev/null 2>&1
|
|
|
-if [ $? -eq 0 ]; then
|
|
|
- cat > "/etc/apt/sources.list" << DELIM
|
|
|
- deb http://ftp.us.debian.org/debian/ wheezy main contrib non-free
|
|
|
- deb-src http://ftp.us.debian.org/debian/ wheezy main contrib non-free
|
|
|
- deb http://security.debian.org/ wheezy/updates main contrib non-free
|
|
|
-DELIM
|
|
|
-else
|
|
|
- cat > "/etc/apt/sources.list" << DELIM
|
|
|
- deb http://ftp.us.debian.org/debian/ jessie main contrib non-free
|
|
|
- deb-src http://ftp.us.debian.org/debian/ jessie main contrib non-free
|
|
|
- deb http://security.debian.org/ jessie/updates main contrib non-free
|
|
|
-DELIM
|
|
|
-fi
|
|
|
-
|
|
|
-####################################
|
|
|
-#----- upgrading base install-----
|
|
|
-####################################
|
|
|
-apt-get update && apt-get -y upgrade
|
|
|
-echo
|
|
|
-#######################################
|
|
|
-# Freeswitch pkg based install
|
|
|
-#######################################
|
|
|
-#######################################
|
|
|
-#--------adding in custom repos-------
|
|
|
-#######################################
|
|
|
-##############################
|
|
|
-# Detect and Set Intel/AMD Repos
|
|
|
-# Set Release or devel repos
|
|
|
-##############################
|
|
|
-if [[ $freeswitch_pkgs == "y" ]]; then
|
|
|
-case $(uname -m) in x86_64|i[4-6]86)
|
|
|
- if [[ $freeswitch_stable == "y" ]]; then
|
|
|
- #adding in freeswitch reop to /etc/apt/sources.list.d/freeswitch.lists
|
|
|
- echo " installing Intel/AMD64 Release/Stable repo "
|
|
|
- lsb_release -c |grep -i wheezy &> /dev/null 2>&1
|
|
|
- if [ $? -eq 0 ]; then
|
|
|
- echo "installing wheezy release repo"
|
|
|
- cat > "/etc/apt/sources.list.d/freeswitch.list" <<DELIM
|
|
|
- deb http://repo.fusionpbx.com/freeswitch/release/debian/ wheezy main
|
|
|
- #deb http://files.freeswitch.org/repo/deb/debian/ wheezy main
|
|
|
-
|
|
|
-DELIM
|
|
|
- else
|
|
|
- echo "installing jessie release repo"
|
|
|
- cat > "/etc/apt/sources.list.d/freeswitch.list" <<DELIM
|
|
|
- deb http://repo.fusionpbx.com/freeswitch/release/debian/ jessie main
|
|
|
- #deb http://files.freeswitch.org/repo/deb/debian/ jessie main
|
|
|
-DELIM
|
|
|
- fi
|
|
|
- else
|
|
|
- echo " installing Intel/AMD64 Head/Devel repo "
|
|
|
- lsb_release -c |grep -i wheezy &> /dev/null 2>&1
|
|
|
- if [ $? -eq 0 ]; then
|
|
|
- echo "installing wheezy head repo"
|
|
|
- cat > "/etc/apt/sources.list.d/freeswitch.list" <<DELIM
|
|
|
- deb http://repo.fusionpbx.com/freeswitch/head/debian/ wheezy main
|
|
|
-DELIM
|
|
|
- else
|
|
|
- echo " installing jessie head repo "
|
|
|
- cat > "/etc/apt/sources.list.d/freeswitch.list" <<DELIM
|
|
|
- deb http://repo.fusionpbx.com/freeswitch/head/debian/ jessie main
|
|
|
-DELIM
|
|
|
- fi
|
|
|
- fi
|
|
|
-esac
|
|
|
-
|
|
|
-##############################
|
|
|
-# Detect and Set ArmHF Repos
|
|
|
-# Set Release or devel repos
|
|
|
-##############################
|
|
|
-case $(uname -m) in armv7l)
|
|
|
- if [[ $freeswitch_stable == "y" ]]; then
|
|
|
- #adding Freeswitch ARMHF repo to /etc/apt/sources.list.d/freeswitch.lists
|
|
|
- echo 'installing Freeswitch ARMHF Release/Stable repo'
|
|
|
- lsb_release -c |grep -i wheezy &> /dev/null 2>&1
|
|
|
- if [ $? -eq 0 ]; then
|
|
|
- echo "installing wheezy release repo"
|
|
|
- cat > "/etc/apt/sources.list.d/freeswitch.list" <<DELIM
|
|
|
- deb http://repo.fusionpbx.com/freeswitch-armhf/release/debian/ wheezy main
|
|
|
-DELIM
|
|
|
- else
|
|
|
- echo "installing jessie release repo"
|
|
|
- cat > "/etc/apt/sources.list.d/freeswitch.list" <<DELIM
|
|
|
- deb http://repo.fusionpbx.com/freeswitch-armhf/release/debian/ jessie main
|
|
|
-DELIM
|
|
|
- fi
|
|
|
- else
|
|
|
- echo "installing Freeswitch ARMHF Head/Devel repo"
|
|
|
- lsb_release -c |grep -i wheezy &> /dev/null 2>&1
|
|
|
- if [ $? -eq 0 ]; then
|
|
|
- echo "installing wheezy head repo"
|
|
|
- cat > "/etc/apt/sources.list.d/freeswitch.list" <<DELIM
|
|
|
- deb http://repo.fusionpbx.com/freeswitch-armhf/head/debian/ wheezy main
|
|
|
-DELIM
|
|
|
- else
|
|
|
- echo "installing jessie head repo"
|
|
|
- cat > "/etc/apt/sources.list.d/freeswitch.list" <<DELIM
|
|
|
- deb http://repo.fusionpbx.com/freeswitch-armhf/head/debian/ jessie main
|
|
|
-DELIM
|
|
|
- fi
|
|
|
- fi
|
|
|
-esac
|
|
|
-
|
|
|
-################################
|
|
|
-#adding key for freeswitch repo
|
|
|
-################################
|
|
|
-#echo 'fetcing repo key'
|
|
|
-#curl http://files.freeswitch.org/repo/deb/debian/freeswitch_archive_g0.pub | apt-key add -
|
|
|
-
|
|
|
-###################################
|
|
|
-#----install ntpd time daemon-----
|
|
|
-####################################
|
|
|
-for i in update upgrade ;do apt-get -y "${i}" ; done
|
|
|
-apt-get -y install ntp
|
|
|
-service ntp restart
|
|
|
-
|
|
|
-########################################
|
|
|
-#------install Freeswitch Deps----------
|
|
|
-########################################
|
|
|
-apt-get -y install unixodbc uuid memcached libtiff5 libtiff-tools time bison htop screen libpq5 lame
|
|
|
-
|
|
|
-#############################################
|
|
|
-#-----Start Install of freeswitch-----------
|
|
|
-#############################################
|
|
|
-#############################################
|
|
|
-# Install Freeswitch Pkgs used by fusion gui
|
|
|
-#############################################
|
|
|
-apt-get -y install --force-yes freeswitch freeswitch-init freeswitch-meta-codecs freeswitch-mod-commands freeswitch-mod-curl \
|
|
|
- freeswitch-mod-db freeswitch-mod-distributor freeswitch-mod-dptools freeswitch-mod-enum freeswitch-mod-esf freeswitch-mod-esl \
|
|
|
- freeswitch-mod-expr freeswitch-mod-fsv freeswitch-mod-hash freeswitch-mod-memcache freeswitch-mod-portaudio freeswitch-mod-portaudio-stream \
|
|
|
- freeswitch-mod-random freeswitch-mod-spandsp freeswitch-mod-spy freeswitch-mod-translate freeswitch-mod-valet-parking freeswitch-mod-flite \
|
|
|
- freeswitch-mod-pocketsphinx freeswitch-mod-tts-commandline freeswitch-mod-dialplan-xml freeswitch-mod-loopback freeswitch-mod-sofia \
|
|
|
- freeswitch-mod-event-multicast freeswitch-mod-event-socket freeswitch-mod-event-test freeswitch-mod-local-stream freeswitch-mod-native-file \
|
|
|
- freeswitch-mod-sndfile freeswitch-mod-tone-stream freeswitch-mod-lua freeswitch-mod-console freeswitch-mod-logfile freeswitch-mod-syslog \
|
|
|
- freeswitch-mod-say-en freeswitch-mod-posix-timer freeswitch-mod-timerfd freeswitch-mod-v8 freeswitch-mod-xml-cdr freeswitch-mod-xml-curl \
|
|
|
- freeswitch-mod-xml-rpc freeswitch-conf-vanilla
|
|
|
-
|
|
|
-############################
|
|
|
-# Intel/AMD gets mod_shout
|
|
|
-############################
|
|
|
-case $(uname -m) in x86_64|i[4-6]86)
|
|
|
- apt-get -y install --force-yes freeswitch-mod-shout
|
|
|
-esac
|
|
|
-
|
|
|
-#############################
|
|
|
-# ArmHF gets mod_vlc
|
|
|
-#############################
|
|
|
-case $(uname -m) in armv7l)
|
|
|
- apt-get -y install --force-yes freeswitch-mod-vlc
|
|
|
-esac
|
|
|
-
|
|
|
-######################################
|
|
|
-#setup language / sound files for use
|
|
|
-######################################
|
|
|
-if [[ $freeswitch_sounds_language == "en-ca" ]]; then
|
|
|
- apt-get -y install --force-yes freeswitch-lang-fr freeswitch-mod-say-fr freeswitch-sounds-en-ca-june
|
|
|
-fi
|
|
|
-
|
|
|
-if [[ $freeswitch_sounds_language == "en-us" ]]; then
|
|
|
- apt-get -y install --force-yes freeswitch-lang-en freeswitch-mod-say-en freeswitch-sounds-en-us-callie
|
|
|
-fi
|
|
|
-
|
|
|
-if [[ $freeswitch_sounds_language == "fr-ca" ]]; then
|
|
|
- apt-get -y install --force-yes freeswitch-lang-fr freeswitch-mod-say-fr freeswitch-sounds-fr-ca-june
|
|
|
-fi
|
|
|
-
|
|
|
-if [[ $freeswitch_sounds_language == "pt-br" ]]; then
|
|
|
- apt-get -y install --force-yes freeswitch-lang-pt freeswitch-mod-say-pt freeswitch-sounds-pt-br-karina
|
|
|
-fi
|
|
|
-
|
|
|
-if [[ $freeswitch_sounds_language == "ru-ru" ]]; then
|
|
|
- apt-get -y install --force-yes freeswitch-lang-ru freeswitch-mod-say-ru freeswitch-sounds-ru-ru-elena
|
|
|
-fi
|
|
|
-
|
|
|
-if [[ $freeswitch_sounds_language == "sv-se" ]]; then
|
|
|
- apt-get -y install --force-yes freeswitch-lang-sv freeswitch-mod-say-sv freeswitch-sounds-sv-se-jakob
|
|
|
-fi
|
|
|
-
|
|
|
-if [[ $freeswitch_sounds_language == "zh-cn" ]]; then
|
|
|
- apt-get -y install --force-yes freeswitch-mod-say-zh freeswitch-sounds-zh-cn-sinmei
|
|
|
-fi
|
|
|
-
|
|
|
-if [[ $freeswitch_sounds_language == "zh-hk" ]]; then
|
|
|
- apt-get -y install --force-yes freeswitch-mod-say-zh freeswitch-sounds-zh-hk-sinmei
|
|
|
-fi
|
|
|
-
|
|
|
-###############################
|
|
|
-# make the freeswitch conf dir
|
|
|
-###############################
|
|
|
-mkdir -p "$fs_conf_dir"
|
|
|
-
|
|
|
-#####################################
|
|
|
-#cp the default configs into place.
|
|
|
-#####################################
|
|
|
-cp -rp "$fs_dflt_conf_dir"/vanilla/* "$fs_conf_dir"
|
|
|
-
|
|
|
-########################################
|
|
|
-#fix ownership of files for freeswitch
|
|
|
-########################################
|
|
|
-chown -R freeswitch:freeswitch "$fs_conf_dir"
|
|
|
-
|
|
|
-#######################
|
|
|
-#Restarting freeswitch
|
|
|
-#######################
|
|
|
-service freeswitch restart
|
|
|
-
|
|
|
-############################
|
|
|
-#set package install marker
|
|
|
-############################
|
|
|
-touch /root/.fs-pkgs
|
|
|
-
|
|
|
-####################################################
|
|
|
-#-------end of freeswitch pkg based install---------
|
|
|
-####################################################
|
|
|
-else
|
|
|
-#######################################################################
|
|
|
-#---- start of FreeSwitch Debian FHS source build based install ------
|
|
|
-#######################################################################
|
|
|
-################################
|
|
|
-# Install freeswitch build deps
|
|
|
-################################
|
|
|
-################################################
|
|
|
-# Check if using wheezy and install wheezy pkgs
|
|
|
-# else install jessie pkgs
|
|
|
-################################################
|
|
|
-lsb_release -c |grep -i wheezy > /dev/null
|
|
|
-if [ $? -eq 0 ]; then
|
|
|
- apt-get -y install time ntp ssh vim git-core libjpeg-dev subversion build-essential \
|
|
|
- autoconf automake devscripts gawk g++ git-core libtool make libncurses5-dev \
|
|
|
- python-dev pkg-config libtiff5-dev libldns-dev \
|
|
|
- libperl-dev libgdbm-dev libdb-dev gettext libcurl4-openssl-dev \
|
|
|
- libpcre3-dev libspeex-dev libspeexdsp-dev libsqlite3-dev \
|
|
|
- libedit-dev screen htop pkg-config bzip2 bison libssl-dev unixodbc \
|
|
|
- unixodbc-dev libtiff-tools libmemcached-dev uuid-dev libpq5 libpq-dev \
|
|
|
- portaudio19-dev lame libldap2-dev lua5.2 liblua5.2-dev
|
|
|
-else
|
|
|
- apt-get -y install time ntp ssh vim git-core libjpeg62-turbo-dev subversion build-essential \
|
|
|
- autoconf automake devscripts gawk g++ git-core libtool make libncurses5-dev \
|
|
|
- python-dev pkg-config libtiff5-dev libldns-dev \
|
|
|
- libperl-dev libgdbm-dev libdb-dev gettext libcurl4-openssl-dev \
|
|
|
- libpcre3-dev libspeex-dev libspeexdsp-dev libsqlite3-dev \
|
|
|
- libedit-dev screen htop pkg-config bzip2 bison libssl-dev unixodbc \
|
|
|
- unixodbc-dev libtiff-tools libmemcached-dev uuid-dev libpq5 libpq-dev \
|
|
|
- portaudio19-dev lame libldap2-dev lua5.2 liblua5.2-dev
|
|
|
-fi
|
|
|
-###################################
|
|
|
-# Install Freetdm Deps if selected
|
|
|
-###################################
|
|
|
-if [ $use_mod_freetdm == "y" ]; then
|
|
|
- #add stuff for freetdm/dahdi
|
|
|
- apt-get -y install linux-headers-"$(uname -r)"
|
|
|
- #add the headers so dahdi can build the modules...
|
|
|
- apt-get -y install libpri1.4 libpri-dev dahdi dahdi-linux dahdi-firmware-nonfree \
|
|
|
- dahdi-source libtonezone-dev libtonezone2.0 libopenr2-3 libopenr2-bin libopenr2-dev
|
|
|
- #running ldconfig to prep for freetdm build
|
|
|
- pgrep -f ldconfig > /dev/null
|
|
|
-fi
|
|
|
-
|
|
|
-###################################
|
|
|
-# Install gsmopen Deps if selected
|
|
|
-###################################
|
|
|
-if [ $use_mod_gsmopen == "y" ]; then
|
|
|
- #Install gsm resuirements
|
|
|
- apt-get -y install libgsmsd7 libgsmsmme-dev libgsmme1c2a libgsm0710mux3 libgsm-tools \
|
|
|
- libgsm1 libgsm1-dev libgsm0710-0 libgsm0710-dev
|
|
|
- # Install usb mode switch requirements
|
|
|
- apt-get -y installusb-modeswitch-data usb-modeswitch
|
|
|
- #wget/build libctb
|
|
|
- wget https://iftools.com/download/ctb/0.16/libctb-0.16.tar.gz
|
|
|
- tar xzvf libctb-0.16.tar.gz -C /usr/src
|
|
|
- cd /usr/src/libctb-0.16/build
|
|
|
- make DEBUG=0 GPIB=0
|
|
|
- make DEBUG=0 GPIB=0 install
|
|
|
- #running ldconfig to prep for freetdm build
|
|
|
- pgrep -f ldconfig > /dev/null
|
|
|
-fi
|
|
|
-
|
|
|
-########################################################################################
|
|
|
-# grab the freeswitch 1.4 release src code from the freeswitch stache if stable selected
|
|
|
-# else grab the freeswitch 1.5 head branch for building.
|
|
|
-########################################################################################
|
|
|
-if [[ $freeswitch_stable == "y" ]];then
|
|
|
- echo " Pulling freeswitch 1.4 stable branch from stache repo "
|
|
|
- time git clone https://stash.freeswitch.org/scm/fs/freeswitch.git -b "$fs_ver" "$fs_src_path"
|
|
|
-else
|
|
|
- echo " Pulling freeswitch 1.5 heaad branch from stache repo "
|
|
|
- time git clone https://stash.freeswitch.org/scm/fs/freeswitch.git "$fs_src_path"
|
|
|
-fi
|
|
|
-
|
|
|
-#####################################################################
|
|
|
-#grap the freeswitch contrib src code from the freeswitch stache
|
|
|
-#####################################################################
|
|
|
-if [[ $use_freeswitch_contrib == "y" ]]; then
|
|
|
- time git clone https://stash.freeswitch.org/scm/fs/freeswitch-contrib.git "$fs_src_path"/contrib
|
|
|
-fi
|
|
|
-
|
|
|
-#################################
|
|
|
-# add patches for updating builds
|
|
|
-##################################
|
|
|
-#fix mod_shout build
|
|
|
-sed -i "$fs_src_path/src/mod/formats/mod_shout/Makefile.in" -e 's|mpg123-1.13.2|mpg123-1.19.0|'
|
|
|
-#Update ZMQ
|
|
|
-sed -i "$fs_src_path/src/mod/event_handlers/mod_event_zmq/Makefile.in" -e 's|2.1.9|4.0.5|'
|
|
|
-
|
|
|
-#######################
|
|
|
-#bootstrap the srccode
|
|
|
-#######################
|
|
|
-cd "$fs_src_path"
|
|
|
-if [[ $multi_core == "y" ]]; then
|
|
|
- ./bootstrap.sh -j "$(nproc)"
|
|
|
-else
|
|
|
- ./bootstrap.sh
|
|
|
-fi
|
|
|
-echo
|
|
|
-
|
|
|
-########################
|
|
|
-#Configure modules.conf
|
|
|
-########################
|
|
|
-#Reads the $fs_src_path"/modules.conf and looks for lines without a # sign Default enabled modules.
|
|
|
-modules_comp_default=( $(grep -v ^$ "$fs_src_path"/modules.conf | grep -v ^# | tr '\n' ' ') )
|
|
|
-
|
|
|
-#Reads in the fusionpbx_modules_add list of modules to add and index's and counts them .
|
|
|
-module_count=`echo ${#fusionpbx_modules_add[@]}`
|
|
|
-#sets index to =
|
|
|
-index=0
|
|
|
-
|
|
|
-while [ "$index" -lt "$module_count" ]
|
|
|
-do
|
|
|
-modules_compile_add[$index]=$(grep "${fusionpbx_modules_add[$index]}" "$fs_src_path"/modules.conf | sed -e "s/#//g")
|
|
|
-let "index = $index + 1"
|
|
|
-done
|
|
|
-
|
|
|
-modules_compile=( ${modules_comp_default[*]} ${modules_compile_add[*]} )
|
|
|
-
|
|
|
-#Enable module in MODULES.CONF
|
|
|
-echo " Now enabling modules in $fs_src_path/modules.conf "
|
|
|
-index=0
|
|
|
-module_count=`echo ${#modules_compile[@]}`
|
|
|
-
|
|
|
-#get rid of unwanted spacing in modules.conf
|
|
|
-sed -i -e "s/ *//g" "$fs_src_path"/modules.conf
|
|
|
-
|
|
|
-while [ "$index" -lt "$module_count" ]
|
|
|
-do
|
|
|
-grep ${modules_compile[$index]} "$fs_src_path"/modules.conf > /dev/null
|
|
|
-if [ $? -eq 0 ]; then
|
|
|
- #check if module is present in file. see if we need to enable it by removing the # at the start of the line
|
|
|
- grep '#'${modules_compile[$index]} "$fs_src_path"/modules.conf > /dev/null
|
|
|
- if [ $? -eq 0 ]; then
|
|
|
- sed -i -e s,'#'${modules_compile[$index]},${modules_compile[$index]}, "$fs_src_path"/modules.conf
|
|
|
- #reads the index of the modules that where added and echo's it enabled the following modules
|
|
|
- echo " [ENABLED] ${modules_compile[$index]}"
|
|
|
- else
|
|
|
- #reads the index of the modules that where added and echo's what modules where already enabled
|
|
|
- echo " ${modules_compile[$index]} These selected modules are already enabled !"
|
|
|
- fi
|
|
|
-else
|
|
|
- #module is not present. Add to end of file
|
|
|
- echo ${modules_compile[$index]} >> "$fs_src_path"/modules.conf
|
|
|
- echo " [ADDED] ${modules_compile[$index]}"
|
|
|
-fi
|
|
|
-let "index = $index + 1"
|
|
|
-done
|
|
|
-
|
|
|
-###################################################################################
|
|
|
-# cd to the freeswitch src code and condifure it for proper dir layout and options.
|
|
|
-###################################################################################
|
|
|
-###################################################################################
|
|
|
-# Pulled from freeswitch/debain/rules files. Sets Dir in FHS Layout.....
|
|
|
-###################################################################################
|
|
|
-cd "$fs_src_path"
|
|
|
-if [[ $freeswitch_stable == "y" ]]; then
|
|
|
-./configure -C --with-gnu-ld --with-python --with-openssl \
|
|
|
---enable-core-odbc-support --enable-zrtp \
|
|
|
---enable-core-pgsql-support \
|
|
|
---prefix=/usr --localstatedir=/var \
|
|
|
---sysconfdir=/etc/freeswitch \
|
|
|
---with-modinstdir=/usr/lib/freeswitch/mod \
|
|
|
---with-rundir=/var/run/freeswitch \
|
|
|
---with-logfiledir=/var/log/freeswitch \
|
|
|
---with-dbdir=/var/lib/freeswitch/db \
|
|
|
---with-htdocsdir=/usr/share/freeswitch/htdocs \
|
|
|
---with-soundsdir=/usr/share/freeswitch/sounds \
|
|
|
---with-storagedir=/var/lib/freeswitch/storage \
|
|
|
---with-cachedir=/var/cache/freeswitch \
|
|
|
---with-grammardir=/usr/share/freeswitch/grammar \
|
|
|
---with-certsdir=/etc/freeswitch/tls \
|
|
|
---with-scriptdir=/var/lib/freeswitch/scripts \
|
|
|
---with-recordingsdir=/var/lib/freeswitch/recordings \
|
|
|
---enable-static-v8 --disable-parallel-build-v8 \
|
|
|
---with-libpri
|
|
|
-else
|
|
|
-./configure -C --with-gnu-ld --with-python --with-openssl \
|
|
|
---enable-core-odbc-support --enable-zrtp \
|
|
|
---enable-core-pgsql-support \
|
|
|
---prefix=/usr --localstatedir=/var \
|
|
|
---sysconfdir=/etc/freeswitch \
|
|
|
---with-modinstdir=/usr/lib/freeswitch/mod \
|
|
|
---with-rundir=/var/run/freeswitch \
|
|
|
---with-logfiledir=/var/log/freeswitch \
|
|
|
---with-dbdir=/var/lib/freeswitch/db \
|
|
|
---with-htdocsdir=/usr/share/freeswitch/htdocs \
|
|
|
---with-soundsdir=/usr/share/freeswitch/sounds \
|
|
|
---with-storagedir=/var/lib/freeswitch/storage \
|
|
|
---with-cachedir=/var/cache/freeswitch \
|
|
|
---with-grammardir=/usr/share/freeswitch/grammar \
|
|
|
---with-certsdir=/etc/freeswitch/tls \
|
|
|
---with-scriptdir=/var/lib/freeswitch/scripts \
|
|
|
---with-recordingsdir=/var/lib/freeswitch/recordings \
|
|
|
---enable-static-v8 --disable-parallel-build-v8 \
|
|
|
---enable-sytem-lua \
|
|
|
---with-libpri
|
|
|
-fi
|
|
|
-
|
|
|
-####################
|
|
|
-# BUILD fREESWITCH
|
|
|
-####################
|
|
|
-cd "$fs_src_path"
|
|
|
-if [[ $multi_core == "y" ]]; then
|
|
|
- time make -j "$(nproc)" core
|
|
|
- time make -j "$(nproc)"
|
|
|
-else
|
|
|
- time make
|
|
|
-fi
|
|
|
-
|
|
|
-####################################
|
|
|
-#ADD Freeswitch user to users/groups
|
|
|
-####################################
|
|
|
-echo "adding freeswitch user / group"
|
|
|
-useradd --system -U freeswitch -Gaudio -d /var/lib/freeswitch -s /bin/false -e '' -c 'FreeSWITCH'
|
|
|
-
|
|
|
-#####################
|
|
|
-#Install Freeswitch
|
|
|
-#####################
|
|
|
-cd "$fs_src_path"
|
|
|
-if [[ $multi_core == "y" ]]; then
|
|
|
- time make -j "$(nproc)" install
|
|
|
-else
|
|
|
- time make install
|
|
|
-fi
|
|
|
-
|
|
|
-##########################################################################
|
|
|
-# Test / Set Freeswitch Default Permissions on the freeswitch directories.
|
|
|
-##########################################################################
|
|
|
- for x in \
|
|
|
- /var/lib/freeswitch \
|
|
|
- /var/lib/freeswitch/db \
|
|
|
- /var/lib/freeswitch/recordings \
|
|
|
- /var/lib/freeswitch/storage \
|
|
|
- /var/log/freeswitch \
|
|
|
- /var/run/freeswitch;
|
|
|
- do
|
|
|
- if ! test -d $x; then
|
|
|
- mkdir -p $x
|
|
|
- chown freeswitch:freeswitch $x
|
|
|
- chmod o-rwx,g+u $x
|
|
|
- fi
|
|
|
- chown freeswitch:freeswitch $x
|
|
|
- chmod o-rwx,g+u $x
|
|
|
- done
|
|
|
-
|
|
|
-#################################################
|
|
|
-#Put Freeswitch init.d service script into place
|
|
|
-#################################################
|
|
|
-echo
|
|
|
-cp "$fs_src_path"/debian/freeswitch-sysvinit.freeswitch.default /etc/default/freeswitch
|
|
|
-echo
|
|
|
-echo " Installing/Enabling init.d startup scripts for freeswitch"
|
|
|
-cp "$fs_src_path"/debian/freeswitch-sysvinit.freeswitch.init /etc/init.d/freeswitch
|
|
|
-echo
|
|
|
-echo "enabling FreeSWITCH to start at boot"
|
|
|
-chmod 755 /etc/init.d/freeswitch
|
|
|
-echo
|
|
|
-echo "Installing/ Enabling systemd init scripts for freeswitch"
|
|
|
-cp "$fs_src_path"/debian/freeswitch-systemd.freeswitch.service /lib/systemd/system/freeswitch.service
|
|
|
-echo
|
|
|
-
|
|
|
-#########################################
|
|
|
-#starting freeswitch for the first time
|
|
|
-#########################################
|
|
|
-service freeswitch restart
|
|
|
-
|
|
|
-##############################
|
|
|
-#installing freeswitch sounds.
|
|
|
-##############################
|
|
|
-if [[ $freeswitch_cd_sounds == "y" ]]; then
|
|
|
- cd "$fs_src_path"
|
|
|
- if [[ $multi_core == "y" ]]; then
|
|
|
- time make -j "$(nproc)" cd-sounds-install
|
|
|
- else
|
|
|
- time make cd-sounds-install
|
|
|
- fi
|
|
|
-else
|
|
|
- cd "$fs_src_path"
|
|
|
- if [[ $multi_core == "y" ]]; then
|
|
|
- time make -j "$(nproc)" hd-sounds-install
|
|
|
- else
|
|
|
- time make hd-sounds-install
|
|
|
- fi
|
|
|
-fi
|
|
|
-
|
|
|
-#######################################
|
|
|
-#adding a built from source check file.
|
|
|
-#######################################
|
|
|
-touch /root/.fs_src
|
|
|
-
|
|
|
-fi
|
|
|
-#############################################################
|
|
|
-#---End / Finish Freeswitch FHS Source Build Install -------
|
|
|
-#############################################################
|
|
|
-
|
|
|
-#####################################################
|
|
|
-#---Start of nginx / php5 install --------
|
|
|
-#####################################################
|
|
|
-##############################################################################
|
|
|
-#Install and configure PHP + Nginx + sqlite3 for use with the fusionpbx gui.
|
|
|
-##############################################################################
|
|
|
-apt-get -y install sqlite3 ssl-cert nginx php5-cli php5-common php-apc php5-gd \
|
|
|
- php-db php5-fpm php5-memcache php5-sqlite php5-imap php5-mcrypt php5-curl
|
|
|
-
|
|
|
-##################################################
|
|
|
-# Changing file upload size from 2M to upload_size
|
|
|
-##################################################
|
|
|
-sed -i "$php_ini" -e "s#upload_max_filesize = 2M#upload_max_filesize = $upload_size#"
|
|
|
-
|
|
|
-######################################################
|
|
|
-# Changing post_max_size limit from 8M to upload_size
|
|
|
-######################################################
|
|
|
-sed -i "$php_ini" -e "s#post_max_size = 8M#post_max_size = $upload_size#"
|
|
|
-
|
|
|
-#####################################################################################################
|
|
|
-#Nginx config Copied from Debian nginx pkg (nginx on debian wheezy uses sockets by default not ports)
|
|
|
-#####################################################################################################
|
|
|
-cat > "/etc/nginx/sites-available/fusionpbx" << DELIM
|
|
|
-server{
|
|
|
- listen 127.0.0.1:80;
|
|
|
- server_name 127.0.0.1;
|
|
|
- access_log /var/log/nginx/access.log;
|
|
|
- error_log /var/log/nginx/error.log;
|
|
|
-
|
|
|
- client_max_body_size $upload_size;
|
|
|
- client_body_buffer_size 128k;
|
|
|
-
|
|
|
- location / {
|
|
|
- root $WWW_PATH/$wui_name;
|
|
|
- index index.php;
|
|
|
- }
|
|
|
-
|
|
|
- location ~ \.php$ {
|
|
|
- fastcgi_pass unix:/var/run/php5-fpm.sock;
|
|
|
- #fastcgi_pass 127.0.0.1:9000;
|
|
|
- fastcgi_index index.php;
|
|
|
- include fastcgi_params;
|
|
|
- fastcgi_param SCRIPT_FILENAME $WWW_PATH/$wui_name\$fastcgi_script_name;
|
|
|
- }
|
|
|
-
|
|
|
- # Disable viewing .htaccess & .htpassword & .db
|
|
|
- location ~ .htaccess {
|
|
|
- deny all;
|
|
|
- }
|
|
|
- location ~ .htpassword {
|
|
|
- deny all;
|
|
|
- }
|
|
|
- location ~^.+.(db)$ {
|
|
|
- deny all;
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-server{
|
|
|
- listen 80;
|
|
|
- listen [::]:80 default_server ipv6only=on;
|
|
|
- server_name $wui_name;
|
|
|
- if (\$uri !~* ^.*provision.*$) {
|
|
|
- rewrite ^(.*) https://\$host\$1 permanent;
|
|
|
- break;
|
|
|
- }
|
|
|
-
|
|
|
- #grandstream
|
|
|
- rewrite "^.*/provision/cfg([A-Fa-f0-9]{12})(\.(xml|cfg))?$" /app/provision/?mac=\$1;
|
|
|
-
|
|
|
- #aastra
|
|
|
- #rewrite "^.*/provision/([A-Fa-f0-9]{12})(\.(cfg))?$" /app/provision/?mac=$1 last;
|
|
|
-
|
|
|
- #yealink common
|
|
|
- rewrite "^.*/provision/(y[0-9]{12})(\.cfg)?$" /app/provision/index.php?file=\$1\$2;
|
|
|
-
|
|
|
- #yealink mac
|
|
|
- rewrite "^.*/([A-Fa-f0-9]{12})(\.(xml|cfg))?$" /app/provision/index.php?mac=\$1 last;
|
|
|
-
|
|
|
- if (\$uri !~* ^.*provision.*$) {
|
|
|
- rewrite ^(.*) https://\$host\$1 permanent;
|
|
|
- break;
|
|
|
- }
|
|
|
-
|
|
|
- access_log /var/log/nginx/access.log;
|
|
|
- error_log /var/log/nginx/error.log;
|
|
|
-
|
|
|
- client_max_body_size $upload_size;
|
|
|
- client_body_buffer_size 128k;
|
|
|
-
|
|
|
- location / {
|
|
|
- root $WWW_PATH/$wui_name;
|
|
|
- index index.php;
|
|
|
- }
|
|
|
-
|
|
|
- location ~ \.php$ {
|
|
|
- fastcgi_pass unix:/var/run/php5-fpm.sock;
|
|
|
- fastcgi_index index.php;
|
|
|
- include fastcgi_params;
|
|
|
- fastcgi_param SCRIPT_FILENAME $WWW_PATH/$wui_name\$fastcgi_script_name;
|
|
|
- }
|
|
|
-
|
|
|
- # Disable viewing .htaccess & .htpassword & .db
|
|
|
- location ~ .htaccess {
|
|
|
- deny all;
|
|
|
- }
|
|
|
- location ~ .htpassword {
|
|
|
- deny all;
|
|
|
- }
|
|
|
- location ~^.+.(db)$ {
|
|
|
- deny all;
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-server{
|
|
|
- listen 443;
|
|
|
- listen [::]:443 default_server ipv6only=on;
|
|
|
- server_name $wui_name;
|
|
|
- ssl on;
|
|
|
- ssl_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem;
|
|
|
- ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key;
|
|
|
- ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
|
|
|
- ssl_session_timeout 5m;
|
|
|
- ssl_ciphers HIGH:!ADH:!MD5;
|
|
|
-
|
|
|
- #grandstream
|
|
|
- rewrite "^.*/provision/cfg([A-Fa-f0-9]{12})(\.(xml|cfg))?$" /app/provision/?mac=\$1;
|
|
|
-
|
|
|
- #aastra
|
|
|
- #rewrite "^.*/provision/([A-Fa-f0-9]{12})(\.(cfg))?$" /app/provision/?mac=$1 last;
|
|
|
-
|
|
|
- #yealink common
|
|
|
- rewrite "^.*/provision/(y[0-9]{12})(\.cfg)?$" /app/provision/index.php?file=\$1\$2;
|
|
|
-
|
|
|
- #yealink mac
|
|
|
- rewrite "^.*/provision/([A-Fa-f0-9]{12})(\.(xml|cfg))?$" /app/provision/index.php?mac=\$1 last;
|
|
|
-
|
|
|
- access_log /var/log/nginx/access.log;
|
|
|
- error_log /var/log/nginx/error.log;
|
|
|
-
|
|
|
- client_max_body_size $upload_size;
|
|
|
- client_body_buffer_size 128k;
|
|
|
-
|
|
|
- location / {
|
|
|
- root $WWW_PATH/$wui_name;
|
|
|
- index index.php;
|
|
|
- }
|
|
|
-
|
|
|
- location ~ \.php$ {
|
|
|
- fastcgi_pass unix:/var/run/php5-fpm.sock;
|
|
|
- fastcgi_index index.php;
|
|
|
- include fastcgi_params;
|
|
|
- fastcgi_param SCRIPT_FILENAME $WWW_PATH/$wui_name\$fastcgi_script_name;
|
|
|
- }
|
|
|
-
|
|
|
- # Disable viewing .htaccess & .htpassword & .db
|
|
|
- location ~ .htaccess {
|
|
|
- deny all;
|
|
|
- }
|
|
|
- location ~ .htpassword {
|
|
|
- deny all;
|
|
|
- }
|
|
|
- location ~^.+.(db)$ {
|
|
|
- deny all;
|
|
|
- }
|
|
|
-}
|
|
|
-DELIM
|
|
|
-
|
|
|
-###############################################
|
|
|
-# set nginx worker level limit for performance
|
|
|
-###############################################
|
|
|
-cat > "/etc/nginx/nginx.conf" << DELIM
|
|
|
-user www-data;
|
|
|
-worker_processes 2;
|
|
|
-pid /var/run/nginx.pid;
|
|
|
-
|
|
|
-events {
|
|
|
- worker_connections 768;
|
|
|
- multi_accept on;
|
|
|
-}
|
|
|
-
|
|
|
-http {
|
|
|
-
|
|
|
- ##
|
|
|
- # Basic Settings
|
|
|
- ##
|
|
|
-
|
|
|
- sendfile on;
|
|
|
- tcp_nopush on;
|
|
|
- tcp_nodelay on;
|
|
|
- keepalive_timeout 75;
|
|
|
- keepalive_requests 10000;
|
|
|
- types_hash_max_size 2048;
|
|
|
- # server_tokens off;
|
|
|
-
|
|
|
- # server_names_hash_bucket_size 64;
|
|
|
- # server_name_in_redirect off;
|
|
|
-
|
|
|
- include /etc/nginx/mime.types;
|
|
|
- default_type application/octet-stream;
|
|
|
-
|
|
|
- open_file_cache max=1000 inactive=20s;
|
|
|
- open_file_cache_valid 30s;
|
|
|
- open_file_cache_min_uses 2;
|
|
|
- open_file_cache_errors off;
|
|
|
-
|
|
|
- fastcgi_cache_path /var/cache/nginx levels=1:2 keys_zone=microcache:15M max_size=1000m inactive=60m;
|
|
|
-
|
|
|
- ##
|
|
|
- # Logging Settings
|
|
|
- ##
|
|
|
-
|
|
|
- #access_log /var/log/nginx/access.log;
|
|
|
- error_log /var/log/nginx/error.log;
|
|
|
-
|
|
|
- ##
|
|
|
- # Gzip Settings
|
|
|
- ##
|
|
|
-
|
|
|
- gzip on;
|
|
|
- gzip_static on;
|
|
|
- gzip_disable "msie6";
|
|
|
-
|
|
|
- # gzip_vary on;
|
|
|
- # gzip_proxied any;
|
|
|
- # gzip_comp_level 6;
|
|
|
- # gzip_buffers 16 8k;
|
|
|
- # gzip_http_version 1.1;
|
|
|
- # gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
|
|
|
-
|
|
|
- ##
|
|
|
- # nginx-naxsi config
|
|
|
- ##
|
|
|
- # Uncomment it if you installed nginx-naxsi
|
|
|
- ##
|
|
|
-
|
|
|
- #include /etc/nginx/naxsi_core.rules;
|
|
|
-
|
|
|
- ##
|
|
|
- # nginx-passenger config
|
|
|
- ##
|
|
|
- # Uncomment it if you installed nginx-passenger
|
|
|
- ##
|
|
|
-
|
|
|
- #passenger_root /usr;
|
|
|
- #passenger_ruby /usrruby;
|
|
|
-
|
|
|
- ##
|
|
|
- # Virtual Host Configs
|
|
|
- ##
|
|
|
-
|
|
|
- include /etc/nginx/conf.d/*.conf;
|
|
|
- include /etc/nginx/sites-enabled/*;
|
|
|
-}
|
|
|
-
|
|
|
-DELIM
|
|
|
-
|
|
|
-##############################################################
|
|
|
-# linking fusionpbx nginx config from avaible to enabled sites
|
|
|
-##############################################################
|
|
|
-ln -s /etc/nginx/sites-available/"$wui_name" /etc/nginx/sites-enabled/"$wui_name"
|
|
|
-
|
|
|
-######################
|
|
|
-#disable default site
|
|
|
-######################
|
|
|
-rm -rf /etc/nginx/sites-enabled/default
|
|
|
-
|
|
|
-##############################
|
|
|
-#Restarting Nginx and PHP FPM
|
|
|
-##############################
|
|
|
-for i in nginx php5-fpm ;do service "${i}" restart > /dev/null 2>&1 ; done
|
|
|
-
|
|
|
-########################################
|
|
|
-#---- end f nginx / php5 install------
|
|
|
-########################################
|
|
|
-
|
|
|
-##############################
|
|
|
-#Adding users to needed groups
|
|
|
-##############################
|
|
|
-adduser freeswitch www-data
|
|
|
-adduser freeswitch dialout
|
|
|
-adduser www-data freeswitch
|
|
|
-adduser www-data audio
|
|
|
-adduser www-data dialout
|
|
|
-
|
|
|
-############################################################################
|
|
|
-# ---Start--Install FusionPBX Web User Interface ( very basic install )-----
|
|
|
-############################################################################
|
|
|
-######################
|
|
|
-#adding FusionPBX repo
|
|
|
-#######################
|
|
|
-if [[ $fusionpbx_stable == "y" ]]; then
|
|
|
- echo 'installing fusionpbx Stabe/Release repo'
|
|
|
- cat > "/etc/apt/sources.list.d/fusionpbx.list" <<DELIM
|
|
|
- deb http://repo.fusionpbx.com/fusionpbx/release/debian/ wheezy main
|
|
|
-DELIM
|
|
|
-else
|
|
|
- echo 'installing fusionpbx head/devel repo'
|
|
|
- cat > "/etc/apt/sources.list.d/fusionpbx.list" <<DELIM
|
|
|
- deb http://repo.fusionpbx.com/fusionpbx/head/debian/ wheezy main
|
|
|
-DELIM
|
|
|
-fi
|
|
|
-echo
|
|
|
-#################################################
|
|
|
-#run repo update after adding in a new repo....
|
|
|
-#################################################
|
|
|
-apt-get update
|
|
|
-
|
|
|
-###########################
|
|
|
-#Installing fusionpbx pkgs
|
|
|
-###########################
|
|
|
-##########################################
|
|
|
-# Install default minimal fusionpbx pkgs
|
|
|
-##########################################
|
|
|
-apt-get -y --force-yes install fusionpbx-core fusionpbx-app-calls fusionpbx-app-calls-active fusionpbx-app-call-block \
|
|
|
- fusionpbx-app-contacts fusionpbx-app-destinations fusionpbx-app-dialplan fusionpbx-app-dialplan-inbound \
|
|
|
- fusionpbx-app-dialplan-outbound fusionpbx-app-extensions fusionpbx-app-follow-me fusionpbx-app-gateways \
|
|
|
- fusionpbx-app-ivr-menu fusionpbx-app-login fusionpbx-app-log-viewer fusionpbx-app-modules fusionpbx-app-music-on-hold \
|
|
|
- fusionpbx-app-recordings fusionpbx-app-registrations fusionpbx-app-ring-groups fusionpbx-app-settings \
|
|
|
- fusionpbx-app-sip-profiles fusionpbx-app-sip-status fusionpbx-app-system fusionpbx-app-time-conditions \
|
|
|
- fusionpbx-app-xml-cdr fusionpbx-app-vars fusionpbx-app-voicemails fusionpbx-app-voicemail-greetings \
|
|
|
- fusionpbx-conf fusionpbx-scripts fusionpbx-sqldb fusionpbx-theme-enhanced fusionpbx-music-default
|
|
|
-
|
|
|
-if [[ $fusionpbx_stable == "n" ]]; then
|
|
|
- apt-get -y --force-yes install fusionpbx-operator-panel
|
|
|
-fi
|
|
|
-
|
|
|
-########################
|
|
|
-#set permissions on dir
|
|
|
-########################
|
|
|
-find "/var/lib/fusionpbx" -type d -exec chmod 775 {} +
|
|
|
-find "/var/lib/fusionpbx" -type f -exec chmod 664 {} +
|
|
|
-
|
|
|
-###########################
|
|
|
-#Optional APP PKGS installs
|
|
|
-###########################
|
|
|
-if [[ $adminer == "y" ]]; then
|
|
|
- apt-get -y --force-yes install fusionpbx-app-adminer
|
|
|
-fi
|
|
|
-
|
|
|
-if [[ $backup == "y" ]]; then
|
|
|
- apt-get -y --force-yes install fusionpbx-app-backup
|
|
|
-fi
|
|
|
-
|
|
|
-if [[ $call_broadcast == "y" ]]; then
|
|
|
- apt-get -y --force-yes install fusionpbx-app-call-broadcast
|
|
|
-fi
|
|
|
-
|
|
|
-if [[ $call_center == "y" ]]; then
|
|
|
- apt-get -y --force-yes install fusionpbx-app-call-center fusionpbx-app-call-center-active
|
|
|
- if [[ -f /root/.fs_src ]] ; then
|
|
|
- if [[ ! -f /usr/lib/freeswitch/mod/mod_callcenter ]] ; then
|
|
|
- echo " Requires freeswitch mod_callcenter "
|
|
|
- fi
|
|
|
- else
|
|
|
- apt-get -y --force-yes install freeswitch-mod-callcenter
|
|
|
- fi
|
|
|
-fi
|
|
|
-
|
|
|
-if [[ $call_flows == "y" ]]; then
|
|
|
- apt-get -y --force-yes install fusionpbx-app-call-flows
|
|
|
-fi
|
|
|
-
|
|
|
-if [[ $conference_centers == "y" ]]; then
|
|
|
- apt-get -y --force-yes install freeswitch-mod-conference fusionpbx-app-conference-centers fusionpbx-app-conferences-active fusionpbx-app-meetings
|
|
|
- if [[ -f /root/.fs_src ]] ; then
|
|
|
- if [[ ! -f /usr/lib/freeswitch/mod/mod_conference ]] ; then
|
|
|
- echo " Requires freeswitch mod_conference "
|
|
|
- fi
|
|
|
- else
|
|
|
- apt-get -y --force-yes install freeswitch-mod-conference
|
|
|
- fi
|
|
|
-fi
|
|
|
-
|
|
|
-if [[ $conference == "y" ]]; then
|
|
|
- apt-get -y --force-yes install freeswitch-mod-conference fusionpbx-app-conferences fusionpbx-app-conferences-active fusionpbx-app-meetings
|
|
|
- if [[ -f /root/.fs_src ]] ; then
|
|
|
- if [[ ! -f /usr/lib/freeswitch/mod/mod_conference ]] ; then
|
|
|
- echo " Requires freeswitch mod_conference "
|
|
|
- fi
|
|
|
- else
|
|
|
- apt-get -y --force-yes install freeswitch-mod-conference
|
|
|
- fi
|
|
|
-fi
|
|
|
-
|
|
|
-if [[ $content == "y" ]]; then
|
|
|
- apt-get -y --force-yes install fusionpbx-app-content
|
|
|
-fi
|
|
|
-
|
|
|
-if [[ $edit == "y" ]]; then
|
|
|
- apt-get -y --force-yes install fusionpbx-app-edit
|
|
|
-fi
|
|
|
-
|
|
|
-if [[ $exec == "y" ]]; then
|
|
|
- apt-get -y --force-yes install fusionpbx-app-exec
|
|
|
-fi
|
|
|
-
|
|
|
-if [[ $fax == "y" ]]; then
|
|
|
- apt-get -y --force-yes install ghostscript libreoffice-common fusionpbx-app-fax
|
|
|
-fi
|
|
|
-
|
|
|
-if [[ $fifo == "y" ]]; then
|
|
|
- apt-get -y --force-yes install freeswitch-mod-fifo fusionpbx-app-fifo fusionpbx-app-fifo-list
|
|
|
- if [[ -f /root/.fs_src ]] ; then
|
|
|
- if [[ ! -f /usr/lib/freeswitch/mod/mod_fifo ]] ; then
|
|
|
- echo " Requires freeswitch mod_fifo "
|
|
|
- fi
|
|
|
- else
|
|
|
- apt-get -y --force-yes install freeswitch-mod-fifo
|
|
|
- fi
|
|
|
-fi
|
|
|
-
|
|
|
-if [[ $hot_desk == "y" ]]; then
|
|
|
- apt-get -y --force-yes install fusionpbx-app-hot-desking
|
|
|
-fi
|
|
|
-
|
|
|
-if [[ $schemas == "y" ]]; then
|
|
|
- apt-get -y --force-yes install fusionpbx-app-schemas
|
|
|
-fi
|
|
|
-
|
|
|
-if [[ $services == "y" ]]; then
|
|
|
- apt-get -y --force-yes install fusionpbx-app-services
|
|
|
-fi
|
|
|
-
|
|
|
-if [[ $sipml5 == "y" ]]; then
|
|
|
- apt-get -y --force-yes install fusionpbx-app-sipml5
|
|
|
- if [[ -f /root/.fs_src ]] ; then
|
|
|
- if [[ ! -f /usr/lib/freeswitch/mod/mod_rtmp ]] ; then
|
|
|
- echo " Requires freeswitch mod_rtmp "
|
|
|
- fi
|
|
|
- else
|
|
|
- apt-get -y --force-yes install freeswitch-mod-rtmp
|
|
|
- fi
|
|
|
-fi
|
|
|
-
|
|
|
-if [[ $sql_query == "y" ]]; then
|
|
|
- apt-get -y --force-yes install fusionpbx-app-sql-query
|
|
|
-fi
|
|
|
-
|
|
|
-if [[ $traffic_graph == "y" ]]; then
|
|
|
- apt-get -y --force-yes install fusionpbx-app-traffic-graph
|
|
|
-fi
|
|
|
-
|
|
|
-if [[ $xmpp == "y" ]]; then
|
|
|
- apt-get -y --force-yes install fusionpbx-app-xmpp;
|
|
|
- if [[ -f /root/.fs_src ]] ; then
|
|
|
- if [[ ! -f /usr/lib/freeswitch/mod/mod_dingaling ]] ; then
|
|
|
- echo " Requires freeswitch mod_dingaling "
|
|
|
- fi
|
|
|
- else
|
|
|
- apt-get -y --force-yes install freeswitch-mod-dingaling
|
|
|
- fi
|
|
|
-fi
|
|
|
-
|
|
|
-if [[ $aastra == "y" ]]; then
|
|
|
- apt-get -y --force-yes install fusionpbx-app-devices fusionpbx-app-provision fusionpbx-provisioning-template-aastra && mkdir -p /etc/fusionpbx/resources/templates/provision && cp -rp /usr/share/examples/fusionpbx/resources/templates/provision/aastra /etc/fusionpbx/resources/templates/provision/
|
|
|
-fi
|
|
|
-
|
|
|
-if [[ $atcom == "y" ]]; then
|
|
|
- apt-get -y --force-yes install fusionpbx-app-devices fusionpbx-app-provision fusionpbx-provisioning-template-atcom && mkdir -p /etc/fusionpbx/resources/templates/provision && cp -rp /usr/share/examples/fusionpbx/resources/templates/provision/atcom /etc/fusionpbx/resources/templates/provision/
|
|
|
-fi
|
|
|
-
|
|
|
-if [[ $cisco == "y" ]]; then
|
|
|
- apt-get -y --force-yes install fusionpbx-app-devices fusionpbx-app-provision fusionpbx-provisioning-template-cisco && mkdir -p /etc/fusionpbx/resources/templates/provision && cp -rp /usr/share/examples/fusionpbx/resources/templates/provision/cisco /etc/fusionpbx/resources/templates/provision/
|
|
|
-fi
|
|
|
-
|
|
|
-if [[ $grandstream == "y" ]]; then
|
|
|
- apt-get -y --force-yes install fusionpbx-app-devices fusionpbx-app-provision fusionpbx-provisioning-template-grandstream && mkdir -p /etc/fusionpbx/resources/templates/provision && cp -rp /usr/share/examples/fusionpbx/resources/templates/provision/grandstream /etc/fusionpbx/resources/templates/provision/
|
|
|
-fi
|
|
|
-
|
|
|
-if [[ $linksys == "y" ]]; then
|
|
|
- apt-get -y --force-yes install fusionpbx-app-devices fusionpbx-app-provision fusionpbx-provisioning-template-linksys && mkdir -p /etc/fusionpbx/resources/templates/provision && cp -rp /usr/share/examples/fusionpbx/resources/templates/provision/linksys /etc/fusionpbx/resources/templates/provision/
|
|
|
-fi
|
|
|
-
|
|
|
-if [[ $panasonic == "y" ]]; then
|
|
|
- apt-get -y --force-yes install fusionpbx-app-devices fusionpbx-app-provision fusionpbx-provisioning-template-panasonic && mkdir -p /etc/fusionpbx/resources/templates/provision && cp -rp /usr/share/examples/fusionpbx/resources/templates/provision/panasonic /etc/fusionpbx/resources/templates/provision/
|
|
|
-fi
|
|
|
-
|
|
|
-if [[ $polycom == "y" ]]; then
|
|
|
- apt-get -y --force-yes install fusionpbx-app-devices fusionpbx-app-provision fusionpbx-provisioning-template-polycom && mkdir -p /etc/fusionpbx/resources/templates/provision && cp -rp /usr/share/examples/fusionpbx/resources/templates/provision/polycom /etc/fusionpbx/resources/templates/provision/
|
|
|
-fi
|
|
|
-
|
|
|
-if [[ $snom == "y" ]]; then
|
|
|
- apt-get -y --force-yes install fusionpbx-app-devices fusionpbx-app-provision fusionpbx-provisioning-template-snom && mkdir -p /etc/fusionpbx/resources/templates/provision && cp -rp /usr/share/examples/fusionpbx/resources/templates/provision/snom /etc/fusionpbx/resources/templates/provision/
|
|
|
-fi
|
|
|
-
|
|
|
-if [[ $yealink == "y" ]]; then
|
|
|
- apt-get -y --force-yes install fusionpbx-app-devices fusionpbx-app-provision fusionpbx-provisioning-template-yealink && mkdir -p /etc/fusionpbx/resources/templates/provision && cp -rp /usr/share/examples/fusionpbx/resources/templates/provision/yealink /etc/fusionpbx/resources/templates/provision/
|
|
|
-fi
|
|
|
-
|
|
|
-if [[ $verto == "y" ]]; then
|
|
|
- apt-get -y --force-yes install freeswitch-mod-verto
|
|
|
-fi
|
|
|
-
|
|
|
-if [[ $accessible_theme == "y" ]]; then
|
|
|
- apt-get -y --force-yes install fusionpbx-theme-accessible
|
|
|
-fi
|
|
|
-
|
|
|
-if [[ $classic_theme == "y" ]]; then
|
|
|
- apt-get -y --force-yes install fusionpbx-theme-classic
|
|
|
-fi
|
|
|
-
|
|
|
-if [[ $default_theme == "y" ]]; then
|
|
|
- apt-get -y --force-yes install fusionpbx-theme-default
|
|
|
-fi
|
|
|
-
|
|
|
-if [[ $minimized_theme == "y" ]]; then
|
|
|
- apt-get -y --force-yes install fusionpbx-theme-minimized
|
|
|
-fi
|
|
|
-
|
|
|
-if [[ $all == "y" ]]; then
|
|
|
- apt-get -y --force-yes install fusionpbx-app-adminer fusionpbx-app-backup fusionpbx-app-call-broadcast \
|
|
|
- fusionpbx-app-call-center fusionpbx-app-call-center-active fusionpbx-app-call-flows fusionpbx-app-conference-centers \
|
|
|
- fusionpbx-app-conferences-active fusionpbx-app-meetings fusionpbx-app-conferences fusionpbx-app-content \
|
|
|
- fusionpbx-app-edit fusionpbx-app-exec fusionpbx-app-fifo fusionpbx-app-fifo-list ghostscript libreoffice-common \
|
|
|
- fusionpbx-app-fax fusionpbx-app-hot-desking fusionpbx-app-schemas fusionpbx-app-services fusionpbx-app-sipml5 \
|
|
|
- fusionpbx-app-sql-query fusionpbx-app-traffic-graph 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-provisioning-template-polycom fusionpbx-provisioning-template-snom fusionpbx-provisioning-template-yealink \
|
|
|
- fusionpbx-theme-accessible fusionpbx-theme-classic fusionpbx-theme-default fusionpbx-theme-minimized \
|
|
|
- && mkdir -p /etc/fusionpbx/resources/templates/provision && cp -rp /usr/share/examples/fusionpbx/resources/templates/provision/* /etc/fusionpbx/resources/templates/provision/
|
|
|
-
|
|
|
- if [[ -f /root/.fs_src ]] ; then
|
|
|
- echo " Requires freeswitch mod_callcenter mod_conference mod_fifo mod_rtmp mod_dingaling "
|
|
|
- else
|
|
|
- apt-get -y --force-yes install freeswitch-mod-callcenter freeswitch-mod-conference freeswitch-mod-fifo freeswitch-mod-rtmp freeswitch-mod-dingaling
|
|
|
- fi
|
|
|
-fi
|
|
|
-########################################
|
|
|
-#----end of fusion pbx pkgs install----
|
|
|
-########################################
|
|
|
-
|
|
|
-###############################################################
|
|
|
-#restart of freeswitch/nginx/php for fusionpbx first time setup
|
|
|
-###############################################################
|
|
|
-for i in freeswitch nginx php5-fpm ;do service "${i}" restart >/dev/null 2>&1 ; done
|
|
|
-
|
|
|
-###################################
|
|
|
-#Install postgresql-client option
|
|
|
-###################################
|
|
|
-if [[ $postgresql_client == "y" ]]; then
|
|
|
-#####################################################
|
|
|
-# add in postgresql 9.4 repo for x86 x86-64 bit pkgs
|
|
|
-#####################################################
|
|
|
- case $(uname -m) in x86_64|i[4-6]86)
|
|
|
- lsb_release -c |grep -i wheezy > /dev/null
|
|
|
- if [ $? -eq 0 ]; then
|
|
|
- cat > "/etc/apt/sources.list.d/pgsql-pgdg.list" << DELIM
|
|
|
- deb http://apt.postgresql.org/pub/repos/apt/ wheezy-pgdg main
|
|
|
-DELIM
|
|
|
- else
|
|
|
- cat > "/etc/apt/sources.list.d/pgsql-pgdg.list" << DELIM
|
|
|
- deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main
|
|
|
-DELIM
|
|
|
- fi
|
|
|
- ####################
|
|
|
- #add pgsql repo key
|
|
|
- ####################
|
|
|
- wget --quiet -O - http://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | apt-key add -
|
|
|
-
|
|
|
- ###############################################
|
|
|
- #run repo update after adding in a new repo....
|
|
|
- ###############################################
|
|
|
- apt-get update
|
|
|
-
|
|
|
- ############################
|
|
|
- #Install and configure PGSQL
|
|
|
- ############################
|
|
|
- for i in postgresql-client-9.4 php5-pgsql ;do apt-get -y install "${i}"; done
|
|
|
- service php5-fpm restart
|
|
|
- esac
|
|
|
- clear
|
|
|
-
|
|
|
- ##########################################
|
|
|
- #Install and configure PGSQL 9.1 for armhf
|
|
|
- ##########################################
|
|
|
- case $(uname -m) in armv7l)
|
|
|
- echo "no arm deb pkgs for pgsql postgresql-client-9.3"
|
|
|
- echo "postgresql-client-9.1 is being installed"
|
|
|
- for i in postgresql-client-9.1 php5-pgsql ;do apt-get -y install "${i}"; done
|
|
|
- esac
|
|
|
-
|
|
|
- ##########################################################
|
|
|
- # Goto gui configure statement
|
|
|
- ##########################################################
|
|
|
- echo
|
|
|
- echo " The $wui_name install has finished... "
|
|
|
- echo
|
|
|
- echo " Now Waiting on you to finish the installation via web browser "
|
|
|
- echo
|
|
|
- printf ' Please open a web-browser to http://'; ip -f inet addr show dev eth0 | sed -n 's/^ *inet *\([.0-9]*\).*/\1/p'
|
|
|
- cat << DELIM
|
|
|
- Or the Doamin name assigned to the machine like http://"$(hostname)".yourdomin.com
|
|
|
- On the First configuration page of the web user interface.
|
|
|
- Please Select the PostgreSQL option in the pull-down menu as your Database
|
|
|
- Also Please fill in the SuperUser Name and Password fields.
|
|
|
- On the Second Configuration Page of the web user intercae please fill in the following fields:
|
|
|
- Server: Use the IP or Doamin name assigned to the remote postgresql database server machine
|
|
|
- Port: use the port for the remote postgresql server
|
|
|
- Database Name: "$db_name"
|
|
|
- Database Username: "$db_user_name"
|
|
|
- Database Password: "$db_user_passwd"
|
|
|
- Create Database Username: Database_Superuser_Name of the remote postgresql server
|
|
|
- Create Database Password: Database_Superuser_password of the remote postgresql server
|
|
|
-DELIM
|
|
|
-fi
|
|
|
-
|
|
|
-#################################################
|
|
|
-#-----install & configure basic postgresql-server
|
|
|
-#################################################
|
|
|
-if [[ $postgresql_server == "y" ]]; then
|
|
|
-#####################################################
|
|
|
-# add in postgresql 9.4 repo for x86 x86-64 bit pkgs
|
|
|
-#####################################################
|
|
|
- case $(uname -m) in x86_64|i[4-6]86)
|
|
|
- lsb_release -c |grep -i wheezy > /dev/null
|
|
|
- if [ $? -eq 0 ]; then
|
|
|
- cat > "/etc/apt/sources.list.d/pgsql-pgdg.list" << DELIM
|
|
|
- deb http://apt.postgresql.org/pub/repos/apt/ wheezy-pgdg main
|
|
|
-DELIM
|
|
|
- else
|
|
|
- cat > "/etc/apt/sources.list.d/pgsql-pgdg.list" << DELIM
|
|
|
- deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main
|
|
|
-DELIM
|
|
|
- fi
|
|
|
-
|
|
|
- ####################
|
|
|
- #add pgsql repo key
|
|
|
- ####################
|
|
|
- wget --quiet -O - http://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | apt-key add -
|
|
|
-
|
|
|
- ###############################################
|
|
|
- #run repo update after adding in a new repo....
|
|
|
- ################################################
|
|
|
- apt-get update
|
|
|
-
|
|
|
- #################################
|
|
|
- #Install and configure PGSQL 9.4
|
|
|
- #################################
|
|
|
- for i in postgresql-9.4 php5-pgsql ;do apt-get -y install "${i}"; done
|
|
|
- service php5-fpm restart
|
|
|
- esac
|
|
|
-
|
|
|
- ##########################################
|
|
|
- #Install and configure PGSQL 9.1 for armhf
|
|
|
- ##########################################
|
|
|
- case $(uname -m) in armv7l)
|
|
|
- echo "no arm deb pkgs for pgsql postgresql-client-9.4"
|
|
|
- echo "postgresql-client-9.1 is being installed"
|
|
|
- for i in postgresql-client-9.1 php5-pgsql ;do apt-get -y install "${i}"; done
|
|
|
- esac
|
|
|
-
|
|
|
- #########################################################
|
|
|
- #Adding a SuperUser and Password for Postgresql database.
|
|
|
- #########################################################
|
|
|
- su -l postgres -c "psql -c \"create role $pgsql_admin with superuser login password '$pgsql_admin_passwd'\""
|
|
|
- clear
|
|
|
-
|
|
|
- ##########################################################
|
|
|
- # Goto gui configure statement
|
|
|
- ##########################################################
|
|
|
- echo
|
|
|
- echo " The $wui_name install has finished... "
|
|
|
- echo
|
|
|
- echo " Now Waiting on you to finish the installation via web browser "
|
|
|
- echo
|
|
|
- printf 'Please open a web browser to http://'; ip -f inet addr show dev eth0 | sed -n 's/^ *inet *\([.0-9]*\).*/\1/p'
|
|
|
- cat << DELIM
|
|
|
- Or the Doamin name asigned to the machine like http://"$(hostname)".yourdomin.com.
|
|
|
- On the First configuration page of the web user interface
|
|
|
- Please Select the PostgreSQL option in the pull-down menu as your Database
|
|
|
- Also Please fill in the SuperUser Name and Password fields.
|
|
|
- On the Second Configuration Page of the web user interface please fill in the following fields:
|
|
|
- Database Name: "$db_name"
|
|
|
- Database Username: "$db_user_name"
|
|
|
- Database Password: "$db_user_passwd"
|
|
|
- Create Database Username: "$pgsql_admin"
|
|
|
- Create Database Password: "$pgsql_admin_passwd"
|
|
|
-DELIM
|
|
|
-else
|
|
|
- clear
|
|
|
- echo
|
|
|
- echo " The $wui_name install has finished... "
|
|
|
- echo
|
|
|
- echo " Now Waiting on you to finish the installation via web browser "
|
|
|
- echo
|
|
|
- printf ' Please open a web-browser to http://'; ip -f inet addr show dev eth0 | sed -n 's/^ *inet *\([.0-9]*\).*/\1/p'
|
|
|
- cat << DELIM
|
|
|
- or the Domain name asigned to the machine like http://"$(hostname)".yourdomin.com.
|
|
|
- On the First Configuration page of the web user interface "$wui_name".
|
|
|
- Also Please fill in the SuperUser Name and Password fields.
|
|
|
- Freeswitch & FusionPBX Web User Interface Installation Completed
|
|
|
- Now you can configure FreeSWITCH using the FusionPBX web user interface
|
|
|
-DELIM
|
|
|
-fi
|
|
|
-
|
|
|
-echo -ne " The Install will clean up the last bit of permissions when "
|
|
|
-echo
|
|
|
-echo " you finish entering the required information and return here. "
|
|
|
-echo
|
|
|
-echo " Waiting on /etc/$wui_name/config.php "
|
|
|
-while [ ! -e /etc/$wui_name/config.php ]
|
|
|
-do
|
|
|
- echo -ne '.'
|
|
|
- sleep 1
|
|
|
-done
|
|
|
-echo
|
|
|
-echo " /etc/$wui_name/config.php Found!"
|
|
|
-echo
|
|
|
-echo " Waiting 60 more seconds to be sure the database is fully populated..... "
|
|
|
-SLEEPTIME=0
|
|
|
-while [ "$SLEEPTIME" -lt 60 ]
|
|
|
-do
|
|
|
- echo -ne '.'
|
|
|
- sleep 1
|
|
|
- let "SLEEPTIME = $SLEEPTIME + 1"
|
|
|
-done
|
|
|
-
|
|
|
-##################################################
|
|
|
-#configuring freeswitch to start with new layout.
|
|
|
-##################################################
|
|
|
-#Freeswitch layout for FHS with fusionpbx
|
|
|
-##################################################
|
|
|
-cat > '/etc/default/freeswitch' << DELIM
|
|
|
-CONFDIR="/etc/fusionpbx/switch/conf"
|
|
|
-#
|
|
|
-# Uncooment extra lines and make sure to add cut and paste them to the DAEMON_ARGS
|
|
|
-# Options to control locations of files:
|
|
|
-#fs_base="" # -base $fs_base
|
|
|
-fs_conf="/etc/fusionpbx/switch/conf" # -conf $fs_conf
|
|
|
-#fs_cache="" # -cache $fs_cache
|
|
|
-#fs_certs="" # -certs $fs_certs
|
|
|
-fs_db="/var/lib/freeswitch/db" # -db $fs_db
|
|
|
-#fs_grammar="" # -grammar $fs_grammar
|
|
|
-#fs_htdocs="" # -htdocs $fs_htdocs
|
|
|
-fs_log="/var/log/freeswitch" # -log $fs_log
|
|
|
-#fs_mod="" # -mod $fs_mod
|
|
|
-fs_recordings="/var/lib/fusionpbx/recordings" # -recordings $fs_recordings
|
|
|
-fs_run="/var/run/freeswitch" # -run $fs_run
|
|
|
-fs_scripts="/var/lib/fusionpbx/scripts" # -scripts $fs_scripts
|
|
|
-#fs_sounds="" # -sounds $fs_sounds
|
|
|
-fs_storage="/var/lib/fusionpbx/storage" # -storage $fs_storage
|
|
|
-#fs_temp="" # -temp $fs_temp
|
|
|
-fs_usr=freeswitch # -u $fs_usr
|
|
|
-fs_grp=\$fs_usr # -g $fs_grp
|
|
|
-#
|
|
|
-#These are the optional arguments you can pass to freeswitch: (add options to fs_options line)
|
|
|
-# -nf -- no forking
|
|
|
-# -reincarnate -- restart the switch on an uncontrolled exit
|
|
|
-# -reincarnate-reexec -- run execv on a restart (helpful for upgrades)
|
|
|
-# -u [user] -- specify user to switch to
|
|
|
-# -g [group] -- specify group to switch to
|
|
|
-# -core -- dump cores
|
|
|
-# -rp -- enable high(realtime) priority settings
|
|
|
-# -lp -- enable low priority settings
|
|
|
-# -np -- enable normal priority settings
|
|
|
-# -vg -- run under valgrind
|
|
|
-# -nosql -- disable internal sql scoreboard
|
|
|
-# -heavy-timer -- Heavy Timer, possibly more accurate but at a cost
|
|
|
-# -nonat -- disable auto nat detection
|
|
|
-# -nonatmap -- disable auto nat port mapping
|
|
|
-# -nocal -- disable clock calibration
|
|
|
-# -nort -- disable clock clock_realtime
|
|
|
-# -stop -- stop freeswitch
|
|
|
-# -nc -- do not output to a console and background
|
|
|
-# -ncwait -- do not output to a console and background but wait until the system is ready before exiting (implies -nc)
|
|
|
-# -c -- output to a console and stay in the foreground
|
|
|
-fs_options="-nc -rp -reincarnate"
|
|
|
-#
|
|
|
-# Reads in the arguments into 1 line command
|
|
|
-DAEMON_ARGS="-u \$fs_usr -g \$fs_grp -conf \$fs_conf -db \$fs_db -log \$fs_log -scripts \$fs_scripts -run \$fs_run -storage \$fs_storage -recordings \$fs_recordings \$fs_options"
|
|
|
-DELIM
|
|
|
-
|
|
|
-#################################################################
|
|
|
-#restartng services with thefusionpbx freeswitch fhs dir layoout
|
|
|
-#################################################################
|
|
|
-echo " Restarting freeswitch for changes to take effect...."
|
|
|
-service freeswitch restart
|
|
|
-
|
|
|
-##################################
|
|
|
-#fixing permissions for sqlite db
|
|
|
-##################################
|
|
|
-find "/var/lib/fusionpbx/db" -type d -exec chmod 777 {} +
|
|
|
-find "/var/lib/fusionpbx/db" -type f -exec chmod 666 {} +
|
|
|
-
|
|
|
-########################################################
|
|
|
-# Setting up Music on Hold based on fusion FHS
|
|
|
-########################################################
|
|
|
-mkdir /usr/share/freeswitch/sounds/music
|
|
|
-#Linking moh dir so freeswitch can read in the moh files
|
|
|
-ln -s /var/lib/fusionpbx/sounds/music /usr/share/freeswitch/sounds/music/fusionpbx
|
|
|
-#Linking custom dir so freeswitch can read in the custom sounds files
|
|
|
-ln -s /var/lib/fusionpbx/sounds/custom /usr/share/freeswitch/sounds/
|
|
|
-# setting permissions on the dir
|
|
|
-chown -R www-data:www-data /var/lib/fusionpbx/sounds
|
|
|
-
|
|
|
-#########################################################
|
|
|
-#-----Installing Fail2Ban/monit Protection services------
|
|
|
-##########################################################
|
|
|
-# SEE http://wiki.freeswitch.org/wiki/Fail2ban
|
|
|
-##########################################################
|
|
|
-#Fail2ban
|
|
|
-##########
|
|
|
-for i in fail2ban monit ;do apt-get -y install "${i}" ; done
|
|
|
-
|
|
|
-#################################################################################################
|
|
|
-#Taken From http://wiki.fusionpbx.com/index.php?title=Monit and edited to work with debian pkgs.
|
|
|
-#################################################################################################
|
|
|
-#Adding Monit to keep freeswitch running.
|
|
|
-##########################################
|
|
|
-cat > "/etc/monit/conf.d/freeswitch" <<DELIM
|
|
|
-set daemon 60
|
|
|
-set logfile syslog facility log_daemon
|
|
|
-
|
|
|
-check process freeswitch with pidfile /var/run/freeswitch/freeswitch.pid
|
|
|
-restart program = "/etc/init.d/freeswitch restart"
|
|
|
-start program = "/etc/init.d/freeswitch start"
|
|
|
-stop program = "/etc/init.d/freeswitch stop"
|
|
|
-
|
|
|
-DELIM
|
|
|
-
|
|
|
-#############################################
|
|
|
-#Setting up Fail2ban freeswitch config files.
|
|
|
-#############################################
|
|
|
-cat > "/etc/fail2ban/filter.d/freeswitch.conf" <<DELIM
|
|
|
-##############################
|
|
|
-# Fail2Ban configuration file
|
|
|
-##############################
|
|
|
-
|
|
|
-[Definition]
|
|
|
-
|
|
|
-failregex = \[WARNING\] sofia_reg.c:\d+ SIP auth failure \(REGISTER\) on sofia profile \'\w+\' for \[.*\] from ip <HOST>
|
|
|
- \[WARNING\] sofia_reg.c:\d+ SIP auth failure \(INVITE\) on sofia profile \'\w+\' for \[.*\] from ip <HOST>
|
|
|
-
|
|
|
-ignoreregex =
|
|
|
-DELIM
|
|
|
-
|
|
|
-cat > /etc/fail2ban/filter.d/freeswitch-dos.conf <<DELIM
|
|
|
-
|
|
|
-# Fail2Ban DOS configuration file
|
|
|
-
|
|
|
-[Definition]
|
|
|
-
|
|
|
-failregex = \[WARNING\] sofia_reg.c:\d+ SIP auth challenge \(REGISTER\) on sofia profile \'\w+\' for \[.*\] from ip <HOST>
|
|
|
-
|
|
|
-ignoreregex =
|
|
|
-DELIM
|
|
|
-
|
|
|
-cat >> "/etc/fail2ban/jail.local" <<DELIM
|
|
|
-[freeswitch-tcp]
|
|
|
-enabled = true
|
|
|
-port = 5060,5061,5080,5081
|
|
|
-protocol = tcp
|
|
|
-filter = freeswitch
|
|
|
-logpath = /var/log/freeswitch/freeswitch.log
|
|
|
-action = iptables-allports[name=freeswitch-tcp, protocol=all]
|
|
|
-maxretry = 5
|
|
|
-findtime = 600
|
|
|
-bantime = 600
|
|
|
-
|
|
|
-[freeswitch-udp]
|
|
|
-enabled = true
|
|
|
-port = 5060,5061,5080,5081
|
|
|
-protocol = udp
|
|
|
-filter = freeswitch
|
|
|
-logpath = /var/log/freeswitch/freeswitch.log
|
|
|
-action = iptables-allports[name=freeswitch-udp, protocol=all]
|
|
|
-maxretry = 5
|
|
|
-findtime = 600
|
|
|
-bantime = 600
|
|
|
-
|
|
|
-[freeswitch-dos]
|
|
|
-enabled = true
|
|
|
-port = 5060,5061,5080,5081
|
|
|
-protocol = udp
|
|
|
-filter = freeswitch-dos
|
|
|
-logpath = /var/log/freeswitch/freeswitch.log
|
|
|
-action = iptables-allports[name=freeswitch-dos, protocol=all]
|
|
|
-maxretry = 50
|
|
|
-findtime = 30
|
|
|
-bantime = 6000
|
|
|
-DELIM
|
|
|
-###############################################################
|
|
|
-#Pulled From http://wiki.fusionpbx.com/index.php?title=Fail2Ban
|
|
|
-###############################################################
|
|
|
-# Adding fusionpbx to fail2ban
|
|
|
-###############################
|
|
|
-cat > "/etc/fail2ban/filter.d/fusionpbx.conf" <<DELIM
|
|
|
-##############################
|
|
|
-# Fail2Ban configuration file
|
|
|
-##############################
|
|
|
-
|
|
|
-[Definition]
|
|
|
-failregex = .* fusionpbx: \[<HOST>\] authentication failed for
|
|
|
- = .* fusionpbx: \[<HOST>\] provision attempt bad password for
|
|
|
-
|
|
|
-ignoreregex =
|
|
|
-DELIM
|
|
|
-
|
|
|
-cat >> /etc/fail2ban/jail.local <<DELIM
|
|
|
-
|
|
|
-[fusionpbx]
|
|
|
-enabled = true
|
|
|
-port = 80,443
|
|
|
-protocol = tcp
|
|
|
-filter = fusionpbx
|
|
|
-logpath = /var/log/auth.log
|
|
|
-action = iptables-allports[name=fusionpbx, protocol=all]
|
|
|
-
|
|
|
-maxretry = 5
|
|
|
-findtime = 600
|
|
|
-bantime = 600
|
|
|
-DELIM
|
|
|
-
|
|
|
-cat > "/etc/fail2ban/filter.d/fusionpbx-inbound.conf" <<DELIM
|
|
|
-##############################
|
|
|
-# Fail2Ban configuration file
|
|
|
-###############################
|
|
|
-# inbound route - 404 not found
|
|
|
-###############################
|
|
|
-
|
|
|
-[Definition]
|
|
|
-
|
|
|
-# Option: failregex
|
|
|
-# Notes.: regex to match the password failures messages in the logfile. The
|
|
|
-# host must be matched by a group named "host". The tag "<HOST>" can
|
|
|
-# be used for standard IP/hostname matching and is only an alias for
|
|
|
-# (?:::f{4,6}:)?(?P<host>[\w\-.^_]+)
|
|
|
-# Values: TEXT
|
|
|
-#
|
|
|
-#failregex = [hostname] FusionPBX: \[<HOST>\] authentication failed
|
|
|
-#[hostname] variable doesn't seem to work in every case. Do this instead:
|
|
|
-failregex = 404 not found <HOST>
|
|
|
-
|
|
|
-# Option: ignoreregex
|
|
|
-# Notes.: regex to ignore. If this regex matches, the line is ignored.
|
|
|
-# Values: TEXT
|
|
|
-#
|
|
|
-ignoreregex =
|
|
|
-
|
|
|
-DELIM
|
|
|
-
|
|
|
-cat >> /etc/fail2ban/jail.local <<DELIM
|
|
|
-
|
|
|
-[fusionpbx-inbound]
|
|
|
-enabled = true
|
|
|
-port = 5080
|
|
|
-protocol = udp
|
|
|
-filter = fusionpbx-inbound
|
|
|
-logpath = /var/log/freeswitch/freeswitch.log
|
|
|
-action = iptables-allports[name=fusionpbx-inbound, protocol=all]
|
|
|
-#sendmail-whois[name=fusionpbx-inbound, dest=root, [email protected]] #no smtp server installed
|
|
|
-maxretry = 5
|
|
|
-findtime = 300
|
|
|
-bantime = 3600
|
|
|
-DELIM
|
|
|
-
|
|
|
-####################
|
|
|
-#restarting fail2ban
|
|
|
-####################
|
|
|
-service fail2ban restart
|
|
|
-
|
|
|
-#########################################################
|
|
|
-#Turning off Repeated Msg Reduction in /etc/rsyslog.conf"
|
|
|
-#########################################################
|
|
|
-sed -i 's/RepeatedMsgReduction\ on/RepeatedMsgReduction\ off/' /etc/rsyslog.conf
|
|
|
-
|
|
|
-############################
|
|
|
-# Restarting rsyslog service
|
|
|
-############################
|
|
|
-service rsyslog restart
|
|
|
-
|
|
|
-sed -i /usr/bin/fail2ban-client -e s,^\.setInputCmd\(c\),'time.sleep\(0\.1\)\n\t\t\tbeautifier.setInputCmd\(c\)',
|
|
|
-
|
|
|
-##############################
|
|
|
-#Restarting Nginx and PHP FPM
|
|
|
-##############################
|
|
|
-for i in freeswitch fail2ban
|
|
|
-do service "${i}" restart > /dev/null 2>&1
|
|
|
-done
|
|
|
-
|
|
|
-############################################################
|
|
|
-# see http://wiki.fusionpbx.com/index.php?title=RotateFSLogs
|
|
|
-############################################################
|
|
|
-cat > "/etc/cron.daily/freeswitch_log_rotation" <<DELIM
|
|
|
-#!/usr/bin/bash
|
|
|
-
|
|
|
-#number of days of logs to keep
|
|
|
-NUMBERDAYS="$keep_logs"
|
|
|
-FSPATH="/var/log/freeswitch"
|
|
|
-
|
|
|
-freeswitch_cli -x "fsctl send_sighup" |grep '+OK' >/tmp/rotateFSlogs
|
|
|
-
|
|
|
-if [ $? -eq 0 ]; then
|
|
|
- #-cmin 2 could bite us (leave some files uncompressed, eg 11M auto-rotate). Maybe -1440 is better?
|
|
|
- find "$FSPATH" -name "freeswitch.log.*" -cmin -2 -exec gzip {} \;
|
|
|
- find "$FSPATH" -name "freeswitch.log.*.gz" "-mtime" "+$NUMBERDAYS" -exec rm {} \;
|
|
|
- chown freeswitch:freeswitch "$FSPATH"/freeswitch.log
|
|
|
- chmod 664 "$FSPATH"/freeswitch.log
|
|
|
- logger FreeSWITCH Logs rotated
|
|
|
- rm /tmp/<<DELIM
|
|
|
-else
|
|
|
- logger FreeSWITCH Log Rotation Script FAILED
|
|
|
- mail -s '$HOST FS Log Rotate Error' root < /tmp/<<DELIM
|
|
|
- rm /tmp/<<DELIM
|
|
|
-fi
|
|
|
-
|
|
|
-DELIM
|
|
|
-
|
|
|
-chmod 664 /etc/cron.daily/freeswitch_log_rotation
|
|
|
-
|
|
|
-###########################################################
|
|
|
-# restarting services after fail2ban/monit services install
|
|
|
-###########################################################
|
|
|
-for i in php5-fpm niginx monit fail2ban freeswitch ;do service "${i}" restart >/dev/null 2>&1 ; done
|
|
|
-
|
|
|
-#########################
|
|
|
-#end of fusionpbx install
|
|
|
-#########################
|
|
|
-
|
|
|
-########################################################
|
|
|
-#---Setup scanner blocking service in iptables----------
|
|
|
-########################################################
|
|
|
-echo "blocking scanners via iptables"
|
|
|
-iptables -I INPUT -j DROP -p udp --dport 5060 -m string --string "friendly-scanner" --algo bm
|
|
|
-iptables -I INPUT -j DROP -p udp --dport 5061 -m string --string "friendly-scanner" --algo bm
|
|
|
-iptables -I INPUT -j DROP -p udp --dport 5062 -m string --string "friendly-scanner" --algo bm
|
|
|
-iptables -I INPUT -j DROP -p udp --dport 5063 -m string --string "friendly-scanner" --algo bm
|
|
|
-iptables -I INPUT -j DROP -p udp --dport 5064 -m string --string "friendly-scanner" --algo bm
|
|
|
-iptables -I INPUT -j DROP -p udp --dport 5065 -m string --string "friendly-scanner" --algo bm
|
|
|
-iptables -I INPUT -j DROP -p udp --dport 5066 -m string --string "friendly-scanner" --algo bm
|
|
|
-iptables -I INPUT -j DROP -p udp --dport 5067 -m string --string "friendly-scanner" --algo bm
|
|
|
-iptables -I INPUT -j DROP -p udp --dport 5068 -m string --string "friendly-scanner" --algo bm
|
|
|
-iptables -I INPUT -j DROP -p udp --dport 5069 -m string --string "friendly-scanner" --algo bm
|
|
|
-iptables -I INPUT -j DROP -p udp --dport 5080 -m string --string "friendly-scanner" --algo bm
|
|
|
-
|
|
|
-##################################
|
|
|
-# Option to disable xml_cdr files
|
|
|
-# Logs cdr only to database.
|
|
|
-##################################
|
|
|
-if [[ $xml_cdr_files == "y" ]]; then
|
|
|
- sed -i "$WWW_PATH"/"$wui_name"/app/vars/app_defaults.php -e 's#{"var_name":"xml_cdr_archive","var_value":"dir","var_cat":"Defaults","var_enabled":"true","var_description":""}#{"var_name":"xml_cdr_archive","var_value":"none","var_cat":"Defaults","var_enabled":"true","var_description":""}#'
|
|
|
-fi
|
|
|
-
|
|
|
-##########################################
|
|
|
-# option to disable some loging execpt for
|
|
|
-# warnings and errors
|
|
|
-###########################################
|
|
|
-if [[ $logging_level == "y" ]]; then
|
|
|
- sed -i /usr/share/examples/fusionpbx/resources/templates/conf/autoload_configs/logfile.conf.xml -e 's#<map name="all" value="debug,info,notice,warning,err,crit,alert"/>#<map name="all" value="warning,err,crit,alert"/>#'
|
|
|
-fi
|
|
|
-
|
|
|
-##############################
|
|
|
-#Set a reboot if Kernel Panic
|
|
|
-##############################
|
|
|
-cat > /etc/sysctl.conf << DELIM
|
|
|
-kernel.panic = 10
|
|
|
-DELIM
|
|
|
-
|
|
|
-####################################
|
|
|
-# Set fs to run in a tempfs ramdrive
|
|
|
-####################################
|
|
|
-cat >> /etc/fstab << DELIM
|
|
|
-tmpfs /tmp tmpfs defaults 0 0
|
|
|
-tmpfs /var/lib/freeswitch/db tmpfs defaults 0 0
|
|
|
-tmpfs /var/tmp tmpfs defaults 0 0
|
|
|
-DELIM
|
|
|
-
|
|
|
-######################################
|
|
|
-# Add in Odroid Preconfigure settings
|
|
|
-######################################
|
|
|
-if [[ $odroid_boards == "y" ]]; then
|
|
|
-cat > /etc/network/if-pre-up.d/pre-network-setup << DELIM
|
|
|
-#!/bin/bash
|
|
|
-if [ ! -f /boot/.mac ]; then
|
|
|
- if [ -f /etc/smsc95xx_mac_addr ]; then
|
|
|
- rm /etc/smsc95xx_mac_addr
|
|
|
- fi
|
|
|
- # unloading nic driver
|
|
|
- rmmod smsc95xx
|
|
|
- #running modprobe on nic
|
|
|
- modprobe smsc95xx
|
|
|
- #placing holder file
|
|
|
- touch /boot/.mac
|
|
|
- #rebooting to load new mac
|
|
|
- reboot
|
|
|
-fi
|
|
|
-
|
|
|
-if [ ! -f /boot/.net ]; then
|
|
|
- if [ -f "/boot/configs/ip.txt" ]; then
|
|
|
- cp /boot/setup/ip.txt /etc/network/interfaces
|
|
|
- fi
|
|
|
-
|
|
|
- if [ -f "/boot/configs/resolv.txt" ]; then
|
|
|
- cp /boot/setup/resolv.txt /etc/resolv.conf
|
|
|
- fi
|
|
|
-
|
|
|
- if [ -f "/boot/configs/hostname.txt" ]; then
|
|
|
- cp /boot/setup/hostname.txt /etc/hostname
|
|
|
- fi
|
|
|
-
|
|
|
- if [ -f "/boot/configs/hosts.txt" ]; then
|
|
|
- cp /boot/setup/hosts.txt /etc/hosts
|
|
|
- fi
|
|
|
- touch /boot/.net
|
|
|
- reboot
|
|
|
-fi
|
|
|
-DELIM
|
|
|
-
|
|
|
-cat >> /boot/setup/ip.txt.dflt<< DELIM
|
|
|
-# interfaces(5) file used by ifup(8) and ifdown(8)
|
|
|
-#Local loop back interface
|
|
|
-auto lo
|
|
|
-iface lo inet loopback
|
|
|
-
|
|
|
-#Static mac configuration
|
|
|
-allow-hotplug eth0
|
|
|
-iface eth0 inet static
|
|
|
-address 10.0.0.2
|
|
|
-netmask 255.0.0.0
|
|
|
-gateway 10.0.0.1
|
|
|
-DELIM
|
|
|
-
|
|
|
-cat >> /boot/setup/hostname.txt.dflt << DELIM
|
|
|
-Odroid
|
|
|
-DELIM
|
|
|
-
|
|
|
-cat > /boot/setup/hosts.txt.dflt << DELIM
|
|
|
-127.0.0.1 localhost
|
|
|
-::1 localhost ip6-localhost ip6-loopback
|
|
|
-fe00::0 ip6-localnet
|
|
|
-ff00::0 ip6-mcastprefix
|
|
|
-ff02::1 ip6-allnodes
|
|
|
-ff02::2 ip6-allrouters
|
|
|
-127.0.0.1 Odroid
|
|
|
-DELIM
|
|
|
-
|
|
|
-cat >> //boot/setup/hostname.txt.dflt << DELIM
|
|
|
-Odroid
|
|
|
-DELIM
|
|
|
-fi
|
|
|
-
|
|
|
-###########################################################
|
|
|
-#Ajenti admin portal. Makes maintaining the system easier.
|
|
|
-###########################################################
|
|
|
-#ADD Ajenti repo & ajenti
|
|
|
-##########################
|
|
|
-if [[ $install_ajenti == "y" ]]; then
|
|
|
- echo "Installing Ajenti Admin Portal"
|
|
|
- cat > "/etc/apt/sources.list.d/ajenti.list" <<DELIM
|
|
|
- deb http://repo.ajenti.org/debian main main debian
|
|
|
-DELIM
|
|
|
-
|
|
|
-######################
|
|
|
-# add ajenti repo key
|
|
|
-######################
|
|
|
-wget http://repo.ajenti.org/debian/key -O- | apt-key add -
|
|
|
-
|
|
|
-#######################
|
|
|
-# install ajenti
|
|
|
-#######################
|
|
|
-apt-get update &> /dev/null && apt-get -y install ajenti
|
|
|
-fi
|
|
|
-
|
|
|
-echo " ########################################################################################## "
|
|
|
-echo " # The Freeswitch / Fusionpbx Install is now complete and your system is ready for use... # "
|
|
|
-echo " ########################################################################################## "
|
|
|
-echo " # Please send any feed back to [email protected] # "
|
|
|
-echo " ########################################################################################## "
|
|
|
-
|