Difference between revisions of "New appliance install"

From FusionPBX
Jump to: navigation, search
(Install Script)
(Install Script)
Line 54: Line 54:
 
wget http://fusionpbx.googlecode.com/svn/branches/dev/scripts/install/Debian/Fusionpbx-Debian-Embedded-Appliance-Install.sh
 
wget http://fusionpbx.googlecode.com/svn/branches/dev/scripts/install/Debian/Fusionpbx-Debian-Embedded-Appliance-Install.sh
 
   
 
   
 +
=Steps for install=
  
 +
Step 1 : Install a minimal version of debian. (Including ssh server)
  
 +
step 2 : ssh into the system.. then wget http://fusionpbx.googlecode.com/svn/branches/dev/scripts/install/Debian/Fusionpbx-Debian-Package-Install.sh
  
#<------Start Edit HERE--------->
+
step 3 : chmod +x Fusionpbx-Debian-Package-Install.sh
  
#Use for configuring a odroid
+
step 4 : nano / vi the Fusionpbx-Debian-Package-Install.sh script and select the extra options you want
odroid_boards="n"
+
 +
'''In this script section change the ( n to y ) to enable or ( y to n ) to disable the option.'''
  
#Required
+
#<------Start Edit HERE--------->
#Stable/release=1.4/master=1.5 aka git head
+
#Set how long to keep freeswitch/fusionpbx log files 1 to 30 days (Default:5)
# Default is stable (currently there is only one working repo for freeswitch)
+
keep_logs=5
freeswitch_repo="stable"
+
 +
#Set what language lang/say pkgs and language sound files to use.
 +
#en-us=English/US (default) fr-ca=French/Canadian pt-br=Portuguese/Brazill ru-ru=Russian/Russia sv-se=Swedish/Sweden zh-cn=chinese/Mandarin zh-hk=chinese/HongKong
 +
use_lang="en-us"
 +
 +
#Install / Use freeswitch default music on hold
 +
use_default_music="n"
 +
 +
#Set a Nginx of Apache y=Nginx n=Apache (Under Development)
 +
#use_nginx="y"
 +
 +
#----Optional Fusionpbx Apps/Modules----
 +
 +
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
 +
all="n" #: Install all extra modules for fusionpbx and related freeswitch deps
 +
 +
#------Postgresql start-------
 +
 +
#Optional (Not Required)
 +
# Please Select Server or Client not both.
 +
# Used for connecting to remote postgresql database servers
 +
# Install postgresql Client 9.3 for connection to remote postgresql servers (y/n)
 +
postgresql_client="n"
 +
 +
# Install postgresql server 9.3 (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=
 +
 +
# Set Postgresql Server Admin password
 +
pgsql_admin_passwd=
 +
 +
# 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=fusionpbx
 +
 +
# Set FusionPBX database admin password .(used by fusionpbx to access
 +
# the database table in the postgresql server).
 +
# Please set a very secure passwd
 +
db_user_passwd=
 +
 +
#-------Postgresql-End--------------
 +
 +
# disbale generation of xml_cdr files and only store in cdr in the database
 +
xml_cdr_files="n"
 +
 +
# disable  extra logging and on show warnings/errors. shrinks the size of
 +
# logfiles and whats displayed in the logging page
 +
logging_level="n"
 +
 +
#Extra Option's
 +
#Install openvpn scripts
 +
install_openvpn="n"
 +
 +
#Install Ajenti Optional Admin Portal
 +
install_ajenti="n"
 +
 +
#<------Stop Edit Here-------->
  
#Fusionpbx repo (release = 3.6.0 / devel = 3.5)
+
Step 5: save file
fusionpbx_repo="release"
 
  
#Set how long to keep freeswitch/fusionpbx log files 1 to 30 days (Default:5)
+
step 6 : ./ = period slash  ./Fusionpbx-Debian-Package-Install.sh
keep_logs=5
 
  
#------Postgresql-clent-start-------
+
About 10 min into the install it will ask you to goto the gui and do the configuration.. and then once you have done the gui configuration ...
#Optional (Not Required)
 
# Please Select Server or Client not both.
 
# Used for connecting to remote postgresql database servers
 
# Install postgresql Client 9.3 for connection to remote postgresql servers (y/n)
 
postgresql_client="n"
 
  
# Set Postgresql Server Admin username
+
Once you have finished the gui setup give it about 3 min to do the final setup/configuration and it will state your system is now ready for use.
# Lower case only
 
pgsql_admin= pgsql admin on remote server
 
  
# Set Postgresql Server Admin password
+
Happy PBX'ing......
pgsql_admin_passwd= pgsql admin password on remote server
 
 
 
# 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=fusionpbx
 
 
 
# Set FusionPBX database admin password .(used by fusionpbx to access
 
# the database table in the postgresql server).
 
# Please set a ver secure passwd
 
db_user_passwd=fusionpbx2014
 
 
 
#-------Postgresql-client-End--------------
 
 
 
#Extra Option's
 
#Install openvpn scripts
 
install_openvpn="n"
 
 
 
#--------Secure-Server-Root Lockdown-------------
 
# This will lock down the root user to using keys to login to ssh. meaning no
 
# root login to ssh with out a ssh key
 
secure_server="n"
 
 
 
# Please paste the public key you wish to add to the permited keys file
 
# for root access via ssh
 
ssh_key=
 
 
 
#Install Ajenti (Ajenti is a python based web interface for system control...)
 
install_ajenti == "n"
 
 
 
#<------Stop Edit HERE--------->
 
 
 
*Make the script executable
 
chmod +x Fusionpbx-Debian-Embedded-Appliance-Install.sh
 
 
 
Run the install script as root or sudo -s
 
# ./Fusionpbx-Debian-Embedded-Appliance-Install.sh
 
 
 
Lean back and enjoy!
 
  
 
= Before you start with FusionPBX =
 
= Before you start with FusionPBX =

Revision as of 22:13, 2 November 2014

Overview

This is a Embedded Device Install for Arm/x86/amd64 low power Boards

Cubieboard/Odroid/AMD-APU/ARM/Mips

Requirements:

You will need a 8 gig class10/u1 sd/microsd For best performance. (approx 1.4 GB for a minimal install)

SD Card reader if you do not have a sd reader in your system

  • This will use freeswitch and fusionpbx deb repos.
  • So it is a package install.
  • It will install nginx, Sqlite(Default)/Postgresql-client(Optional), monit, fail2ban.
  • If you have already some LAMP or similar install it can break it. (Please use Base Debian Only)
  • So we recommend it only on a fresh debian base netinstall!
  • The script is under the MIT License.
  • Mantainer and Copyright (c) <2013> r<dot>neese<at>gmail<dot>com

Well, lets get started!

Install Debian Wheezy with iso

Download and install a minimal Debian wheezy

Get iso's here:

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

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

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

All other packages will be added later.

Install Debian Wheezy with img file

With the correct Debian Img for your arm device Provided for your soc chipset as a base for your Appliance.

Win32diskimager: http://sourceforge.net/projects/win32diskimager/files/latest/download

Install Script

After installing Debian... Login as root and download the install script to root home directory.

You will edit and run the script only once.

wget http://fusionpbx.googlecode.com/svn/branches/dev/scripts/install/Debian/Fusionpbx-Debian-Embedded-Appliance-Install.sh

Steps for install

Step 1 : Install a minimal version of debian. (Including ssh server)

step 2 : ssh into the system.. then wget http://fusionpbx.googlecode.com/svn/branches/dev/scripts/install/Debian/Fusionpbx-Debian-Package-Install.sh

step 3 : chmod +x Fusionpbx-Debian-Package-Install.sh

step 4 : nano / vi the Fusionpbx-Debian-Package-Install.sh script and select the extra options you want

In this script section change the ( n to y ) to enable or ( y to n ) to disable the option.

#<------Start Edit HERE--------->
#Set how long to keep freeswitch/fusionpbx log files 1 to 30 days (Default:5)
keep_logs=5

#Set what language lang/say pkgs and language sound files to use.
#en-us=English/US (default) fr-ca=French/Canadian pt-br=Portuguese/Brazill ru-ru=Russian/Russia sv-se=Swedish/Sweden zh-cn=chinese/Mandarin zh-hk=chinese/HongKong 
use_lang="en-us"

#Install / Use freeswitch default music on hold
use_default_music="n" 

#Set a Nginx of Apache y=Nginx n=Apache (Under Development)
#use_nginx="y"

#----Optional Fusionpbx Apps/Modules----

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
all="n" #: Install all extra modules for fusionpbx and related freeswitch deps 

#------Postgresql start-------

#Optional (Not Required)
# Please Select Server or Client not both.
# Used for connecting to remote postgresql database servers
# Install postgresql Client 9.3 for connection to remote postgresql servers (y/n)
postgresql_client="n" 

# Install postgresql server 9.3 (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=

# Set Postgresql Server Admin password
pgsql_admin_passwd=

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

# Set FusionPBX database admin password .(used by fusionpbx to access
# the database table in the postgresql server).
# Please set a very secure passwd
db_user_passwd=

#-------Postgresql-End--------------

# disbale generation of xml_cdr files and only store in cdr in the database
xml_cdr_files="n"

# disable  extra logging and on show warnings/errors. shrinks the size of 
# logfiles and whats displayed in the logging page
logging_level="n"

#Extra Option's
#Install openvpn scripts
install_openvpn="n"

#Install Ajenti Optional Admin Portal
install_ajenti="n"

#<------Stop Edit Here-------->

Step 5: save file

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

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

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

Happy PBX'ing......

Before you start with FusionPBX

http://wiki.fusionpbx.com/index.php?title=Fail2Ban#Keep_yourself_from_getting_banned.

Notes

  • voyage is debian distro fo embedded x86/and64 platforms. http://linux.voyage.hk/
  • remeber the distro usually ro use remountrw or
adapt the init script

I will be writing a page on how to configure voyage linux asap.