Add a shell install script.
This commit is contained in:
parent
322c7c6d38
commit
5988b7ed7d
|
|
@ -0,0 +1,43 @@
|
|||
#!/bin/sh
|
||||
|
||||
#Update Debian
|
||||
echo "Update Debian"
|
||||
apt-get upgrade && apt-get update -y --force-yes
|
||||
|
||||
#IPTables
|
||||
resources/./iptables.sh
|
||||
|
||||
#FusionPBX
|
||||
resources/./fusionpbx.sh
|
||||
|
||||
#NGINX web server
|
||||
resources/./nginx.sh
|
||||
|
||||
#Fail2ban
|
||||
resources/./fail2ban.sh
|
||||
|
||||
#FreeSWITCH
|
||||
resources/switch/./package-release.sh
|
||||
#resources/switch/./package-master.sh
|
||||
#resources/switch/./source-release.sh
|
||||
|
||||
#Postgres
|
||||
resources/./postgres.sh
|
||||
|
||||
#set the ip address
|
||||
server_address=$(hostname -I)
|
||||
|
||||
#restart services
|
||||
/bin/systemctl daemon-reload
|
||||
/bin/systemctl restart nginx
|
||||
/bin/systemctl restart fail2ban
|
||||
#/usr/sbin/service nginx restart
|
||||
#/usr/sbin/service fail2ban restart
|
||||
|
||||
#Show database password
|
||||
echo "Complete the install by going to:"
|
||||
echo " https://$server_address"
|
||||
echo ""
|
||||
echo ""
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
#!/bin/sh
|
||||
|
||||
#send a message
|
||||
echo "Install Fail2ban"
|
||||
|
||||
#add the dependencies
|
||||
apt-get install -y --force-yes fail2ban
|
||||
|
||||
#move the filters
|
||||
cp resources/fail2ban/fusionpbx.conf /etc/fail2ban/filter.d/fusionpbx.conf
|
||||
cp resources/fail2ban/freeswitch-dos.conf /etc/fail2ban/filter.d/freeswitch-dos.conf
|
||||
cp resources/fail2ban/freeswitch.conf /etc/fail2ban/filter.d/freeswitch.conf
|
||||
|
||||
#move the template
|
||||
cp resources/fail2ban/jail.package /etc/fail2ban/jail.package
|
||||
cp resources/fail2ban/jail.source /etc/fail2ban/jail.source
|
||||
|
||||
#active the filters
|
||||
cp resources/fail2ban/jail.package /etc/fail2ban/jail.local
|
||||
|
||||
#restart fail2ban
|
||||
#systemd
|
||||
/bin/systemctl restart fail2ban
|
||||
|
||||
#init.d
|
||||
#/usr/sbin/service fail2ban restart
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
# Fail2Ban configuration file
|
||||
#
|
||||
# Author: soapee01
|
||||
#
|
||||
|
||||
[Definition]
|
||||
|
||||
# Option: failregex
|
||||
# Notes.: regex to match the password failures messages in the logfile. The
|
||||
# host must be matched by a group named "host". The tag "<HOST>" can
|
||||
# be used for standard IP/hostname matching and is only an alias for
|
||||
# (?:::f{4,6}:)?(?P<host>[\w\-.^_]+)
|
||||
# Values: TEXT
|
||||
#
|
||||
failregex = \[WARNING\] sofia_reg.c:\d+ SIP auth challenge \(REGISTER\) on sofia profile \'\w+\' for \[.*\] from ip <HOST>
|
||||
|
||||
# Option: ignoreregex
|
||||
# Notes.: regex to ignore. If this regex matches, the line is ignored.
|
||||
# Values: TEXT
|
||||
#
|
||||
ignoreregex =
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
[Definition]
|
||||
|
||||
# Option: failregex
|
||||
# Notes.: regex to match the password failures messages in the logfile. The
|
||||
# host must be matched by a group named "host". The tag "<HOST>" can
|
||||
# be used for standard IP/hostname matching and is only an alias for
|
||||
# (?:::f{4,6}:)?(?P<host>[\w\-.^_]+)
|
||||
# Values: TEXT
|
||||
#
|
||||
failregex = \[WARNING\] sofia_reg.c:\d+ SIP auth failure \(REGISTER\) on sofia profile \'\w+\' for \[.*\] from ip <HOST>
|
||||
\[WARNING\] sofia_reg.c:\d+ SIP auth failure \(INVITE\) on sofia profile \'\w+\' for \[.*\] from ip <HOST>
|
||||
|
||||
# Option: ignoreregex
|
||||
# Notes.: regex to ignore. If this regex matches, the line is ignored.
|
||||
# Values: TEXT
|
||||
#
|
||||
ignoreregex =
|
||||
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
# Fail2Ban configuration file
|
||||
#
|
||||
# Author: soapee01
|
||||
#
|
||||
|
||||
[Definition]
|
||||
|
||||
# Option: failregex
|
||||
# Notes.: regex to match the password failures messages in the logfile. The
|
||||
# host must be matched by a group named "host". The tag "<HOST>" can
|
||||
# be used for standard IP/hostname matching and is only an alias for
|
||||
# (?:::f{4,6}:)?(?P<host>[\w\-.^_]+)
|
||||
# Values: TEXT
|
||||
#
|
||||
#failregex = [hostname] FusionPBX: \[<HOST>\] authentication failed
|
||||
#[hostname] variable doesn't seem to work in every case. Do this instead:
|
||||
failregex = .* FusionPBX: \[<HOST>\] authentication failed for
|
||||
= .* FusionPBX: \[<HOST>\] provision attempt bad password for
|
||||
|
||||
# Option: ignoreregex
|
||||
# Notes.: regex to ignore. If this regex matches, the line is ignored.
|
||||
# Values: TEXT
|
||||
#
|
||||
ignoreregex =
|
||||
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
[freeswitch-tcp]
|
||||
enabled = true
|
||||
port = 5060,5061,5080,5081,5070
|
||||
protocol = tcp
|
||||
filter = freeswitch
|
||||
logpath = /var/log/freeswitch/freeswitch.log
|
||||
action = iptables-allports[name=freeswitch-tcp, protocol=all]
|
||||
maxretry = 5
|
||||
findtime = 600
|
||||
bantime = 600
|
||||
# sendmail-whois[name=FreeSwitch, dest=root, sender=fail2ban@example.org] #no smtp server installed
|
||||
|
||||
[freeswitch-udp]
|
||||
enabled = true
|
||||
port = 5060,5061,5080,5081,5070
|
||||
protocol = udp
|
||||
filter = freeswitch
|
||||
logpath = /var/log/freeswitch/freeswitch.log
|
||||
action = iptables-allports[name=freeswitch-udp, protocol=all]
|
||||
maxretry = 5
|
||||
findtime = 600
|
||||
bantime = 600
|
||||
# sendmail-whois[name=FreeSwitch, dest=root, sender=fail2ban@example.org] #no smtp server installed
|
||||
|
||||
[freeswitch-dos]
|
||||
enabled = true
|
||||
port = 5060,5061,5080,5081,5070
|
||||
protocol = udp
|
||||
filter = freeswitch-dos
|
||||
logpath = /var/log/freeswitch/freeswitch.log
|
||||
action = iptables-allports[name=freeswitch-dos, protocol=all]
|
||||
maxretry = 50
|
||||
findtime = 30
|
||||
bantime = 6000
|
||||
|
||||
[fusionpbx]
|
||||
enabled = true
|
||||
port = 80,443
|
||||
protocol = tcp
|
||||
filter = fusionpbx
|
||||
logpath = /var/log/auth.log
|
||||
action = iptables-allports[name=fusionpbx, protocol=all]
|
||||
# sendmail-whois[name=fusionpbx, dest=root, sender=fail2ban@example.org] #no smtp server installed
|
||||
maxretry = 5
|
||||
findtime = 600
|
||||
bantime = 600
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
[freeswitch-tcp]
|
||||
enabled = true
|
||||
port = 5060,5061,5080,5081,5070
|
||||
protocol = tcp
|
||||
filter = freeswitch
|
||||
logpath = /usr/local/freeswitch/log/freeswitch.log
|
||||
action = iptables-allports[name=freeswitch-tcp, protocol=all]
|
||||
maxretry = 5
|
||||
findtime = 600
|
||||
bantime = 600
|
||||
# sendmail-whois[name=FreeSwitch, dest=root, sender=fail2ban@example.org] #no smtp server installed
|
||||
|
||||
[freeswitch-udp]
|
||||
enabled = true
|
||||
port = 5060,5061,5080,5081,5070
|
||||
protocol = udp
|
||||
filter = freeswitch
|
||||
logpath = /usr/local/freeswitch/log/freeswitch.log
|
||||
action = iptables-allports[name=freeswitch-udp, protocol=all]
|
||||
maxretry = 5
|
||||
findtime = 600
|
||||
bantime = 600
|
||||
# sendmail-whois[name=FreeSwitch, dest=root, sender=fail2ban@example.org] #no smtp server installed
|
||||
|
||||
[freeswitch-dos]
|
||||
enabled = true
|
||||
port = 5060,5061,5080,5081,5070
|
||||
protocol = udp
|
||||
filter = freeswitch-dos
|
||||
logpath = /usr/local/freeswitch/log/freeswitch.log
|
||||
action = iptables-allports[name=freeswitch-dos, protocol=all]
|
||||
maxretry = 50
|
||||
findtime = 30
|
||||
bantime = 6000
|
||||
|
||||
[fusionpbx]
|
||||
enabled = true
|
||||
port = 80,443
|
||||
protocol = tcp
|
||||
filter = fusionpbx
|
||||
logpath = /var/log/auth.log
|
||||
action = iptables-allports[name=fusionpbx, protocol=all]
|
||||
# sendmail-whois[name=fusionpbx, dest=root, sender=fail2ban@example.org] #no smtp server installed
|
||||
maxretry = 5
|
||||
findtime = 600
|
||||
bantime = 600
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
#!/bin/sh
|
||||
|
||||
#send a message
|
||||
echo "Install FusionPBX"
|
||||
|
||||
#install dependencies
|
||||
apt-get install -y --force-yes vim git dbus haveged
|
||||
apt-get install -y --force-yes ghostscript libtiff5-dev libtiff-tools
|
||||
|
||||
#get the source code
|
||||
git clone https://github.com/fusionpbx/fusionpbx.git /var/www/fusionpbx
|
||||
chown -R www-data:www-data /var/www/fusionpbx
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
#!/bin/sh
|
||||
|
||||
#send a message
|
||||
echo "Configure IPTables"
|
||||
|
||||
#run iptables commands
|
||||
iptables -A INPUT -i lo -j ACCEPT
|
||||
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
|
||||
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
|
||||
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
|
||||
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
|
||||
iptables -A INPUT -p tcp --dport 5060 -j ACCEPT
|
||||
iptables -A INPUT -p udp --dport 5060 -j ACCEPT
|
||||
iptables -A INPUT -p tcp --dport 5080 -j ACCEPT
|
||||
iptables -A INPUT -p udp --dport 5080 -j ACCEPT
|
||||
iptables -A INPUT -p udp --dport 16384:32768 -j ACCEPT
|
||||
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
|
||||
iptables -A INPUT -p udp --dport 1194 -j ACCEPT
|
||||
iptables -P INPUT DROP
|
||||
iptables -P FORWARD DROP
|
||||
iptables -P OUTPUT ACCEPT
|
||||
|
||||
#answer the questions for iptables persistent
|
||||
echo iptables-persistent iptables-persistent/autosave_v4 boolean true | debconf-set-selections
|
||||
echo iptables-persistent iptables-persistent/autosave_v6 boolean true | debconf-set-selections
|
||||
apt-get install -y --force-yes iptables-persistent
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
#!/bin/sh
|
||||
|
||||
#send a message
|
||||
echo "Install the web server\n"
|
||||
|
||||
#install dependencies
|
||||
apt-get install -y --force-yes nginx php5 php5-cli php5-fpm php5-pgsql php5-sqlite php5-odbc php5-curl php5-imap php5-mcrypt
|
||||
|
||||
#enable fusionpbx nginx config
|
||||
cp resources/nginx/fusionpbx /etc/nginx/sites-available/fusionpbx
|
||||
ln -s /etc/nginx/sites-available/fusionpbx /etc/nginx/sites-enabled/fusionpbx
|
||||
|
||||
#self signed certificate
|
||||
ln -s /etc/ssl/private/ssl-cert-snakeoil.key /etc/ssl/private/nginx.key
|
||||
ln -s /etc/ssl/certs/ssl-cert-snakeoil.pem /etc/ssl/certs/nginx.crt
|
||||
|
||||
#remove the default site
|
||||
rm /etc/nginx/sites-enabled/default
|
||||
|
|
@ -0,0 +1,180 @@
|
|||
|
||||
server{
|
||||
listen 127.0.0.1:80;
|
||||
server_name 127.0.0.1;
|
||||
access_log /var/log/nginx/access.log;
|
||||
error_log /var/log/nginx/error.log;
|
||||
|
||||
client_max_body_size 10M;
|
||||
client_body_buffer_size 128k;
|
||||
|
||||
location / {
|
||||
root /var/www/fusionpbx;
|
||||
index index.php;
|
||||
}
|
||||
|
||||
location ~ \.php$ {
|
||||
fastcgi_pass unix:/var/run/php5-fpm.sock;
|
||||
#fastcgi_pass 127.0.0.1:9000;
|
||||
fastcgi_index index.php;
|
||||
include fastcgi_params;
|
||||
fastcgi_param SCRIPT_FILENAME /var/www/fusionpbx$fastcgi_script_name;
|
||||
}
|
||||
|
||||
# Disable viewing .htaccess & .htpassword & .db
|
||||
location ~ .htaccess {
|
||||
deny all;
|
||||
}
|
||||
location ~ .htpassword {
|
||||
deny all;
|
||||
}
|
||||
location ~^.+.(db)$ {
|
||||
deny all;
|
||||
}
|
||||
}
|
||||
|
||||
server {
|
||||
listen 80;
|
||||
server_name fusionpbx;
|
||||
if ($uri !~* ^.*provision.*$) {
|
||||
rewrite ^(.*) https://$host$1 permanent;
|
||||
break;
|
||||
}
|
||||
|
||||
#REST api
|
||||
if ($uri ~* ^.*/api/.*$) {
|
||||
rewrite ^(.*)/api/(.*)$ $1/api/index.php?rewrite_uri=$2 last;
|
||||
break;
|
||||
}
|
||||
|
||||
#mitel
|
||||
rewrite "^.*/provision/MN_([A-Fa-f0-9]{12})\.cfg" /app/provision/index.php?mac=$1&file=MN_%7b%24mac%7d.cfg last;
|
||||
rewrite "^.*/provision/MN_Generic.cfg" /app/provision/index.php?mac=08000f000000&file=MN_Generic.cfg last;
|
||||
|
||||
#grandstream
|
||||
rewrite "^.*/provision/cfg([A-Fa-f0-9]{12})(\.(xml|cfg))?$" /app/provision/?mac=$1;
|
||||
|
||||
#aastra
|
||||
#rewrite "^.*/provision/([A-Fa-f0-9]{12})(\.(cfg))?$" /app/provision/?mac=$1 last;
|
||||
|
||||
#yealink common
|
||||
rewrite "^.*/provision/(y[0-9]{12})(\.cfg)?$" /app/provision/index.php?file=$1;
|
||||
|
||||
#yealink mac
|
||||
rewrite "^.*/provision/([A-Fa-f0-9]{12})(\.(xml|cfg))?$" /app/provision/index.php?mac=$1 last;
|
||||
|
||||
#polycom
|
||||
rewrite "^.*/provision/000000000000.cfg$" "/app/provison/?mac=$1&file={%24mac}.cfg";
|
||||
#rewrite "^.*/provision/sip_330(\.(ld))$" /includes/firmware/sip_330.$2;
|
||||
rewrite "^.*/provision/features.cfg$" /app/provision/?mac=$1&file=features.cfg;
|
||||
rewrite "^.*/provision/([A-Fa-f0-9]{12})-sip.cfg$" /app/provision/?mac=$1&file=sip.cfg;
|
||||
rewrite "^.*/provision/([A-Fa-f0-9]{12})-phone.cfg$" /app/provision/?mac=$1;
|
||||
rewrite "^.*/provision/([A-Fa-f0-9]{12})-registration.cfg$" "/app/provision/?mac=$1&file={%24mac}-registration.cfg";
|
||||
rewrite "^.*/provision/([A-Fa-f0-9]{12})-directory.xml$" "/app/provision/?mac=$1&file={%24mac}-directory.xml";
|
||||
|
||||
#cisco
|
||||
rewrite "^.*/provision/file/(.*\.(xml|cfg))" /app/provision/?file=$1 last;
|
||||
|
||||
access_log /var/log/nginx/access.log;
|
||||
error_log /var/log/nginx/error.log;
|
||||
|
||||
client_max_body_size 10M;
|
||||
client_body_buffer_size 128k;
|
||||
|
||||
location / {
|
||||
root /var/www/fusionpbx;
|
||||
index index.php;
|
||||
}
|
||||
|
||||
location ~ \.php$ {
|
||||
fastcgi_pass unix:/var/run/php5-fpm.sock;
|
||||
#fastcgi_pass 127.0.0.1:9000;
|
||||
fastcgi_index index.php;
|
||||
include fastcgi_params;
|
||||
fastcgi_param SCRIPT_FILENAME /var/www/fusionpbx$fastcgi_script_name;
|
||||
}
|
||||
|
||||
# Disable viewing .htaccess & .htpassword & .db
|
||||
location ~ .htaccess {
|
||||
deny all;
|
||||
}
|
||||
location ~ .htpassword {
|
||||
deny all;
|
||||
}
|
||||
location ~^.+.(db)$ {
|
||||
deny all;
|
||||
}
|
||||
}
|
||||
|
||||
server {
|
||||
listen 443;
|
||||
server_name fusionpbx;
|
||||
ssl on;
|
||||
ssl_certificate /etc/ssl/certs/nginx.crt;
|
||||
ssl_certificate_key /etc/ssl/private/nginx.key;
|
||||
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
|
||||
ssl_ciphers HIGH:!ADH:!MD5;
|
||||
|
||||
#REST api
|
||||
if ($uri ~* ^.*/api/.*$) {
|
||||
rewrite ^(.*)/api/(.*)$ $1/api/index.php?rewrite_uri=$2 last;
|
||||
break;
|
||||
}
|
||||
|
||||
#mitel
|
||||
rewrite "^.*/provision/MN_([A-Fa-f0-9]{12})\.cfg" /app/provision/index.php?mac=$1&file=MN_%7b%24mac%7d.cfg last;
|
||||
rewrite "^.*/provision/MN_Generic.cfg" /app/provision/index.php?mac=08000f000000&file=MN_Generic.cfg last;
|
||||
|
||||
#grandstriam
|
||||
rewrite "^.*/provision/cfg([A-Fa-f0-9]{12})(\.(xml|cfg))?$" /app/provision/?mac=$1;
|
||||
|
||||
#aastra
|
||||
#rewrite "^.*/provision/([A-Fa-f0-9]{12})(\.(cfg))?$" /app/provision/?mac=$1 last;
|
||||
|
||||
#yealink common
|
||||
rewrite "^.*/provision/(y[0-9]{12})(\.cfg)?$" /app/provision/index.php?file=$1;
|
||||
|
||||
#yealink mac
|
||||
rewrite "^.*/provision/([A-Fa-f0-9]{12})(\.(xml|cfg))?$" /app/provision/index.php?mac=$1 last;
|
||||
|
||||
#polycom
|
||||
rewrite "^.*/provision/000000000000.cfg$" "/app/provison/?mac=$1&file={%24mac}.cfg";
|
||||
#rewrite "^.*/provision/sip_330(\.(ld))$" /includes/firmware/sip_330.$2;
|
||||
rewrite "^.*/provision/features.cfg$" /app/provision/?mac=$1&file=features.cfg;
|
||||
rewrite "^.*/provision/([A-Fa-f0-9]{12})-sip.cfg$" /app/provision/?mac=$1&file=sip.cfg;
|
||||
rewrite "^.*/provision/([A-Fa-f0-9]{12})-phone.cfg$" /app/provision/?mac=$1;
|
||||
rewrite "^.*/provision/([A-Fa-f0-9]{12})-registration.cfg$" "/app/provision/?mac=$1&file={%24mac}-registration.cfg";
|
||||
|
||||
#cisco
|
||||
rewrite "^.*/provision/file/(.*\.(xml|cfg))" /app/provision/?file=$1 last;
|
||||
|
||||
access_log /var/log/nginx/access.log;
|
||||
error_log /var/log/nginx/error.log;
|
||||
|
||||
client_max_body_size 10M;
|
||||
client_body_buffer_size 128k;
|
||||
|
||||
location / {
|
||||
root /var/www/fusionpbx;
|
||||
index index.php;
|
||||
}
|
||||
|
||||
location ~ \.php$ {
|
||||
fastcgi_pass unix:/var/run/php5-fpm.sock;
|
||||
#fastcgi_pass 127.0.0.1:9000;
|
||||
fastcgi_index index.php;
|
||||
include fastcgi_params;
|
||||
fastcgi_param SCRIPT_FILENAME /var/www/fusionpbx$fastcgi_script_name;
|
||||
}
|
||||
|
||||
# Disable viewing .htaccess & .htpassword & .db
|
||||
location ~ .htaccess {
|
||||
deny all;
|
||||
}
|
||||
location ~ .htpassword {
|
||||
deny all;
|
||||
}
|
||||
location ~^.+.(db)$ {
|
||||
deny all;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
#!/bin/sh
|
||||
|
||||
#send a message
|
||||
echo "Install PostgreSQL"
|
||||
|
||||
#generate a random password
|
||||
password=$(dd if=/dev/urandom bs=1 count=20 2>/dev/null | base64)
|
||||
|
||||
#Postgres
|
||||
echo "Install PostgreSQL and create the database and users\n"
|
||||
apt-get install -y --force-yes sudo postgresql
|
||||
|
||||
#systemd
|
||||
/bin/systemctl restart postgresql
|
||||
|
||||
#init.d
|
||||
#/usr/sbin/service postgresql restart
|
||||
|
||||
#add the databases, users and grant permissions to them
|
||||
sudo -u postgres psql -c "CREATE DATABASE fusionpbx";
|
||||
sudo -u postgres psql -c "CREATE DATABASE freeswitch";
|
||||
sudo -u postgres psql -c "CREATE ROLE fusionpbx WITH SUPERUSER LOGIN PASSWORD '$password';"
|
||||
sudo -u postgres psql -c "CREATE ROLE freeswitch WITH SUPERUSER LOGIN PASSWORD '$password';"
|
||||
sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE fusionpbx to fusionpbx;"
|
||||
sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE freeswitch to fusionpbx;"
|
||||
sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE freeswitch to freeswitch;"
|
||||
#ALTER USER fusionpbx WITH PASSWORD 'newpassword';
|
||||
|
||||
#set the ip address
|
||||
server_address=$(hostname -I)
|
||||
|
||||
#Show database password
|
||||
echo ""
|
||||
echo ""
|
||||
echo "PostgreSQL"
|
||||
echo " Database name: fusionpbx"
|
||||
echo " Database username: fusionpbx"
|
||||
echo " Database password: $password"
|
||||
echo ""
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
#!/bin/sh
|
||||
apt-get update && apt-get install -y --force-yes 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 --force-yes freeswitch-all freeswitch-all-dbg gdb
|
||||
#apt-get remove freeswitch-all freeswitch-all-dbg
|
||||
#rm /etc/apt/sources.list.d/freeswitch.list
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
#!/bin/sh
|
||||
apt-get update && apt-get install -y --force-yes 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
|
||||
apt-get update && apt-get install -y --force-yes freeswitch-all freeswitch-all-dbg gdb
|
||||
#apt-get remove freeswitch-all freeswitch-all-dbg
|
||||
#rm /etc/apt/sources.list.d/freeswitch.list
|
||||
|
||||
#set the file permissions
|
||||
#chown -R freeswitch:freeswitch /var/lib/freeswitch
|
||||
chmod -R g+s /var/lib/freeswitch
|
||||
setfacl -R -m u:www-data:rwx,g:www-data:rwx /var/lib/freeswitch
|
||||
|
||||
#chown -R freeswitch:freeswitch /usr/share/freeswitch
|
||||
chmod -R g+s /usr/share/freeswitch
|
||||
setfacl -R -m u:www-data:rwx,g:www-data:rwx /usr/share/freeswitch
|
||||
|
||||
#chown -R freeswitch:freeswitch /etc/freeswitch
|
||||
chmod -R g+s /etc/freeswitch
|
||||
setfacl -R -m u:www-data:rwx,g:www-data:rwx /etc/freeswitch
|
||||
|
||||
#chown -R freeswitch:freeswitch /etc/freeswitch
|
||||
setfacl -R -m u:www-data:rwx,g:www-data:rwx /var/log/freeswitch
|
||||
|
||||
#chown -R freeswitch:freeswitch /usr/share/freeswitch/sounds
|
||||
chmod -R g+s /usr/share/freeswitch/sounds
|
||||
setfacl -R -m u:www-data:rwx,g:www-data:rwx /usr/share/freeswitch/sounds
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
#!/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 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
|
||||
|
||||
#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
|
||||
cd /usr/src && wget http://files.freeswitch.org/freeswitch-releases/freeswitch-1.6.7.zip
|
||||
unzip freeswitch-1.6.7.zip
|
||||
rm -R freeswitch
|
||||
cp -R freeswitch-1.6.7 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
|
||||
chown -R www-data:www-data /usr/local/freeswitch
|
||||
Loading…
Reference in New Issue