New appliance install

= Overview =

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

Cubieboard/Odroid/AMD-APU/ARM/Mips

Current boards tested : Cubieboard2, Odroix x2/u2/u3/c1/xau/xau3/xaulite

Requirements:

You will need a 8 gig class10/u1 sd/microsd For best performance. (approx 1.3 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.


 * The script is under the MIT License.
 * Mantainer and Copyright (c) r neesegmail com

Well, lets get started!

=Install Debian Wheezy with iso or via os img=

Download and install a minimal Debian wheezy

For intell/amd embedded boards

Get iso's here:

Offline Install Iso:

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

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

Net Install iso:

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

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

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

All other packages will be added later.

=Install Debian Wheezy with os img file= If using a arm device like a cubie/odroid/bbblack/cornfed or wandboard, get the wheezy img from the board makers we site.

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

=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-Embedded-Appliance-Install.sh

step 3 : chmod +x http://fusionpbx.googlecode.com/svn/branches/dev/scripts/install/Debian/Fusionpbx-Debian-Embedded-Appliance-Install.sh

step 4 : nano / vi the http://fusionpbx.googlecode.com/svn/branches/dev/scripts/install/Debian/Fusionpbx-Debian-Embedded-Appliance-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.

keep_logs=5 use_lang="en-us" 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_client="n" pgsql_admin= pgsql_admin_passwd= db_name=fusionpbx db_user_name=fusionpbx db_user_passwd= xml_cdr_files="n" logging_level="n" install_openvpn="n" install_ajenti="n"
 * 1) <--Start Edit HERE->
 * 2) Set how long to keep freeswitch/fusionpbx log files 1 to 30 days (Default:5)
 * 1) Set what language lang/say pkgs and language sound files to use.
 * 2) 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
 * 1) Optional Fusionpbx Apps/Modules
 * 1) --Postgresql start---
 * 1) Optional (Not Required)
 * 2) Please Select Server or Client not both.
 * 3) Used for connecting to remote postgresql database servers
 * 4) Install postgresql Client 9.3 for connection to remote postgresql servers (y/n)
 * 1) Set Postgresql Server Admin username ( Lower case only )
 * 1) Set Postgresql Server Admin password
 * 1) Set Database Name used for fusionpbx in the postgresql server
 * 2) (Default: fusionpbx)
 * 1) Set FusionPBX database admin name.(used by fusionpbx to access
 * 2) the database table in the postgresql server.
 * 3) (Default: fusionpbx)
 * 1) Set FusionPBX database admin password .(used by fusionpbx to access
 * 2) the database table in the postgresql server).
 * 3) Please set a very secure passwd
 * 1) ---Postgresql-End--
 * 1) disbale generation of xml_cdr files and only store in cdr in the database
 * 1) disable  extra logging and on show warnings/errors. shrinks the size of
 * 2) logfiles and whats displayed in the logging page
 * 1) Extra Option's
 * 2) Install openvpn scripts
 * 1) Install Ajenti Optional Admin Portal
 * 1) <--Stop Edit Here>

Step 5: save file

step 6 : ./ = period slash ./Fusionpbx-Debian-Embedded-Appliance-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......

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

Adminer: apt-get -y --force-yes install fusionpbx-app-adminer

Backup: apt-get -y --force-yes install fusionpbx-app-backup

Call Broadcast: apt-get -y --force-yes install fusionpbx-app-call-broadcast

Call Center: apt-get -y --force-yes install freeswitch-mod-callcenter fusionpbx-app-call-center fusionpbx-app-call-center-active

Call Flows apt-get -y --force-yes install fusionpbx-app-call-flows

Conference Center: apt-get -y --force-yes install freeswitch-mod-conference fusionpbx-app-conference-centers fusionpbx-app-conferences-active fusionpbx-app-meetings

Conferences: (old Conferences Tool) apt-get -y --force-yes install freeswitch-mod-conference fusionpbx-app-conferences fusionpbx-app-conferences-active fusionpbx-app-meetings

Content Editor: apt-get -y --force-yes install fusionpbx-app-content

Editing Tools pages: apt-get -y --force-yes install fusionpbx-app-edit

Execution tools Page: apt-get -y --force-yes install fusionpbx-app-exec

Faxing application: apt-get -y --force-yes install ghostscript libreoffice-common fusionpbx-app-fax

Fifo: (First In First Out Queues) apt-get -y --force-yes install freeswitch-mod-fifo fusionpbx-app-fifo fusionpbx-app-fifo-list

Hot Desking: apt-get -y --force-yes install fusionpbx-app-hot-desking

Shemas: (Database Schemas tools) apt-get -y --force-yes install fusionpbx-app-schemas

Services: (Optional Services page) apt-get -y --force-yes install fusionpbx-app-services

RTPM: (Html5 Sip Soft Phone) apt-get -y --force-yes install fusionpbx-app-sipml5 freeswitch-mod-rtmp

SQL Query: apt-get -y --force-yes install fusionpbx-app-sql-query

Traffic Graph: apt-get -y --force-yes install fusionpbx-app-traffic-graph

Xmpp: Xmpp interface / Mod Dingaling Interface Page apt-get -y --force-yes install freeswitch-mod-dingaling fusionpbx-app-xmpp;

Aastra: (aastra phone teplates + provisioning pages/tools) apt-get -y --force-yes install fusionpbx-app-devices fusionpbx-app-provision fusionpbx-provisioning-template-aastra && \ cp -rp /usr/share/examples/fusionpbx/resources/templates/provision/aastra /etc/fusionpbx/resources/templates/provision/

Atcom: (atcom phone teplates + provisioning pages/tools) apt-get -y --force-yes install fusionpbx-app-devices fusionpbx-app-provision fusionpbx-provisioning-template-atcom && \ cp -rp /usr/share/examples/fusionpbx/resources/templates/provision/atcom /etc/fusionpbx/resources/templates/provision/

Cisco: (cisco phone teplates + provisioning pages/tools) apt-get -y --force-yes install fusionpbx-app-devices fusionpbx-app-provision fusionpbx-provisioning-template-cisco && \ cp -rp /usr/share/examples/fusionpbx/resources/templates/provision/cisco /etc/fusionpbx/resources/templates/provision/

Grandstream: (grandstream phone teplates + provisioning pages/tools) apt-get -y --force-yes install fusionpbx-app-devices fusionpbx-app-provision fusionpbx-provisioning-template-grandstream && \ cp -rp /usr/share/examples/fusionpbx/resources/templates/provision/grandstream /etc/fusionpbx/resources/templates/provision/

Linksys: (linksys phone teplates + provisioning pages/tools) apt-get -y --force-yes install fusionpbx-app-devices fusionpbx-app-provision fusionpbx-provisioning-template-linksys && \ cp -rp /usr/share/examples/fusionpbx/resources/templates/provision/linksys /etc/fusionpbx/resources/templates/provision/

Panasonic: (Panasonig phone teplates + provisioning pages/tools) apt-get -y --force-yes install fusionpbx-app-devices fusionpbx-app-provision fusionpbx-provisioning-template-panasonic &&\ cp -rp /usr/share/examples/fusionpbx/resources/templates/provision/panasonic /etc/fusionpbx/resources/templates/provision/

Polycom: (polycom phone teplates + provisioning pages/tools) apt-get -y --force-yes install fusionpbx-app-devices fusionpbx-app-provision fusionpbx-provisioning-template-polycom && \ cp -rp /usr/share/examples/fusionpbx/resources/templates/provision/polycom /etc/fusionpbx/resources/templates/provision/

Snom: (snom phone teplates + provisioning pages/tools) apt-get -y --force-yes install fusionpbx-app-devices fusionpbx-app-provision fusionpbx-provisioning-template-snom && \ cp -rp /usr/share/examples/fusionpbx/resources/templates/provision/snom /etc/fusionpbx/resources/templates/provision/

Yealink: (aastr phone teplates + provisioning pages/tools) apt-get -y --force-yes install fusionpbx-app-devices fusionpbx-app-provision fusionpbx-provisioning-template-yealink && \ cp -rp /usr/share/examples/fusionpbx/resources/templates/provision/yealink /etc/fusionpbx/resources/templates/provision/

Verto: (X86/AMD64) apt-get -y --force-yes install freeswitch-mod-verto

Accessible Gui Interface Theme: apt-get -y --force-yes install freeswitch-theme-accessible

Classic Gui Interface Theme: apt-get -y --force-yes install freeswitch-theme-classic

Default Gui Interface Theme: apt-get -y --force-yes install freeswitch-theme-default

Minimized Gui Interface Theme: apt-get -y --force-yes install freeswitch-theme-minimized

=After Installing Optional Modules/Apps=

Login to the Gui, Goto Advanced ==> upgrade ==> and check all the boxes and hit apply.

Logout of the gui and Re-Login and the new functions will appear and function properly...

= Before you start with FusionPBX = http://wiki.fusionpbx.com/index.php?title=Fail2Ban#Keep_yourself_from_getting_banned.

=Notes=

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

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