forked from norman/fusionpbx-install.sh-github-mirror
Start the FreeBSD install script (not ready)
This commit is contained in:
3
freebsd/resources/switch/conf-copy.sh
Executable file
3
freebsd/resources/switch/conf-copy.sh
Executable file
@@ -0,0 +1,3 @@
|
||||
mv /etc/freeswitch /etc/freeswitch.orig
|
||||
mkdir /etc/freeswitch
|
||||
cp -R /var/www/fusionpbx/resources/templates/conf/* /etc/freeswitch
|
||||
40
freebsd/resources/switch/source-master.sh
Executable file
40
freebsd/resources/switch/source-master.sh
Executable file
@@ -0,0 +1,40 @@
|
||||
#!/bin/sh
|
||||
echo "Installing the FreeSWITCH source"
|
||||
DEBIAN_FRONTEND=none APT_LISTCHANGES_FRONTEND=none apt-get install -y --force-yes ntpdate libapache2-mod-log-sql-ssl libfreetype6-dev git-buildpackage doxygen yasm nasm gdb git build-essential automake autoconf 'libtool-bin|libtool' python uuid-dev zlib1g-dev 'libjpeg8-dev|libjpeg62-turbo-dev' libncurses5-dev libssl-dev libpcre3-dev libcurl4-openssl-dev libldns-dev libedit-dev libspeexdsp-dev libspeexdsp-dev libsqlite3-dev perl libgdbm-dev libdb-dev bison libvlc-dev libvlccore-dev vlc-nox pkg-config ccache libpng-dev libvpx-dev libyuv-dev libopenal-dev libbroadvoice-dev libcodec2-dev libflite-dev libg7221-dev libilbc-dev libmongoc-dev libsilk-dev libsoundtouch-dev libmagickcore-dev liblua5.2-dev libopus-dev libsndfile-dev libopencv-dev libavformat-dev libx264-dev erlang-dev libldap2-dev libmemcached-dev libperl-dev portaudio19-dev python-dev libsnmp-dev libyaml-dev libmp4v2-dev
|
||||
apt-get install -y --force-yes unzip libpq-dev memcached libshout3-dev libvpx-dev libmpg123-dev libmp3lame-dev
|
||||
|
||||
apt-get update && apt-get install -y --force-yes ntp curl haveged
|
||||
curl https://files.freeswitch.org/repo/deb/debian/freeswitch_archive_g0.pub | apt-key add -
|
||||
echo "deb http://files.freeswitch.org/repo/deb/freeswitch-1.6/ jessie main" > /etc/apt/sources.list.d/freeswitch.list
|
||||
echo "deb http://files.freeswitch.org/repo/deb/debian-unstable/ jessie main" > /etc/apt/sources.list.d/freeswitch.list
|
||||
apt-get update && apt-get upgrade
|
||||
apt-get install -y --force-yes freeswitch-video-deps-most
|
||||
|
||||
git clone https://freeswitch.org/stash/scm/fs/freeswitch.git /usr/src/freeswitch
|
||||
cd /usr/src/freeswitch
|
||||
|
||||
sed -i /usr/src/freeswitch/modules.conf -e s:'#applications/mod_avmd:applications/mod_avmd:'
|
||||
sed -i /usr/src/freeswitch/modules.conf -e s:'#applications/mod_callcenter:applications/mod_callcenter:'
|
||||
sed -i /usr/src/freeswitch/modules.conf -e s:'#applications/mod_cidlookup:applications/mod_cidlookup:'
|
||||
sed -i /usr/src/freeswitch/modules.conf -e s:'#applications/mod_memcache:applications/mod_memcache:'
|
||||
sed -i /usr/src/freeswitch/modules.conf -e s:'#applications/mod_curl:applications/mod_curl:'
|
||||
sed -i /usr/src/freeswitch/modules.conf -e s:'#formats/mod_shout:formats/mod_shout:'
|
||||
./bootstrap.sh -j
|
||||
#./configure --prefix=/usr/local/freeswitch --enable-core-pgsql-support --enable-system-lua --disable-fhs
|
||||
./configure --prefix=/usr/local/freeswitch --enable-core-pgsql-support --disable-fhs
|
||||
|
||||
#make mod_shout-install
|
||||
make
|
||||
rm -rf /usr/local/freeswitch/{lib,mod,bin}/*
|
||||
make install
|
||||
make sounds-install moh-install
|
||||
make hd-sounds-install hd-moh-install
|
||||
make cd-sounds-install cd-moh-install
|
||||
|
||||
#move the music into music/default directory
|
||||
mkdir -p /usr/local/freeswitch/sounds/music/default
|
||||
mv /usr/local/freeswitch/sounds/music/*000 /usr/local/freeswitch/sounds/music/default
|
||||
|
||||
#configure system service
|
||||
ln -s /usr/local/freeswitch/bin/fs_cli /usr/bin/fs_cli
|
||||
cp "$(dirname $0)/source/freeswitch.service" /lib/systemd/system/freeswitch.service
|
||||
6
freebsd/resources/switch/source-permissions.sh
Executable file
6
freebsd/resources/switch/source-permissions.sh
Executable file
@@ -0,0 +1,6 @@
|
||||
#setup owner and group, permissions and sticky
|
||||
chown -R www-data:www-data /usr/local/freeswitch
|
||||
chmod -R ug+rw /usr/local/freeswitch
|
||||
touch /var/log/freeswitch/freeswitch.log
|
||||
chown -R www-data:www-data /var/log/freeswitch
|
||||
find /usr/local/freeswitch -type d -exec chmod 2770 {} \;
|
||||
56
freebsd/resources/switch/source-release.sh
Executable file
56
freebsd/resources/switch/source-release.sh
Executable file
@@ -0,0 +1,56 @@
|
||||
#!/bin/sh
|
||||
|
||||
echo "Installing the FreeSWITCH source"
|
||||
DEBIAN_FRONTEND=none APT_LISTCHANGES_FRONTEND=none apt-get install -y --force-yes ntpdate libapache2-mod-log-sql-ssl libfreetype6-dev git-buildpackage doxygen yasm nasm gdb git build-essential automake autoconf 'libtool-bin|libtool' python uuid-dev zlib1g-dev 'libjpeg8-dev|libjpeg62-turbo-dev' libncurses5-dev libssl-dev libpcre3-dev libcurl4-openssl-dev libldns-dev libedit-dev libspeexdsp-dev libspeexdsp-dev libsqlite3-dev perl libgdbm-dev libdb-dev bison libvlc-dev libvlccore-dev vlc-nox pkg-config ccache libpng-dev libvpx-dev libyuv-dev libopenal-dev libbroadvoice-dev libcodec2-dev libflite-dev libg7221-dev libilbc-dev libmongoc-dev libsilk-dev libsoundtouch-dev libmagickcore-dev liblua5.2-dev libopus-dev libsndfile-dev libopencv-dev libavformat-dev libx264-dev erlang-dev libldap2-dev libmemcached-dev libperl-dev portaudio19-dev python-dev libsnmp-dev libyaml-dev libmp4v2-dev
|
||||
apt-get install -y --force-yes ntp unzip libpq-dev memcached libshout3-dev libvpx-dev libmpg123-dev libmp3lame-dev
|
||||
|
||||
apt-get update && apt-get install -y --force-yes curl haveged
|
||||
curl https://files.freeswitch.org/repo/deb/debian/freeswitch_archive_g0.pub | apt-key add -
|
||||
echo "deb http://files.freeswitch.org/repo/deb/freeswitch-1.6/ jessie main" > /etc/apt/sources.list.d/freeswitch.list
|
||||
apt-get update && apt-get upgrade
|
||||
apt-get install -y --force-yes freeswitch-video-deps-most
|
||||
|
||||
#we are about to move out of the executing directory so we need to preserve it to return after we are done
|
||||
CWD=$(pwd)
|
||||
#git clone https://freeswitch.org/stash/scm/fs/freeswitch.git /usr/src/freeswitch
|
||||
#git clone -b v1.6 https://freeswitch.org/stash/scm/fs/freeswitch.git /usr/src/freeswitch
|
||||
SWITCH_MAJOR=$(git ls-remote --heads https://freeswitch.org/stash/scm/fs/freeswitch.git "v*" | cut -d/ -f 3 | grep -P '^v\d+\.\d+' | sort | tail -n 1| cut -dv -f2)
|
||||
SWITCH_MINOR=$(git ls-remote --tags https://freeswitch.org/stash/scm/fs/freeswitch.git v$SWITCH_MAJOR.* | cut -d/ -f3 | cut -dv -f2 | cut -d. -f3 | sort -n | tail -n1)
|
||||
SWITCH_VERSION=$SWITCH_MAJOR.$SWITCH_MINOR
|
||||
echo "Using version $SWITCH_VERSION"
|
||||
cd /usr/src
|
||||
wget http://files.freeswitch.org/freeswitch-releases/freeswitch-$SWITCH_VERSION.zip
|
||||
unzip freeswitch-$SWITCH_VERSION.zip
|
||||
rm -R freeswitch
|
||||
mv freeswitch-$SWITCH_VERSION freeswitch
|
||||
cd freeswitch
|
||||
|
||||
#./bootstrap.sh -j
|
||||
sed -i /usr/src/freeswitch/modules.conf -e s:'#applications/mod_avmd:applications/mod_avmd:'
|
||||
sed -i /usr/src/freeswitch/modules.conf -e s:'#applications/mod_callcenter:applications/mod_callcenter:'
|
||||
sed -i /usr/src/freeswitch/modules.conf -e s:'#applications/mod_cidlookup:applications/mod_cidlookup:'
|
||||
sed -i /usr/src/freeswitch/modules.conf -e s:'#applications/mod_memcache:applications/mod_memcache:'
|
||||
sed -i /usr/src/freeswitch/modules.conf -e s:'#applications/mod_curl:applications/mod_curl:'
|
||||
sed -i /usr/src/freeswitch/modules.conf -e s:'#formats/mod_shout:formats/mod_shout:'
|
||||
#./configure --help
|
||||
#./configure --prefix=/usr/local/freeswitch --enable-core-pgsql-support --enable-system-lua --disable-fhs
|
||||
./configure --prefix=/usr/local/freeswitch --enable-core-pgsql-support --disable-fhs
|
||||
#make mod_shout-install
|
||||
make
|
||||
rm -rf /usr/local/freeswitch/{lib,mod,bin}/*
|
||||
make install
|
||||
make sounds-install moh-install
|
||||
make hd-sounds-install hd-moh-install
|
||||
make cd-sounds-install cd-moh-install
|
||||
|
||||
#move the music into music/default directory
|
||||
mkdir -p /usr/local/freeswitch/sounds/music/default
|
||||
mv /usr/local/freeswitch/sounds/music/*000 /usr/local/freeswitch/sounds/music/default
|
||||
|
||||
#return to the executing directory
|
||||
cd $CWD
|
||||
|
||||
#configure system service
|
||||
ln -s /usr/local/freeswitch/bin/fs_cli /usr/bin/fs_cli
|
||||
cp "$(dirname $0)/source/freeswitch.service" /lib/systemd/system/freeswitch.service
|
||||
cp "$(dirname $0)/source/etc.default.freeswitch.source /etc/default/freeswitch
|
||||
5
freebsd/resources/switch/source-systemd.sh
Executable file
5
freebsd/resources/switch/source-systemd.sh
Executable file
@@ -0,0 +1,5 @@
|
||||
cp "$(dirname $0)/source/freeswitch.service.source" /lib/systemd/system/freeswitch.service
|
||||
cp "$(dirname $0)/source/etc.default.freeswitch" /etc/default/freeswitch
|
||||
systemctl enable freeswitch
|
||||
systemctl unmask freeswitch.service
|
||||
systemctl daemon-reload
|
||||
24
freebsd/resources/switch/source-to-package.sh
Executable file
24
freebsd/resources/switch/source-to-package.sh
Executable file
@@ -0,0 +1,24 @@
|
||||
#!/bin/sh
|
||||
|
||||
#make sure the etc fusionpbx directory exists
|
||||
mkdir -p /etc/fusionpbx
|
||||
|
||||
#remove init.d startup script
|
||||
mv /etc/init.d/freeswitch /usr/src/init.d.freeswitch
|
||||
update-rc.d -f freeswitch remove
|
||||
|
||||
#add the the freeswitch package
|
||||
$(dirname $0)/package-release.sh
|
||||
|
||||
#install freeswitch systemd.d
|
||||
$(dirname $0)/package-systemd.sh
|
||||
|
||||
#update fail2ban
|
||||
sed -i /etc/fail2ban/jail.local -e s:'/usr/local/freeswitch/log:/var/log/freeswitch:'
|
||||
sytemctl restart fail2ban
|
||||
|
||||
#move source files to package directories
|
||||
rsync -avz /usr/local/freeswitch/conf/* /etc/freeswitch
|
||||
rsync -avz /usr/local/freeswitch/recordings /var/lib/freeswitch
|
||||
rsync -avz /usr/local/freeswitch/storage /var/lib/freeswitch
|
||||
rsync -avz /usr/local/freeswitch/scripts /usr/share/freeswitch
|
||||
Reference in New Issue
Block a user