|
|
(40 intermediate revisions by 2 users not shown) |
Line 1: |
Line 1: |
| | | |
− | = Overview =
| |
− |
| |
− | This is a Embedded Device Install for Arm/x86/amd64 low power Boards
| |
− |
| |
− | With Debian net install iso as a base you will create your FusionPBX appliance for X86/AMD64.
| |
− |
| |
− | With the correct Debian Img for your arm device Provider for your soc chipset as a base for your 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) <2013> r<dot>neese<at>gmail<dot>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 [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 [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 [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.
| |
− |
| |
− | =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-Debian-Embedded-Appliance-Install.sh
| |
− |
| |
− | * Read the full header/licencing:
| |
− | * Change the following settings as needed :
| |
− |
| |
− | vi or nano Fusionpbx-Minimal-Install.sh
| |
− |
| |
− | #<------Start Edit HERE--------->
| |
− |
| |
− | #Network Interface selection
| |
− | #Default = eth0
| |
− | net_iface=eth0
| |
− |
| |
− | #Use for configuring a odroid
| |
− | odroid_boards="n"
| |
− |
| |
− | #Required
| |
− | #Stable/release=1.4/master=1.5 aka git head
| |
− | # Default is stable (currently there is only one working repo for freeswitch)
| |
− | freeswitch_repo="stable"
| |
− |
| |
− | #Fusionpbx repo (release = 3.6.0 / devel = 3.5)
| |
− | fusionpbx_repo="release"
| |
− |
| |
− | # To start FreeSWITCH with -nonat option set freeswitch_NAT to y
| |
− | # Set to y if on public static IP
| |
− | freeswitch_nat=n
| |
− |
| |
− | #Set how long to keep freeswitch/fusionpbx log files 1 to 30 days (Default:5)
| |
− | keep_logs=5
| |
− |
| |
− | #Dahdi & freetdm (Under Development in pkgs)(Not Yet Useable)
| |
− | freeswitch_freetdm="n"
| |
− |
| |
− | #------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=pgsqladmin
| |
− |
| |
− | # Set Postgresql Server Admin password
| |
− | pgsql_admin_passwd=pgsqladmin2014
| |
− |
| |
− | # 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-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-Minimal-Install.sh
| |
− |
| |
− | Run the install script as root or sudo -s
| |
− | # ./Fusionpbx-Minimal-Install.sh
| |
− |
| |
− | in OpenVZ
| |
− | # 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://<xxx.xxx.x.xx>
| |
− | or the Doamin name asigned to the machine like http://"<myhostname>".
| |
− |
| |
− |
| |
− | accept the key / continue...
| |
− |
| |
− | On the First Configuration page of the web user interface "fusionpbx".
| |
− |
| |
− | select db type: sqlite use (default) : pgsql-client 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-client : 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= admin for remote serve
| |
− |
| |
− | pgsql_admin_passwd= admin password for remote server
| |
− |
| |
− | 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 a 4 gig class10/u1 sd (approx 1.4 GB for a minimal install)
| |
− |
| |
− | * 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.
| |
− |
| |
− | == Proxmox ve ==
| |
− |
| |
− | * Create CT
| |
− | * Choose your fauvorite Debian Template
| |
− | * Select bridge interface for your Network
| |
− | * then you will have eth0 as interface
| |
− | http://pve.proxmox.com/wiki/Main_Page
| |
− |
| |
− |
| |
− |
| |
− | == Donate ==
| |