Difference between revisions of "Ubuntu 10.10"

From FusionPBX
Jump to: navigation, search
(Download Ubuntu 10.10 Server (Mavric))
 
(42 intermediate revisions by 5 users not shown)
Line 7: Line 7:
 
channel: #fusionpbx #freeswitch-de  
 
channel: #fusionpbx #freeswitch-de  
  
== Install Script==
+
==Download Ubuntu 10.10 Server (Maverick)==
--start-cut-here--
 
#!/bin/bash
 
#
 
#install add-apt-repository & adding repos
 
apt-get install python-software-properties
 
add-apt-repository ppa:freeswitch-drivers/freeswitch-nightly-drivers
 
add-apt-repository ppa:brianmercer/php
 
add-apt-repository ppa:nginx/development/ubuntu
 
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C300EE8C
 
#
 
#Update system
 
apt-get update && apt-get upgrade
 
#
 
#Installing tools
 
apt-get install subversion
 
#
 
#install Freeswitch .deb pkgs
 
apt-get install freeswitch-codec-passthru-amr freeswitch-codec-passthru-g729 freeswitch-codec-passthru-g7231 \
 
freeswitch-lang-en freeswitch-lang-ru freeswitch-spidermonkey freeswitch-sounds-en-us-callie-omega \
 
freeswitch-sounds-music-omega freeswitch freeswitch-lua freeswitch-perl freeswitch-python \
 
freeswitch monit sox
 
#
 
#add pizza demo
 
#wget http://files.freeswitch.org/pizza_gram.tar.gz
 
#wget http://files.freeswitch.org/pizza_sounds.tar.gz
 
#mkdir /opt/freeswitch/grammar
 
#tar xzvf pizza_gram.tar.gz -C /opt/freeswitch/grammar
 
#mkdir /opt/freeswitch/sounds/en/us/callie/pizza
 
#mkdir /opt/freeswitch/sounds/en/us/callie/pizza/8000
 
#tar xzvf pizza_sounds.tar.gz -C /opt/freeswitch/sounds/en/us/callie/pizza/8000
 
#
 
sed -i 's|daemon:x:1|daemon:x:1:www-data|g' /etc/group
 
#
 
sed -i 's|FREESWITCH_ENABLED="false"|FREESWITCH_ENABLED="true"|g' /etc/default/freeswitch
 
#
 
service start freeswitch
 
#
 
#install webserver and needed libs
 
apt-get install nginx php5-cli php5-sqlite php5-fpm sqlite3
 
#
 
svn checkout http://fusionpbx.googlecode.com/svn/trunk/fusionpbx /var/www/fusionpbx
 
#
 
wget http://dl.dropbox.com/u/152504/nginx-default
 
cp nginx-default /etc/nginx/sites-enabled/default
 
#
 
chown -R www-data:www-data /var/www/fusionpbx
 
chmod -R 766 /var/www/fusionpbx
 
chmod -R 766 /opt/freeswitch
 
#
 
#restart nginx & php5-fpm
 
service nginx restart
 
service php5-fpm restart
 
#
 
#Removing dhclient and setting ip
 
apt-get purge dhcpcd
 
#
 
#network config
 
echo -e "\nEnter Server Ip"
 
read serverip
 
echo -e "\nEnter  Server Netmask"
 
read netmask
 
echo -e "\nEnter Router Ip"
 
read routerip
 
#
 
/sbin/ifdown --force eth0
 
/sbin/ifconfig eth0 up
 
/sbin/ifconfig eth0 $serverip
 
/sbin/ifconfig eth0 netmask $netmask
 
/sbin/route add default gw $routerip
 
#
 
mv /etc/init.d/fusion-install /root
 
#
 
exit 0
 
--end-cut-here--
 
 
 
==Download Ubuntu 10.04 LTS Server (lucid)==
 
  
 
  http://www.ubuntu.com/server/get-ubuntu/download and install.
 
  http://www.ubuntu.com/server/get-ubuntu/download and install.
  
==Add the freeswitch nightly drivers repo to apt==
+
==Install Script==
 
+
THIS DOES NOT WORK!
For Ubuntu Server 10.10, make sure add-apt-repository is installed ( via apt-get install python-software-properties ) and then:
+
--start-cut-here--
 
+
#!/bin/bash
  add-apt-repository ppa:freeswitch-drivers/freeswitch-nightly-drivers
+
#
 
+
#install add-apt-repository & adding repos
==Update your system==
+
apt-get install python-software-properties
 
+
  add-apt-repository ppa:freeswitch-drivers/freeswitch-nightly-drivers  
 +
add-apt-repository ppa:brianmercer/php
 +
add-apt-repository ppa:nginx/development/ubuntu
 +
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C300EE8C
 +
#
 +
#Update system
 
  apt-get update && apt-get upgrade
 
  apt-get update && apt-get upgrade
 
+
  #
==list freeswitch pkgs==
+
  #Installing tools
 
 
  apt-cache search freeswitch
 
 
 
==Install Freeswitch pkgs==
 
 
 
  apt-get install (freeswitch pkgs from the list)
 
 
 
==Fusionpbx==
 
 
 
Dependencies Subversion
 
 
 
 
  apt-get install subversion
 
  apt-get install subversion
 +
#
 +
#install Freeswitch .deb pkgs
 +
apt-get install freeswitch-codec-passthru-amr freeswitch-codec-passthru-g729 freeswitch-codec-passthru-g7231 \<br>
 +
freeswitch-lang-en freeswitch-lang-ru freeswitch-spidermonkey freeswitch-sounds-en-us-callie-omega \<br>
 +
freeswitch-sounds-music-omega freeswitch freeswitch-lua freeswitch-perl freeswitch-python \<br>
 +
freeswitch monit sox
 +
# this command left a trailing semicolon following www-data. you need to remove...
 +
#sed -i 's|daemon:x:1|daemon:x:1:www-data|g' /etc/group
 +
adduser www-data daemon
 +
#
 +
sed -i 's|FREESWITCH_ENABLED="false"|FREESWITCH_ENABLED="true"|g' /etc/default/freeswitch
 +
#
 +
#service start freeswitch
 +
#this is ubuntu
 +
/etc/init.d/freeswitch restart
 +
#
 +
#install webserver and needed libs
 +
apt-get install nginx php5-cli php5-sqlite php5-fpm sqlite3
 +
#
 +
svn checkout http://fusionpbx.googlecode.com/svn/trunk/fusionpbx /var/www/fusionpbx
 +
#
 +
wget http://dl.dropbox.com/u/152504/nginx-default
 +
cp nginx-default /etc/nginx/sites-enabled/default
 +
#
 +
chown -R www-data:www-data /var/www/fusionpbx
 +
chmod -R ug+rwx /var/www/fusionpbx /opt/freeswitch
 +
adduser freeswitch www-data
 +
adduser www-data daemon
 +
#is worldread and worldwrite really a good idea? Doesn't the daemon/www-data group need x permissions on directories?
 +
#find /opt/freeswitch -type d -exec chmod u=rwx,g=srwx,o= {} \;
 +
# NOTE: chmod -R 766 /opt/freeswitch does not work.
 +
# x permissions are required for group.
 +
# even though su - www-data can read and create files in /opt/freeswitch (after using above find command), but not before
 +
# install.php fails when trying to copy the default dialplan.
 +
#
 +
#
 +
#restart nginx & php5-fpm
 +
#service nginx restart
 +
#service php5-fpm restart
 +
#for ubuntu
 +
/etc/init.d/nginx restart
 +
/etc/init.d/php5-fpm restart
 +
#
 +
#Removing dhclient and setting ip
 +
apt-get purge dhcpcd
 +
#
 +
#network config
 +
echo -e "\nEnter Server Ip"
 +
read serverip
 +
echo -e "\nEnter  Server Netmask"
 +
read netmask
 +
echo -e "\nEnter Router Ip"
 +
read routerip
 +
#
 +
/sbin/ifdown --force eth0
 +
/sbin/ifconfig eth0 up
 +
/sbin/ifconfig eth0 $serverip
 +
/sbin/ifconfig eth0 netmask $netmask
 +
/sbin/route add default gw $routerip
 +
#
 +
mv /etc/init.d/fusion-install /root
 +
#
 +
exit 0
 +
--end-cut-here--
  
PHP >= 5.3.3
 
  
apt-get install php5.3
+
Install just one of mysql, postgresql, or sqlite.
 
 
Install the backend of your choice
 
 
 
sqlite
 
 
 
apt-get install sqlite3 php5-sqlite
 
  
 
mysql
 
mysql
Line 129: Line 104:
 
  apt-get install php5-pgsql postgresql-8.4
 
  apt-get install php5-pgsql postgresql-8.4
  
==NginX Deps==
+
sqlite
 
 
Dependencies
 
  
  apt-get install nginx php5-fpm
+
  apt-get install sqlite
  
==Nginx Setup==
+
== NGinx Setup (10.04 LTS)==
edit nginx.conf
+
vim /etc/nginx/sites-enabled/default
  
Replace :<br>
+
Find
        location / {
+
location / {
            root   /var/www/nginx;
+
  # First attempt to serve request as file, then
            index index.html index.htm;
+
  # as directory, then fall back to index.html
        }
+
  try_files $uri $uri/ /index.html;
 +
}
 +
Replace with
 +
location / {
 +
  # First attempt to serve request as file, then
 +
  # as directory, then fall back to index.html
 +
  try_files $uri $uri/ /index.html;
 +
  root /var/www/fusionpbx;
 +
  index index.php index.html index.htm;
 +
  }
  
Witch:<br>
+
Find
        location / {
 
            root  /usr/local/www/fusionpbx;
 
            index  index.php index.html index.htm;
 
        }
 
  
Replace :<br>
 
 
         # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
 
         # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
 
         #
 
         #
 
         #location ~ \.php$ {
 
         #location ~ \.php$ {
        #   root          html;
+
                #fastcgi_pass  127.0.0.1:9000;
        #    fastcgi_pass  127.0.0.1:9000;
+
                #fastcgi_index  index.php;
        #   fastcgi_index  index.php;
+
                #fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #   fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
+
                #include fastcgi_params;
        #   include       fastcgi_params;
 
 
         #}
 
         #}
 
+
Replace with
with:<br>
+
         # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
 
+
         #
         pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
 
          
 
 
         location ~ \.php$ {
 
         location ~ \.php$ {
            root           html;
+
                root           html;
            fastcgi_pass  127.0.0.1:9000;
+
                fastcgi_pass  127.0.0.1:9000;
            fastcgi_index  index.php;
+
                fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /var/www/fusionpbx$fastcgi_script_name;
+
                #fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include       fastcgi_params;
+
                fastcgi_param  SCRIPT_FILENAME  /var/www/fusionpbx$fastcgi_script_name;
 +
                include fastcgi_params;
 
         }
 
         }
  
==Apache Setup==
+
Find and edit
Apache
+
        location /images {
 +
                #root  /usr/share;
 +
                root /var/www/fusionpbx;
 +
                autoindex on;
 +
        }
  
  apt-get install apache2
+
  /etc/init.d/nginx restart
 
+
go to your.ip.address in a browser and you should get the setup screen.
==Lighttpd Setup==
 
  
 
== PgSQL Setup ==
 
== PgSQL Setup ==
Line 192: Line 170:
 
  or any passwd you want
 
  or any passwd you want
 
  exit from su back to root
 
  exit from su back to root
 +
 +
#note: above didn't work (ubuntu LTS 10.04).  the postgres user is postgres (not pgsql). creating the fusionpbx user and database does work; however login did not. don't know enough about postgres to fix, so I used sqlite.
  
 
==Mysql Setup==
 
==Mysql Setup==
  
 +
==SQLite Setup ==
 +
apt-get install sqlite
  
 +
no conf necessary. just choose it from the web page during installation.
  
 
==Complete the Setup==
 
==Complete the Setup==

Latest revision as of 18:27, 5 February 2011

Support

For basic support on this install Contact: witchdoc on server: irc.freenode.net channel: #fusionpbx #freeswitch-de

Download Ubuntu 10.10 Server (Maverick)

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

Install Script

THIS DOES NOT WORK! --start-cut-here--

#!/bin/bash
#
#install add-apt-repository & adding repos
apt-get install python-software-properties
add-apt-repository ppa:freeswitch-drivers/freeswitch-nightly-drivers 
add-apt-repository ppa:brianmercer/php
add-apt-repository ppa:nginx/development/ubuntu
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C300EE8C
#
#Update system
apt-get update && apt-get upgrade
#
#Installing tools
apt-get install subversion
#
#install Freeswitch .deb pkgs
apt-get install freeswitch-codec-passthru-amr freeswitch-codec-passthru-g729 freeswitch-codec-passthru-g7231	\
freeswitch-lang-en freeswitch-lang-ru freeswitch-spidermonkey freeswitch-sounds-en-us-callie-omega \
freeswitch-sounds-music-omega freeswitch freeswitch-lua freeswitch-perl freeswitch-python \
freeswitch monit sox # this command left a trailing semicolon following www-data. you need to remove... #sed -i 's|daemon:x:1|daemon:x:1:www-data|g' /etc/group adduser www-data daemon # sed -i 's|FREESWITCH_ENABLED="false"|FREESWITCH_ENABLED="true"|g' /etc/default/freeswitch # #service start freeswitch #this is ubuntu /etc/init.d/freeswitch restart # #install webserver and needed libs apt-get install nginx php5-cli php5-sqlite php5-fpm sqlite3 # svn checkout http://fusionpbx.googlecode.com/svn/trunk/fusionpbx /var/www/fusionpbx # wget http://dl.dropbox.com/u/152504/nginx-default cp nginx-default /etc/nginx/sites-enabled/default # chown -R www-data:www-data /var/www/fusionpbx chmod -R ug+rwx /var/www/fusionpbx /opt/freeswitch adduser freeswitch www-data adduser www-data daemon #is worldread and worldwrite really a good idea? Doesn't the daemon/www-data group need x permissions on directories? #find /opt/freeswitch -type d -exec chmod u=rwx,g=srwx,o= {} \; # NOTE: chmod -R 766 /opt/freeswitch does not work. # x permissions are required for group. # even though su - www-data can read and create files in /opt/freeswitch (after using above find command), but not before # install.php fails when trying to copy the default dialplan. # # #restart nginx & php5-fpm #service nginx restart #service php5-fpm restart #for ubuntu /etc/init.d/nginx restart /etc/init.d/php5-fpm restart # #Removing dhclient and setting ip apt-get purge dhcpcd # #network config echo -e "\nEnter Server Ip" read serverip echo -e "\nEnter Server Netmask" read netmask echo -e "\nEnter Router Ip" read routerip # /sbin/ifdown --force eth0 /sbin/ifconfig eth0 up /sbin/ifconfig eth0 $serverip /sbin/ifconfig eth0 netmask $netmask /sbin/route add default gw $routerip # mv /etc/init.d/fusion-install /root # exit 0

--end-cut-here--


Install just one of mysql, postgresql, or sqlite.

mysql

apt-get install mysql-server php5-mysql

postgresql

apt-get install php5-pgsql postgresql-8.4

sqlite

apt-get install sqlite

NGinx Setup (10.04 LTS)

vim /etc/nginx/sites-enabled/default

Find

location / {
  # First attempt to serve request as file, then
  # as directory, then fall back to index.html
  try_files $uri $uri/ /index.html;
}

Replace with

location / {
 # First attempt to serve request as file, then
 # as directory, then fall back to index.html
 try_files $uri $uri/ /index.html;
 root /var/www/fusionpbx;
 index index.php index.html index.htm;
 }

Find

       # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
       #
       #location ~ \.php$ {
               #fastcgi_pass   127.0.0.1:9000;
               #fastcgi_index  index.php;
               #fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
               #include fastcgi_params;
       #}

Replace with

       # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
       #
       location ~ \.php$ {
               root            html;
               fastcgi_pass   127.0.0.1:9000;
               fastcgi_index  index.php;
               #fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
               fastcgi_param  SCRIPT_FILENAME  /var/www/fusionpbx$fastcgi_script_name;
               include fastcgi_params;
       }

Find and edit

       location /images {
               #root   /usr/share;
               root /var/www/fusionpbx;
               autoindex on;
       }
/etc/init.d/nginx restart

go to your.ip.address in a browser and you should get the setup screen.

PgSQL Setup

TO set and configure PgSQL for use with FusionPBX, Follow this line for line.

su pgsql
createuser -s -e FusionPBX
createdb -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
  1. note: above didn't work (ubuntu LTS 10.04). the postgres user is postgres (not pgsql). creating the fusionpbx user and database does work; however login did not. don't know enough about postgres to fix, so I used sqlite.

Mysql Setup

SQLite Setup

apt-get install sqlite

no conf necessary. just choose it from the web page during installation.

Complete the Setup

  • Load fusionpbx in the browser choose Postgres for the database.
  • Then press next put in the user account and password from that was created from the previous command.
  • Make sure 'Create database User and 'Create Database Password' are empty and then submit the form.
  • Login with 'superadmin' and 'fusionpbx'