fusionpbx-install.sh/centos/resources/postgresql.sh

56 lines
2.2 KiB
Bash
Raw Normal View History

2017-02-23 17:53:37 +01:00
#!/bin/sh
#move to script directory so all relative paths work
cd "$(dirname "$0")"
2017-04-23 09:54:20 +02:00
#includes
. ./config.sh
2017-02-23 17:53:37 +01:00
. ./colors.sh
#send a message
verbose "Installing PostgreSQL 9.6"
2017-02-23 17:53:37 +01:00
#generate a random password
password=$(dd if=/dev/urandom bs=1 count=20 2>/dev/null | base64)
#included in the distribution
#rpm -ivh --quiet http://yum.postgresql.org/9.4/redhat/rhel-7-x86_64/pgdg-centos94-9.4-3.noarch.rpm
rpm -ivh --quiet https://yum.postgresql.org/9.6/redhat/rhel-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
2017-02-23 17:53:37 +01:00
yum -y update
#yum -y install postgresql94-server postgresql94-contrib postgresql94
yum -y install postgresql96-server postgresql96-contrib postgresql96 postgresql96-libs postgresql96-devel
2017-02-23 17:53:37 +01:00
2017-04-23 09:54:20 +02:00
#send a message
2017-02-23 17:53:37 +01:00
verbose "Initalize PostgreSQL database"
2017-04-23 09:54:20 +02:00
#initialize the database
/usr/pgsql-9.4/bin/postgresql96-setup initdb
2017-02-23 17:53:37 +01:00
2017-04-23 09:54:20 +02:00
#allow loopback
sed -i 's/\(host *all *all *127.0.0.1\/32 *\)ident/\1md5/' /var/lib/pgsql/9.6/data/pg_hba.conf
sed -i 's/\(host *all *all *::1\/128 *\)ident/\1md5/' /var/lib/pgsql/9.6/data/pg_hba.conf
2017-02-23 17:53:37 +01:00
#systemd
systemctl daemon-reload
systemctl restart postgresql-9.6
2017-02-23 17:53:37 +01:00
#move to /tmp to prevent a red herring error when running sudo with psql
cwd=$(pwd)
cd /tmp
2017-04-23 09:54:20 +02:00
2017-02-23 17:53:37 +01:00
#add the databases, users and grant permissions to them
sudo -u postgres /usr/pgsql-9.6/bin/psql -d fusionpbx -c "DROP SCHEMA public cascade;";
sudo -u postgres /usr/pgsql-9.6/bin/psql -d fusionpbx -c "CREATE SCHEMA public;";
sudo -u postgres /usr/pgsql-9.6/bin/psql -c "CREATE DATABASE fusionpbx";
sudo -u postgres /usr/pgsql-9.6/bin/psql -c "CREATE DATABASE freeswitch";
sudo -u postgres /usr/pgsql-9.6/bin/psql -c "CREATE ROLE fusionpbx WITH SUPERUSER LOGIN PASSWORD '$password';"
sudo -u postgres /usr/pgsql-9.6/bin/psql -c "CREATE ROLE freeswitch WITH SUPERUSER LOGIN PASSWORD '$password';"
sudo -u postgres /usr/pgsql-9.6/bin/psql -c "GRANT ALL PRIVILEGES ON DATABASE fusionpbx to fusionpbx;"
sudo -u postgres /usr/pgsql-9.6/bin/psql -c "GRANT ALL PRIVILEGES ON DATABASE freeswitch to fusionpbx;"
sudo -u postgres /usr/pgsql-9.6/bin/psql -c "GRANT ALL PRIVILEGES ON DATABASE freeswitch to freeswitch;"
2017-02-23 17:53:37 +01:00
#ALTER USER fusionpbx WITH PASSWORD 'newpassword';
cd $cwd
2017-04-23 09:54:20 +02:00
#send a message
verbose "PostgreSQL 9.6 installed"