Difference between revisions of "Easy Ubuntu 10.04"

From FusionPBX
Jump to: navigation, search
(Changelog)
(Variables)
Line 69: Line 69:
 
===Variables===
 
===Variables===
 
These are included to make the auto mode more flexible. Open the script and set them however you wish.
 
These are included to make the auto mode more flexible. Open the script and set them however you wish.
 +
 
*for apache set to a, for nginx/php-fpm set to n -> for an auto install, user mode will prompt
 
*for apache set to a, for nginx/php-fpm set to n -> for an auto install, user mode will prompt
:APACHENGINX=a
+
:APACHENGINX=n
*for mysql set to m. for sqlite set to s -> for an auto install, user mode will prompt.
+
 
 +
*for mysql set m. for sqlite set s. for postgresql set p
 
:SQLITEMYSQL=s
 
:SQLITEMYSQL=s
*for -nonat option set PUBLICIP to yes -> for an auto install, user mode should detect and prompt.
+
 
:PUBLICIP=no
+
*for postgresql v 9.0 (from ppa) set to 9, otherwise stick with 8
 +
*must set SQLITEMYSQL to p
 +
:POSTGRES9=8
 +
 
 +
*to start FreeSWITCH with -nonat option set SETNONAT to y
 +
:SETNONAT=n
 +
 
 +
*rm -Rf /opt? A default install doesn't have /opt so no worries
 +
*if you do, set to no, and it will link /usr/local/freeswitch to /opt/freeswitch
 +
:RMOPT=y
 +
 
 +
*below is a list of modules we want to add to provide functionality for FusionPBX don't worry about the applications/mod_ format. This script will find that in modules.conf
 +
*PAY ATTENTION TO THE SPACES POST AND PRE PARENTHESIS
 +
:modules_add=( mod_dingaling mod_portaudio mod_callcenter mod_lcr mod_cidlookup mod_directory mod_flite mod_pocketsphinx mod_xml_rpc mod_xml_cdr mod_xml_curl mod_say_es )
 +
 
 
===Changelog===
 
===Changelog===
 
*v4.3.3 2011 January 31  
 
*v4.3.3 2011 January 31  

Revision as of 22:22, 1 February 2011

Easy_Ubuntu_10.04

Download Ubuntu 10.04 Server LTS (Lucid)

http://www.ubuntu.com/server/get-ubuntu/download

    Select Ubuntu 10.04 LTS Long Term Support
    Choose 32 bit or 64 bit depending on your hardware

When you install ubuntu, you should select the "Manual package selection" option. This way we can keep the install to the bare minimum. Just quit tasksel during the install.

Get the latest install script

Project

http://sourceforge.net/projects/fusionpbxinstal/files/

Features

  • FreeSWITCH
    • It installs all necessary dependencies.
    • It grabs the latest FreeSWITCH git and compile it, including dealing with a mod_dingaling issue.
    • It sets permissions properly for FreeSWITCH.
    • Sets up Fail2Ban (for FreeSWITCH)
    • Sets up LogRotate (for FreeSWITCH)
    • Checks for public IP address, optionally starts FreeSWITCH with -nonat for faster startup
  • FusionPBX (optional)
    • It sets permissions properly FusionPBX to edit FreeSWITCH config files. FreeSWITCH is now running as www-data starting with v4.3.3
    • Grabs the latest FusionPBX from SVN and dependencies (php5-cli, php5-sqlite, sqlite)
    • OPTION: Installs and configures: apache2 with mod-php5 OR nginx with php5-fpm.
    • OPTION: Install MySQL for the FusionPBX database (instead of default sqlite).
    • OPTION: PostgreSQL 8 (or 9) beginning with v4.3.3
      • If using odbc for voicemail, FusionPBX requires php5-odbc!

Everything should automatically configured!

Notes

To download with wget:

  1. Find the latest script on sourceforge
  2. Get the 'download direct' link from sourceforge.

example:

cd /usr/local/bin
wget "https://downloads.sourceforge.net/random_sourceforge_bits" -O install_fusionpbx
chmod 744 install_fusionpbx
/usr/local/bin/install_fusionpbx

Errata

Older Versions

Please see Easy_Ubuntu_10.04_Old_Script_Versions for Errata, errors, and fixes.

Options

sudo install_fusionpbx 
  This script should be called as: 
    install_fusionpbx option1 option2 
      option1: 
        install-freeswitch 
        install-fusionpbx 
        install-both 
        upgrade-freeswitch 
        upgrade-fusionpbx 
        version|--version|-v 

      option2: 
        user: option waits in certain places for the user to check for errors 
        auto: tries an automatic install. Get a cup of coffee, this will take a while. FOR THE BRAVE! 
sudo install_fusionpbx --version
   Version 4.3.2.1 - 2011 January 1. WAF License

Install

sudo install_fusionpbx install-both user

Variables

These are included to make the auto mode more flexible. Open the script and set them however you wish.

  • for apache set to a, for nginx/php-fpm set to n -> for an auto install, user mode will prompt
APACHENGINX=n
  • for mysql set m. for sqlite set s. for postgresql set p
SQLITEMYSQL=s
  • for postgresql v 9.0 (from ppa) set to 9, otherwise stick with 8
  • must set SQLITEMYSQL to p
POSTGRES9=8
  • to start FreeSWITCH with -nonat option set SETNONAT to y
SETNONAT=n
  • rm -Rf /opt? A default install doesn't have /opt so no worries
  • if you do, set to no, and it will link /usr/local/freeswitch to /opt/freeswitch
RMOPT=y
  • below is a list of modules we want to add to provide functionality for FusionPBX don't worry about the applications/mod_ format. This script will find that in modules.conf
  • PAY ATTENTION TO THE SPACES POST AND PRE PARENTHESIS
modules_add=( mod_dingaling mod_portaudio mod_callcenter mod_lcr mod_cidlookup mod_directory mod_flite mod_pocketsphinx mod_xml_rpc mod_xml_cdr mod_xml_curl mod_say_es )

Changelog

  • v4.3.3 2011 January 31
  1. Added: smp compile support. Script works, make -j doesn't. see jira FS-3005
  2. Fixed: NGinx file size error
  3. FIXED removing nginx removes gnome/x.
  4. Added: Postgres (seems good)
  5. Fixed: Set up apache properly (fusionpbx file instead of default, use heredoc)
  6. Fixed: sqlite http request issue for nginx/apache
  7. Added: now doing ppa's the ubuntu way with apt-add-repository
  8. Added: set up auto install for nginx/apache, mysql/postgresql/sqlite, setnonat.
  9. Added: now prompts for rm -Rf /opt (or variable for auto-install).
  10. Added: Remove Nginx/php/apache properly
    • There's a bug in either ppa-purge or apt-add-repository (likely latter). if you install nginx, change your mind, install apache, change your mind again and re-install nginx, the repository for nginx/php5-fpm gets removed proerly [a '#' covers repo], but when re-enabling, the '#' gets replaced, and an 'n' is left on a newline afterward, preventing update/install from that repo.
  11. Fixed: Checking for nginx/apache2 binary instead of init scripts for if[x] restart
  12. TODO: look into setting up FS for mysql/pgsql
  • v4.3.2.1 2011 January 1
  1. small problem when selecting nginx and sqlite. php5-fpm needed to restart so FusionPBX could see the FreeSWITCH directory.
  • v4.3.2 2010 December 30
  1. logrotate was improperly setup. Needed to send sighup to fs_cli. Caused FS to die the first time it tried to log after rotation.
  2. php5-cli is a dependancy for FusionPBX. required for voicemail to email, and fax to email.
  3. added an nginx/php-fpm option. You can change a variable (for auto run)or it will prompt you when you install fusionpbx in user mode
  4. mysql added as an option.
  5. problem with the way ubuntu logs ssh failures [fail2ban].
    • Failed password for root from 1.2.3.4 port 22 ssh2
    • last message repeated 5 times
    • SOLUTION: Turn off RepeatedMsgReduction in rsyslog.
  6. fail2ban: previous setup looked for freeswitch log in /var/log/freeswitch.log log is actually /usr/local/freeswitch/log/freeswitch.log
  7. Tries to see if you're on a static IP address. If you are, it wants to start FreeSWITCH with the -nonat option to save some time. Also a new variable
  8. TODO: Maybe probe cores and to the -b thing for quicker compile/bootstrap
  9. TODO: IPTABLES
  • v4.3.1 2010 December 23
  1. made a state save file. so if there's an error, don't re-bootstrap, configure, etc. and remove it on a clean exit.
  2. requests for modules add/enable for ugrade-freeswitch. DONE
  3. mod dingaling needs libgnutls-dev libgnutls26 packages, and change:
    • "--mode=relink gcc" --> "--mode=relink gcc -lgnutls"
    • in /usr/src/freeswitch/src/mod/endpoints/mod_dingaling/mod_dingaling.la
    • appears to be an ubuntu problem....
  • v4.3 2010 December 22
  1. under case upgrade-freeswitch, variables were not set properly. It upgraded fusionpbx.. fixed.
  2. done: fail2ban error fixed. removed associated text
  3. done: have install check for /etc/fail2ban. reinstall (as in from iso) duplicates some txt
  4. done: remove or fix fusionpbx upgrade code. it either needs to log in and then update and run the schema upgrade. or get rid of it. Fixed by prompting the user to open a browser window, and warn.
  5. done: get logrotate working... let's not fill the disk.
  6. stop/start freeswitch for an upgrade, and an install...
  • v4.2 2010 December 17
  1. made some changes so the text flows correctly now that we use curl to do install.php.
  2. sent curl output to dev null..
  3. added apt-get update before we install apache since remastersys removes apt data
  4. stopping FS before FusionPBX install, and starting afteward.
  5. changed license to WAF v1
  • v4.1 2010 December 15
  1. changing cd sounds (48/32/16/8khz) down to hd sounds (16/8Kkhz)
  • v4 2010 December 14
  1. now install-fusion|install-freeswitch|upgrade...
  2. also adding curl commands to finish fusionpbx install.
  • v3 2010 December 13
  1. adding fail2ban et al.
  • v2 2010 December 07
  1. adds arrays to process the modules. should make this much easier to edit.
    • just make additions to modules_add
    • This should work fine (even on a 2nd run).
  • v1 2010 December 06
  1. first cut

Bugs and Getting Help

soapee01 on #fusionpbx (freenode) wrote this script. For help, go there. Bugs and feature requests can be handled on the sourceforge project page:

http://sourceforge.net/projects/fusionpbxinstal/

Voicemail to Email

Versions prior to 4.3.2 did not install php5-cli by default. This caused the fusionpbx install to miss the "PHP Directory" when it configures FreeSWITCH. The value should be

/usr/bin

The value was

/var/www/fusionpbx
  1. Log into FusionPBX
  2. Click System -> System Settings
  3. Edit the Domain
  4. Set "PHP Directory" to /usr/bin
  5. Save/Apply Settings.
  6. Now apply the fix to FreeSWITCH:
sudo vim /usr/local/freeswitch/conf/autoload_configs/switch.conf.xml

and edit the line:

<param name="mailer-app" value="/var/www/fusionpbx /var/www/fusionpbx/secure/v_mailto.php"/>

to be:

<param name="mailer-app" value="/usr/bin/php /var/www/fusionpbx/secure/v_mailto.php"/>

install php5-cli

sudo apt-get install php5-cli

Restart FreeSWITCH

/etc/init.d/freeswitch restart

PgSQL Setup

TO set and configure PgSQL for use with FusionPBX, Follow this line for line. This should be done before fusionpbx install.php gets called. If not, remove /var/www/fusionpbx/includes/config.php and it will re-enable the install.

sudo apt-get install php5-pgsql
sudo su postgres
createuser -s -e fusionpbx
createdb -E UTF8 -O fusionpbx fusionpbx
psql -d fusionpbx -U fusionpbx
ALTER USER fusionpbx with PASSWORD 'pbx2010'; 
or any passwd you want
exit from su back to root

Apache/php

sudo /etc/init.d/apache2 restart

Nginx/php5-fpm

sudo /etc/init.d/php5-fpm restart
sudo /etc/init.d/nginx restart

Now the install script should recognize postgresql

  1. If anyone has an idea on how to script the password creation, please drop a note here, so this process can be scripted as well...
    • cbillen: for the password creation in one scriptable command you can do: echo "ALTER USER FusionPBX with PASSWORD 'pbx2010';" | psql FusionPBX

ISO

2011 January 1

This is a LiveCD for installing FreeSWITCH/FusionPBX. It's currently in work (64 bit and 32 bit). These are beta. They were created in VMPlayer sessions, but the do install on real hardware. Please read Instructions and Errata closely.

Feedback requested: /msg soapee01 on Freenode (#fusionpbx). As of December 30, 2010 it actually functions as a LiveCD. FreeSWITCH and FusionPBX are running so you can test the FusionPBX gui. Please don't connect up to a SIP client and complain about audio quality while you run from a CD-ROM. :)

The latest ISO images can be found here:

https://sourceforge.net/projects/fusionpbxinstal/files/ISOs/

The latest Torrents for the images can be found here (Thanks hyper_ch!)

https://sourceforge.net/projects/fusionpbxinstal/files/Torrent/

Instructions

  1. Read Errata List
  2. Download the ISO
  3. Verify the MD5 Sum.
  4. Burn to a CD or run from VMWare/VirtualBOX (testing only)
  5. Boot (be patient... LiveCDs take a while)
  6. Double Click the install icon
  7. Post-install: decide whether or not you want to upgrade FusionBPX.
    • The system will not boot with a GUI. If you need one, run startx
  8. Default Username/Password for FusionPBX on LiveCD/post-install
    • username: superadmin
    • password: fusionpbx

64 bit beta 2011-01-31

Download ISO: coming_soon
Download using BitTorrent: .torrent File Coming Soon | Magnet Link Coming Soon
MD5: coming soon
  • Script Build

Version 4.3.3 - 2011 January 31. WAF License

32 bit beta 2011-01-31

Download ISO: fusionpbx_ub_i386-beta-2011-01-31.iso
Download using BitTorrent: .torrent File Coming Soon | Magnet Link Coming Soon
MD5: 4abde8e7d8ceab1db58926bd6cdefadb
  • Script Build

Version 4.3.3 - 2011 January 31. WAF License

Errata

Older Versions

Please see:Easy_Ubuntu_10.04_Old_CD_Versions