forked from norman/fusionpbx-install.sh-github-mirror
installation script for OS Devuan (#95)
* adding devuan * add devaun desc to README make update and upgrade more noisy correct path for devuan in pre-install * some untested code for the source install - source installation is broken in Debian installation script and I have not debugged the problem. Focusing on the packaged version first.
This commit is contained in:
4
devuan/resources/switch/conf-copy.sh
Executable file
4
devuan/resources/switch/conf-copy.sh
Executable file
@@ -0,0 +1,4 @@
|
||||
mv /etc/freeswitch /etc/freeswitch.orig
|
||||
mkdir /etc/freeswitch
|
||||
cp -R /var/www/fusionpbx/resources/templates/conf/* /etc/freeswitch
|
||||
chown -R freeswitch:freeswitch /etc/freeswitch
|
||||
21
devuan/resources/switch/package-all.sh
Executable file
21
devuan/resources/switch/package-all.sh
Executable file
@@ -0,0 +1,21 @@
|
||||
#!/bin/sh
|
||||
|
||||
#move to script directory so all relative paths work
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
#includes
|
||||
. ../config.sh
|
||||
. ../colors.sh
|
||||
. ../environment.sh
|
||||
. ../arguments.sh
|
||||
|
||||
apt-get -q update && apt-get install -y -q ntp curl memcached haveged
|
||||
|
||||
if [ ."$cpu_architecture" = ."arm" ]; then
|
||||
echo "deb http://repo.sip247.com/debian/freeswitch-stable-armhf/ jessie main" > /etc/apt/sources.list.d/freeswitch.list
|
||||
curl http://repo.sip247.com/debian/sip247.com.gpg.key | apt-key add -
|
||||
else
|
||||
echo "deb http://files.freeswitch.org/repo/deb/freeswitch-1.6/ jessie main" > /etc/apt/sources.list.d/freeswitch.list
|
||||
curl http://files.freeswitch.org/repo/deb/freeswitch-1.6/key.gpg | apt-key add -
|
||||
fi
|
||||
apt-get -q update && apt-get install -y -q freeswitch-meta-all freeswitch-all-dbg gdb
|
||||
7
devuan/resources/switch/package-master-all.sh
Executable file
7
devuan/resources/switch/package-master-all.sh
Executable file
@@ -0,0 +1,7 @@
|
||||
#!/bin/sh
|
||||
apt-get update && apt-get install -y -q ntp curl memcached 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 install -y -q freeswitch-meta-all freeswitch-all-dbg gdb
|
||||
|
||||
25
devuan/resources/switch/package-master.sh
Executable file
25
devuan/resources/switch/package-master.sh
Executable file
@@ -0,0 +1,25 @@
|
||||
#!/bin/sh
|
||||
apt-get update && apt-get install -y -q curl memcached 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 install -y -q ntp gdb
|
||||
apt-get install -y -q freeswitch-meta-bare freeswitch-conf-vanilla freeswitch-sysvinit freeswitch-mod-commands freeswitch-meta-codecs freeswitch-mod-console freeswitch-mod-logfile freeswitch-mod-distributor
|
||||
apt-get install -y -q freeswitch-lang-en freeswitch-mod-say-en freeswitch-sounds-en-us-callie
|
||||
apt-get install -y -q freeswitch-mod-enum freeswitch-mod-cdr-csv freeswitch-mod-event-socket freeswitch-mod-sofia freeswitch-mod-sofia-dbg freeswitch-mod-loopback
|
||||
apt-get install -y -q freeswitch-mod-conference freeswitch-mod-db freeswitch-mod-dptools freeswitch-mod-expr freeswitch-mod-fifo libyuv-dev freeswitch-mod-httapi
|
||||
apt-get install -y -q freeswitch-mod-hash freeswitch-mod-esl freeswitch-mod-esf freeswitch-mod-fsv freeswitch-mod-valet-parking freeswitch-mod-dialplan-xml freeswitch-dbg
|
||||
apt-get install -y -q freeswitch-mod-sndfile freeswitch-mod-native-file freeswitch-mod-local-stream freeswitch-mod-tone-stream freeswitch-mod-lua freeswitch-meta-mod-say
|
||||
apt-get install -y -q freeswitch-mod-xml-cdr freeswitch-mod-verto freeswitch-mod-callcenter freeswitch-mod-rtc freeswitch-mod-png freeswitch-mod-json-cdr freeswitch-mod-shout
|
||||
apt-get install -y -q freeswitch-mod-skypopen freeswitch-mod-skypopen-dbg freeswitch-mod-sms freeswitch-mod-sms-dbg freeswitch-mod-cidlookup freeswitch-mod-memcache
|
||||
apt-get install -y -q freeswitch-mod-imagick freeswitch-mod-tts-commandline freeswitch-mod-directory freeswitch-mod-flite
|
||||
apt-get install -y -q freeswitch-music-default
|
||||
|
||||
#remove the music package to protect music on hold from package updates
|
||||
mkdir -p /usr/share/freeswitch/sounds/temp
|
||||
mv /usr/share/freeswitch/sounds/music/*000 /usr/share/freeswitch/sounds/temp
|
||||
apt-get remove -y -q freeswitch-music-default
|
||||
mkdir -p /usr/share/freeswitch/sounds/music/default
|
||||
mv /usr/share/freeswitch/sounds/temp/* /usr/share/freeswitch/sounds/music/default
|
||||
rm -R /usr/share/freeswitch/sounds/temp
|
||||
8
devuan/resources/switch/package-permissions.sh
Executable file
8
devuan/resources/switch/package-permissions.sh
Executable file
@@ -0,0 +1,8 @@
|
||||
#default permissions
|
||||
# Devaun packages set this up correctly
|
||||
#chown -R freeswitch:freeswitch /var/lib/freeswitch
|
||||
|
||||
# I'm not sure this is the best place to put non-packaged files - leaving it as is for now
|
||||
chown -R freeswitch:freeswitch /usr/share/freeswitch
|
||||
touch /var/log/freeswitch/freeswitch.log
|
||||
chown -R freeswitch:freeswitch /var/log/freeswitch
|
||||
41
devuan/resources/switch/package-release.sh
Executable file
41
devuan/resources/switch/package-release.sh
Executable file
@@ -0,0 +1,41 @@
|
||||
#!/bin/sh
|
||||
|
||||
#move to script directory so all relative paths work
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
#includes
|
||||
. ../config.sh
|
||||
. ../colors.sh
|
||||
. ../environment.sh
|
||||
|
||||
apt-get -qq -y install curl memcached haveged
|
||||
if [ ."$cpu_architecture" = ."arm" ]; then
|
||||
echo "deb http://repo.sip247.com/debian/freeswitch-stable-armhf/ jessie main" > /etc/apt/sources.list.d/freeswitch.list
|
||||
curl http://repo.sip247.com/debian/sip247.com.gpg.key | apt-key add -
|
||||
apt-get -q update
|
||||
else
|
||||
echo "deb http://files.freeswitch.org/repo/deb/freeswitch-1.6/ jessie main" > /etc/apt/sources.list.d/freeswitch.list
|
||||
curl http://files.freeswitch.org/repo/deb/freeswitch-1.6/key.gpg | apt-key add -
|
||||
apt-get -q update
|
||||
fi
|
||||
|
||||
apt-get -qq -y install gdb ntp
|
||||
apt-get -qq -y install freeswitch-meta-bare freeswitch-conf-vanilla freeswitch-sysvinit freeswitch-mod-commands freeswitch-meta-codecs freeswitch-mod-console freeswitch-mod-logfile freeswitch-mod-distributor
|
||||
apt-get -qq -y install freeswitch-lang-en freeswitch-mod-say-en freeswitch-sounds-en-us-callie
|
||||
apt-get -qq -y install freeswitch-mod-enum freeswitch-mod-cdr-csv freeswitch-mod-event-socket freeswitch-mod-sofia freeswitch-mod-sofia-dbg freeswitch-mod-loopback
|
||||
apt-get -qq -y install freeswitch-mod-conference freeswitch-mod-db freeswitch-mod-dptools freeswitch-mod-expr freeswitch-mod-fifo libyuv-dev freeswitch-mod-httapi
|
||||
apt-get -qq -y install freeswitch-mod-hash freeswitch-mod-esl freeswitch-mod-esf freeswitch-mod-fsv freeswitch-mod-valet-parking freeswitch-mod-dialplan-xml freeswitch-dbg
|
||||
apt-get -qq -y install freeswitch-mod-sndfile freeswitch-mod-native-file freeswitch-mod-local-stream freeswitch-mod-tone-stream freeswitch-mod-lua freeswitch-meta-mod-say
|
||||
apt-get -qq -y install freeswitch-mod-xml-cdr freeswitch-mod-verto freeswitch-mod-callcenter freeswitch-mod-rtc freeswitch-mod-png freeswitch-mod-json-cdr freeswitch-mod-shout
|
||||
apt-get -qq -y install freeswitch-mod-skypopen freeswitch-mod-skypopen-dbg freeswitch-mod-sms freeswitch-mod-sms-dbg freeswitch-mod-cidlookup freeswitch-mod-memcache
|
||||
apt-get -qq -y install freeswitch-mod-imagick freeswitch-mod-tts-commandline freeswitch-mod-directory freeswitch-mod-flite
|
||||
apt-get -qq -y install freeswitch-music-default
|
||||
apt-get remove -q -y freeswitch-systemd
|
||||
|
||||
#remove the music package to protect music on hold from package updates
|
||||
mkdir -p /usr/share/freeswitch/sounds/temp
|
||||
mv /usr/share/freeswitch/sounds/music/*000 /usr/share/freeswitch/sounds/temp
|
||||
apt-get remove -y freeswitch-music-default
|
||||
mkdir -p /usr/share/freeswitch/sounds/music/default
|
||||
mv /usr/share/freeswitch/sounds/temp/* /usr/share/freeswitch/sounds/music/default
|
||||
rm -R /usr/share/freeswitch/sounds/temp
|
||||
6
devuan/resources/switch/package-sysvinit.sh
Executable file
6
devuan/resources/switch/package-sysvinit.sh
Executable file
@@ -0,0 +1,6 @@
|
||||
update-rc.d freeswitch enable
|
||||
#
|
||||
# If freeswitch is not restarted with the new config before finish.sh is run,
|
||||
# upgrade_domains.php will not set the paths correctly on the default domain
|
||||
#
|
||||
service freeswitch restart
|
||||
40
devuan/resources/switch/source-master.sh
Executable file
40
devuan/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 -q 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 -q unzip libpq-dev memcached libshout3-dev libvpx-dev libmpg123-dev libmp3lame-dev
|
||||
|
||||
apt-get update && apt-get install -y -q 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 -q 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
devuan/resources/switch/source-permissions.sh
Executable file
6
devuan/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 {} \;
|
||||
66
devuan/resources/switch/source-release.sh
Executable file
66
devuan/resources/switch/source-release.sh
Executable file
@@ -0,0 +1,66 @@
|
||||
#!/bin/sh
|
||||
|
||||
echo "Installing the FreeSWITCH source"
|
||||
DEBIAN_FRONTEND=none APT_LISTCHANGES_FRONTEND=none apt-get install -y -q 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 -q ntp unzip libpq-dev memcached libshout3-dev libvpx-dev libmpg123-dev libmp3lame-dev
|
||||
|
||||
# E: Unable to locate package libyuv-dev
|
||||
# E: Unable to locate package libbroadvoice-dev
|
||||
# E: Unable to locate package libcodec2-dev
|
||||
# E: Unable to locate package libflite-dev
|
||||
# E: Unable to locate package libg7221-dev
|
||||
# E: Unable to locate package libilbc-dev
|
||||
# E: Unable to locate package libmongoc-dev
|
||||
# E: Unable to locate package libsilk-dev
|
||||
|
||||
apt-get update && apt-get install -y -q 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 -q update && apt-get upgrade -y -q
|
||||
apt-get install -y -q 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.init" /etc/init.d/freeswitch
|
||||
chmod a+x /etc/init.d/freeswitch
|
||||
cp "$(dirname $0)/source/etc.default.freeswitch /etc/default/freeswitch
|
||||
6
devuan/resources/switch/source-sysvinit.sh
Normal file
6
devuan/resources/switch/source-sysvinit.sh
Normal file
@@ -0,0 +1,6 @@
|
||||
cp "$(dirname $0)/source/freeswitch.init" /etc/init.d/freeswitch
|
||||
cp "$(dirname $0)/source/etc.default.freeswitch" /etc/default/freeswitch
|
||||
update-rc.d freeswitch enable
|
||||
service freeswitch restart
|
||||
|
||||
echo "Please configure the sysvinit start up script from the source dir, test, and contribute code. Thank you."
|
||||
24
devuan/resources/switch/source-to-package.sh
Executable file
24
devuan/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:'
|
||||
service fail2ban restart
|
||||
|
||||
#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
|
||||
8
devuan/resources/switch/source/etc.default.freeswitch
Executable file
8
devuan/resources/switch/source/etc.default.freeswitch
Executable file
@@ -0,0 +1,8 @@
|
||||
# /etc/default/freeswitch
|
||||
FS_USER="www-data"
|
||||
FS_GROUP="www-data"
|
||||
DAEMON_OPTS="-nonat -ncwait -u www-data -g www-data -run /var/run/freeswitch"
|
||||
|
||||
# this is the packaged version. But since the source install does not work. I've not tested any of this.
|
||||
# /etc/default/freeswitch
|
||||
#DAEMON_OPTS="-nonat"
|
||||
133
devuan/resources/switch/source/freeswitch.init
Normal file
133
devuan/resources/switch/source/freeswitch.init
Normal file
@@ -0,0 +1,133 @@
|
||||
#!/bin/sh
|
||||
### -*- mode:shell-script; indent-tabs-mode:nil; sh-basic-offset:2 -*-
|
||||
### BEGIN INIT INFO
|
||||
# Provides: freeswitch
|
||||
# Required-Start: $network $remote_fs $local_fs
|
||||
# Required-Stop: $network $remote_fs $local_fs
|
||||
# Should-Start: postgresql mysql memcached mongodb
|
||||
# Should-Stop: postgresql mysql memcached mongodb
|
||||
# Default-Start: 2 3 4 5
|
||||
# Default-Stop: 0 1 6
|
||||
# Short-Description: FreeSWITCH Softswitch
|
||||
# Description: FreeSWITCH Softswitch
|
||||
### END INIT INFO
|
||||
|
||||
# Author: Travis Cross <tc@traviscross.com>
|
||||
|
||||
PATH=/sbin:/usr/sbin:/bin:/usr/bin
|
||||
DESC=freeswitch
|
||||
NAME=freeswitch
|
||||
DAEMON=/usr/bin/freeswitch
|
||||
USER=freeswitch
|
||||
DAEMON_ARGS="-u $USER -ncwait"
|
||||
CONFDIR=/etc/$NAME
|
||||
RUNDIR=/var/run/$NAME
|
||||
PIDFILE=$RUNDIR/$NAME.pid
|
||||
SCRIPTNAME=/etc/init.d/$NAME
|
||||
WORKDIR=/var/log/$NAME
|
||||
|
||||
[ -x $DAEMON ] || exit 0
|
||||
[ -r /etc/default/$NAME ] && . /etc/default/$NAME
|
||||
. /lib/init/vars.sh
|
||||
. /lib/lsb/init-functions
|
||||
|
||||
do_start() {
|
||||
if ! [ -f $CONFDIR/freeswitch.xml ]; then
|
||||
echo "$NAME is not configured so not starting.">&2
|
||||
echo "Please add configuration under /etc/freeswitch">&2
|
||||
echo "e.g. Install freeswitch-conf-vanilla, then:">&2
|
||||
echo "cp -a /usr/share/freeswitch/conf/vanilla /etc/freeswitch">&2
|
||||
return 3
|
||||
fi
|
||||
|
||||
# Directory in /var/run may disappear on reboot (e.g. when tmpfs used for /var/run).
|
||||
mkdir -p $RUNDIR
|
||||
chown -R $USER: $RUNDIR
|
||||
chmod -R ug=rwX,o= $RUNDIR
|
||||
|
||||
start-stop-daemon --start --quiet \
|
||||
--pidfile $PIDFILE --exec $DAEMON --name $NAME --user $USER \
|
||||
--test > /dev/null \
|
||||
|| return 1
|
||||
ulimit -s 240
|
||||
start-stop-daemon --start --quiet \
|
||||
--pidfile $PIDFILE --exec $DAEMON --name $NAME --user $USER \
|
||||
--chdir $WORKDIR -- $DAEMON_ARGS $DAEMON_OPTS \
|
||||
|| return 2
|
||||
return 0
|
||||
}
|
||||
|
||||
stop_fs() {
|
||||
start-stop-daemon --stop --quiet \
|
||||
--pidfile $PIDFILE --name $NAME --user $USER \
|
||||
--retry=TERM/30/KILL/5
|
||||
}
|
||||
|
||||
stop_fs_children() {
|
||||
start-stop-daemon --stop --quiet \
|
||||
--exec $DAEMON \
|
||||
--oknodo --retry=0/30/KILL/5
|
||||
}
|
||||
|
||||
do_stop() {
|
||||
stop_fs
|
||||
RETVAL="$?"
|
||||
[ "$RETVAL" -eq 2 ] && return 2
|
||||
stop_fs_children
|
||||
[ "$?" -eq 2 ] && return 2
|
||||
rm -f $PIDFILE
|
||||
return "$RETVAL"
|
||||
}
|
||||
|
||||
do_reload() {
|
||||
start-stop-daemon --stop --quiet \
|
||||
--pidfile $PIDFILE --name $NAME --user $USER \
|
||||
--signal HUP
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC " "$NAME"
|
||||
do_start
|
||||
case "$?" in
|
||||
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
|
||||
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
|
||||
esac
|
||||
;;
|
||||
stop)
|
||||
[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
|
||||
do_stop
|
||||
case "$?" in
|
||||
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
|
||||
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
|
||||
esac
|
||||
;;
|
||||
status)
|
||||
status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
|
||||
;;
|
||||
reload|force-reload)
|
||||
log_daemon_msg "Reloading $DESC" "$NAME"
|
||||
do_reload
|
||||
log_end_msg $?
|
||||
;;
|
||||
restart)
|
||||
log_daemon_msg "Restarting $DESC" "$NAME"
|
||||
do_stop
|
||||
case "$?" in
|
||||
0|1)
|
||||
do_start
|
||||
case "$?" in
|
||||
0) log_end_msg 0 ;;
|
||||
1|*) log_end_msg 1 ;;
|
||||
esac
|
||||
;;
|
||||
*) log_end_msg 1 ;;
|
||||
esac
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
|
||||
exit 3
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
Reference in New Issue
Block a user