Ubuntu ISO

2012 May 03
First Release of FusionPBX v3.0. Right now just x86_64. Based on Ubuntu 12.04 LTS. This new version has the ability built in to self-update installation and upgrade scripts, and the ability to pull the FreeSWITCH source code that was used to make the iso. This will help alleviate the older issues.

These are (for now) on Google Drive. No login should be required.

x86_64

 * The md5sum: ebbdf9a5d568c2802a3065e2ad0f357b
 * The iso: fusionpbx_ub_1204_x86_64-2012-05-03.iso

i386

 * The md5sum: b00a95c995f8202e9c167197b3c694ea
 * The iso fusionpbx_ub_1204_i386-2012-05-04.iso

2011 November 11
Based on Ubuntu 10.04 LTS. NO LONGER RECOMMENDED 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 KVM 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:
 * http://fusionpbx.googlecode.com/svn/iso/ubuntu/10.04-LTS/i386/fusionpbx_ub_i386-beta-2011-11-11.iso
 * http://fusionpbx.googlecode.com/svn/iso/ubuntu/10.04-LTS/i386/fusionpbx_ub_i386-beta-2011-11-11.iso.md5

The latest Torrents for the images can be found here (Thanks hyper_ch!)
 * https://

ISO Major Inclusions
Ubuntu Server version: 10.04 LTS Freeswitch git number: ISO Date FusionPBX SVN: ISO Date web server: Ngnix/php5-fpm (post install you can change to Apache2) database: sqlite (post install you can change to MySQL or PostgreSQL) tftp server: not included Other: logrotate, fail2ban

If you have to compile freeswitch
If you require the use of a module that wasn't included when freeswitch was compiled to create the ISO you will need to re-compile. In order to fit the ISO image onto the CD, the source files have been removed, however the source files that were used to build the ISO are actually available - If you look on the sourceforge page for the iso, there's a tar.gz that is the compiled FreeSWITCH source that built the iso. Get it and xtracat it to /usr/src and then you'll be able to edit the modules.conf and compile.

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.
 * 8) * ABOUT THIS UPGRADE:
 * 9) **What it really does is completely delete the current version installed on the iso, and grab the latest version of FusionPBX from svn. Then it reruns the installer with your choice of database, web server, etc.  This is the preferred method for iso installation.  This way the iso will always provide the latest FusionPBX.  In a nutshell, it does 'rm -rf /var/www/fusionpbx' and calls the script '/usr/local/bin/install_fusionpbx install-fusionpbx user'
 * 10) * The system will not boot with a GUI. If you need one, run startx
 * 11) Default Username/Password for FusionPBX on LiveCD/post-install
 * 12) * username: superadmin
 * 13) * password: fusionpbx

Permissions after Upgrade
If you upgrade FreeSWITCH, permissions will be changed. This is due to the way make install is configured. Your first sign of this is that FreeSWITCH will fail to start. This is due to the /etc/init.d/freeswitch script trying to start FreeSWITCH as user www-data, and www-data doesn't have access to the FreeSWITCH binaries anymore. Post upgrade, run the following:

Fix www-data Permissions
run install_fusionpbx fix-permissions or This is a script to make FreeSWITCH and FusionPBX run as the same user again. Save it to a file (ex: fixperms.sh), make it executable (chmod ugo+x ./fixperms.sh) and run it with sudo (sudo ./fixperms.sh). /bin/echo "setting FreeSWITCH owned by www-dat.www-data" /bin/chown -R www-data.www-data /usr/local/freeswitch /bin/chmod -R o-rwx /usr/local/freeswitch/ /bin/echo "Setting group ID sticky for FreeSWITCH" /usr/bin/find /usr/local/freeswitch -type d -exec /bin/chmod u=rwx,g=srx,o= {} \; /bin/echo "Setting Group Write for FreeSWITCH files" /usr/bin/find /usr/local/freeswitch -type f -exec /bin/chmod g+w {} \; /bin/echo "Setting Group Write for FreeSWITCH directories" /usr/bin/find /usr/local/freeswitch -type d -exec /bin/chmod g+w {} \; /bin/echo "setting FusionPBX owned by www-data.www-data just in case" if [ -e /var/www/fusionpbx ]; then /bin/chown -R www-data.www-data /var/www/fusionpbx fi /bin/echo "Changing /etc/init.d/freeswitch to start with user www-data" /bin/sed -i -e s,'USER=freeswitch','USER=www-data', /etc/init.d/freeswitch
 * 1) remove 'other' permissions on freeswitch
 * 1) set FreeSWITCH directories full permissions for user/group with group sticky
 * 1) make sure FreeSWITCH directories have group write
 * 1) make sure FreeSWITCH files have group write
 * 1) /etc/init.d/freeswitch start

FreeSWITCH Source Code
The compiled FreeSWITCH source code is too large to fit on the iso. You'll need to do a little legwork, and then you can run a script that soapee01 wrote to automate this process. Here is the procedure:

sudo wget http://fusionpbx.googlecode.com/svn/contribs/soapee01/scripts/oldisogetfs.sh -O /usr/local/bin/oldisogetfs.sh sudo chmod 755 /usr/local/bin/oldisogetfs.sh sudo vim /usr/local/bin/oldisogetfs.sh #change GITVER sudo /usr/local/bin/oldisogetfs.sh This will checkout the latest git, and change the repository to the version on your iso. Then it will compile FreeSWITCH. install_fusionpbx.sh upgrade-freeswitch user install_fusionpbx.sh fix-permissions
 * 1) how to find the Git Version
 * 2) log into fs_cli, run version.
 * 3) search http://fisheye.freeswitch.org for that commit "eg git-4936b11"
 * 4)  search by the number (leave off the "git-")
 * 5)  Select the "View in Activity Stream" link
 * 6)  There will be a text box with the hash tag looks like:
 * 7)  4936b11cc85f94f42609f78d0bc27488ed522ff0
 * 8) Plug that hash tag into the variable GITVER in the script below.
 * 1) Next you should download the latest install_fusionpbx.sh script see here for info
 * 2) Run the following command to upgrade to the latest.

Older Versions
Please see:Easy_Ubuntu_10.04_Old_CD_Versions

Certificates
Information on importing the self signed certificates can be found here Self-Signed CA

Wishlist
# Disable viewing .htaccess & .htpassword & .db       location ~ .htaccess { deny all; }       location ~ .htpassword { deny all; } TFTP_USERNAME="www-data" TFTP_DIRECTORY="/var/lib/tftpboot" TFTP_ADDRESS="0.0.0.0:69" TFTP_OPTIONS="--secure"
 * Option to download FreeSWITCH compiled source as tar.gz for iso
 * Option --fix-permissions
 * Needs to check FreeSWITCH init script
 * upgrade-fusionpbx needs to fix permissions, since a FS upgrade kills them.
 * Logrotate for nginx
 * Fail2ban for FusionPBX failed login attempts
 * Need information on attempts/rate/etc
 * Change Fail2ban on FreeSWITCH with attempts/rate/etc in config file (not default settings)
 * Change or have option to download GIT from GitHub repository (It's faster)
 * git://github.com/FreeSWITCH/FreeSWITCH.git
 * Make nginx /apache https by default
 * iso needs to regenerate certificates post install, ideally with 10 year expirations.
 * fix nginx config to not block html files... Don't block ~ .ht
 * Install TFTPD, change permissions to www-data.
 * /var/lib/tftpboot is root dir.
 * /etc/default/tftpd-hpa is config file
 * Install NTPD
 * Package in repository is just 'ntp'