New appliance install

= Overview =

This is an easy install even for newbies. Stick to the steps and everything should go just fine. With Debian netinstall as a base you will create your FusionPBX appliance.


 * This will use freeswitch and fusionpbx deb repos.
 * So it is a package install.


 * It will install nginx, Sqlite(Default)/Postgresql(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) r neesegmail com

Well, lets get started!

=Install Debian Wheezy=

Download and install a minimal Debian wheezy

Get iso's here:

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

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

net: https://www.debian.org/distrib/netinst

Or use http://unetbootin.sourceforge.net/ to create your installation thumb stick. (Win/Linux) All other packages will be added later.

ISO in the works coming soon.

=Attention OpenVZ users!!!= echo "Those of you running this script on openvz. You must run it as root and " echo "bash Fusionpbx-Debian-Pkg-Install-New.sh or it fails the networking check." echo "Please take the time to refer to this document if you have install issues on openvz" echo "http://openvz.org/Virtual_Ethernet_device and make sure to setup a eth0 ."

=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/trunk/scripts/install/Debian/Fusionpbx-Appliance-Install.sh

vi or nano Fusionpbx-Minimal-Install.sh
 * Read the full header/licencing:
 * Change the following settings as needed :


 * 1) <--Start Edit HERE->

net_iface=eth0
 * 1) Network Interface selection
 * 2) Default = eth0

odroid_boards="n"
 * 1) Use for configuring a odroid

freeswitch_repo="stable"
 * 1) Required
 * 2) Stable/release=1.4/master=1.5 aka git head
 * 3) Default is stable (currently there is only one working repo for freeswitch)

fusionpbx_repo="release"
 * 1) Fusionpbx repo (release = 3.6.0 / devel = 3.5)

freeswitch_nat=n
 * 1) To start FreeSWITCH with -nonat option set freeswitch_NAT to y
 * 2) Set to y if on public static IP

keep_logs=5
 * 1) Set how long to keep freeswitch/fusionpbx log files 1 to 30 days (Default:5)

freeswitch_freetdm="n"
 * 1) Dahdi & freetdm (Under Development in pkgs)(Not Yet Useable)

postgresql_client="n"
 * 1) --Postgresql start---
 * 2) Optional (Not Required)
 * 3) Please Select Server or Client not both.
 * 4) Used for connecting to remote postgresql database servers
 * 5) Install postgresql Client 9.3 for connection to remote postgresql servers (y/n)

postgresql_server="n"
 * 1) Install postgresql server 9.3 (y/n) (client included)(Local Machine)
 * 2) Notice:
 * 3) You should not use postgresql server on a nand/emmc/sd. It cuts the performance
 * 4) life in half due to all the needed reads and writes. This cuts the life of
 * 5) your pbx emmc/sd in half.

pgsql_admin=pgsqladmin
 * 1) Set Postgresql Server Admin username
 * 2) Lower case only

pgsql_admin_passwd=pgsqladmin2014
 * 1) Set Postgresql Server Admin password

db_name=fusionpbx
 * 1) Set Database Name used for fusionpbx in the postgresql server
 * 2) (Default: fusionpbx)

db_user_name=fusionpbx
 * 1) Set FusionPBX database admin name.(used by fusionpbx to access
 * 2) the database table in the postgresql server.
 * 3) (Default: fusionpbx)

db_user_passwd=fusionpbx2014
 * 1) Set FusionPBX database admin password .(used by fusionpbx to access
 * 2) the database table in the postgresql server).
 * 3) Please set a ver secure passwd


 * 1) ---Postgresql-End--

install_openvpn="n"
 * 1) Extra Option's
 * 2) Install openvpn scripts

secure_server="n"
 * 1) Secure-Server-Root Lockdown-
 * 2) This will lock down the root user to using keys to login to ssh. meaning no
 * 3) root login to ssh with out a ssh key

ssh_key=
 * 1) Please paste the public key you wish to add to the permited keys file
 * 2) for root access via ssh

install_ajenti == "n"
 * 1) Install Ajenti (Ajenti is a python based web interface for system control...)


 * 1) <--Stop Edit HERE->

chmod +x Fusionpbx-Minimal-Install.sh
 * Make the script executable

Run the install script as root or sudo -s
 * 1) ./Fusionpbx-Minimal-Install.sh

in OpenVZ
 * 1) bash Fusionpbx-Minimal-Install.sh

Lean back and enjoy!

=First Run Menu= You see a nice PBX First Setup/Run Menu first time you log in!

System Uptime: 07:49:11 up  1:04,  2 users,  load average: 0.24, 0.26, 0.31 HostName/DomainName: pbx WAN IP: 10.0.0.200 (example ip) PBX Administration Setup Menu:

- Network Configuration --- wan) Configure Wide Area Network (WAN) ---Setup--Menu--- 1) Set Root Password 2) Configure Timezone & Time 3) Disable/Enable nat Freeswitch 4) Enable/Disable SSH Root 5) Add/remove SSH Keys for with out ssh key Root Access -Extra Fusionpbx--pgs/modules- pkgs) install Optional Fusion Package/modules Network Test Tools ---  pt) Ping IP   tr)Traceroute IP ---System Upgrade -- upgrd) Upgrade pkgs --Extra--Functions--- rbt) Reboot System pwr) Power Off System x) Logout Choice:

Please Use pkgs option to add in extra functions to the gui before setting it up.

This is so they are setup when you login and setup the gui for the first time.

1) adminer : integrated for an administrator in the superadmin group to enable easy database access 2) backup : pbx backup module. backup sqlite db / configs/ logs 3) call_broadcast : Create a recording and select one or more groups to have the system call and play the recording 4) call_center : display queue status, agent status, tier status for call centers using mod_callcenter call queues 5) call_flows : Typically used with day night mode. To direct calls between two destinations. 6) conference_centers : tools for multi room confrences and room contol 7) conference : tools for single room confrences and room contol 8) content : Advanced-Content Manager 9) edit : multi tools for editing (templates/xmlfiles/configfiles/scripts) files 10) exec : comman shells pages for executing (php/shells) commands 11) fifo : first in first out call queues system 12) hot_desk : allows users to login and recieve calls on any office phone 13) schemas : 14) services : allows interaction with the processes running on your server 15) sipml5 : php base softphone 16) sql_query : allows you to interactively submit SQL queries to the database used in FusionPBX 17) traffic_graph : php graph for monitoing the network interface traffic 18) xmpp : Configure XMPP to work with Google talk or other jabber servers 19) aastra : phone provisioning tool & templates for aastra phones 20) cisco : phone provisioning tool & templates for cisco phones 21) grandstream : phone provisioning tool & templates for grandstream phones 22) linksys : phone provisioning tool & templates for linksys phones 23) panasonic : phone provisioning tool & templates for panasonic phones 24) polycom : phone provisioning tool & templates for polycom phones 25) snom phone : provisioning tool & templates for snom phones 26) yealink : phone provisioning tool & templates for yealink phones 27) verto (x86/amd64 Only) (future option on arm) 28) minimized theme : minimal theme for fusionpbx 29) Install all extra modules for fusionpbx and related freeswitch deps 30) Return to main menu

You May Select The pkgs you wish to install... You may select more then 1 at a time...

Please put a space between options.... This option menu is also available from the main admin shell menu.

After you finish in the setup menu ... Login to the gui and configure your user/password/database settings.

you will do the following

Please open a web-browser to http:// or the Doamin name asigned to the machine like http://" ".

accept the key / continue...

On the First Configuration page of the web user interface "fusionpbx".

select db type: sqlite use default : pgsql use the pulldown and select pgsql...

Set a admin user name and password and continue

On the Second Configuration page of the web user interface "fusionpbx".

If you used sqite on page one then just continue.

Else

If you selected pgsql : You will need the info the install provided you.

use this info in this order to fill in the database info

db_name=fusionpbx

db_user_name=fusionpbx

db_user_passwd=fusionpbx2014

pgsql_admin=pgsqladmin (creae database username field)

pgsql_admin_passwd=pgsqladmin2014 (create user password field)

When you finish the first stage setup:

Reboot 1 more time and your system is good to go.. This will load all the changes to dialplan and modules that fusionpbx changes.

=Admin Menu=

More over you see a nice PBX Administration Menu next time you log in!

System Uptime: 15:48:38 up 7 days, 23:15,  1 user,  load average: 3.39, 2.96,      3.69 Your Current HostName/DomainName for the system is : pbx.mydomain.com Your Current WAN/Primary Network Interface IP is : 000.000.000.000 To Access the web interface go to http://000.000.000.000

PBX Administration Menu:

- Network Configuration --- w) Configure Wide Area Network (WAN) - Maintance --- 1) Set Root Password         2) Configure Timezone & Time  3) Web Service Options       4) Freeswitch CLI  5) Restart Freeswitch        6) Clear & Rotate logs  7) Backup PBX System         8) Restore From Backup  9) Factory Reset System      10) Drop to Shell  11) Disable/Enable nat       12) Enable/Disable SSH Root      for FreeSwitch               with out ssh key  13) Add/remove SSH Keys for Root Access

-Postgresql--Database-- (Only Seen if you have pgsql client/server installed) db) Drop Database Table npg) Enable freeswitch native postgresql support (Under Devel) Network Test Tools --- p) Ping IP  t)Traceroute IP -Extra Fusionpbx--pgs/modules- pkgs) Install and enable extra fusionpbx apps/modues

-Upgrade Options -- upgrd) System Upgrade -Repo Settings repo) Select what repo to use fsrp) Enable/Disable Freeswitch repo furp) Enable/Disable Fusionpbx repo Extra-Options --- rbt) Reboot System pwr) Power Off System x) Logout of terminal Choice:

Set everything up as you need it.

Have fun with all the new features!

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

=Notes=

Alix alix6f2 or AMD-APU
Requirements:
 * You will need approx 1.4 GB for a minimal install


 * voyage is debian distro fo embedded 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 voyagelinux asap.

Proxmox ve
http://pve.proxmox.com/wiki/Main_Page
 * Create CT
 * Choose your fauvorite Debian Template
 * Select bridge interface for your Network
 * then you will have eth0 as interface