fusionpbx-install.sh/debian/resources/postgres-server.sh

66 lines
2.2 KiB
Bash

#!/bin/sh
#send a message
echo "Install PostgreSQL"
#Install postgres repo
lsb_release -c |grep -i jessie > /dev/null
if [ $? -eq 0 ]; then
cat > "/etc/apt/sources.list.d/pgsql-pgdg.list" << DELIM
deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main
DELIM
else
cat > "/etc/apt/sources.list.d/pgsql-pgdg.list" << DELIM
deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main
DELIM
fi
#update
apt-get update
#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"
for i in postgresql-server-9.5 php5-pgsql ;do sudo apt-get -y install --force-yes "${i}"; done
#################################################
#Edit the freeswitch systemd toadd pgsql service
#################################################
sed -i /lib/systemd/system/freeswitch.service -e"s#After=syslog.target network.target local-fs.target#After=syslog.target network.target local-fs.target postgresql.service#"
#########################################
#Edit pg_hba.conf to enable sections
########################################
sed -i /etc/postgresql/9.5/main/pg_hba.conf -e 's#\#local#local#'
sed -i /etc/postgresql/9.5/main/pg_hba.conf -e 's#\#host#host#'
#systemd
service postgresql restart
#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 ""