diff --git a/script/postgresql.sh b/script/postgresql.sh new file mode 100644 index 0000000..fc94d1f --- /dev/null +++ b/script/postgresql.sh @@ -0,0 +1,106 @@ +#!/bin/bash + +# Pré-requisitos + +sudo yum update -y +# Todas as máquinas devem ter o usuário colab +# O usuário colab das maquinas devem estar no arquivo ``sudoers`` + +# Instalação do Postgres 9.3 + +# Siga todas as instruções a seguir na máquina destinada ao banco de dados Postgres +# *NOTE:* +# 1. Libere a porta 5432 desta máquina para que máquina do colab possa ouvi-la + +# 2. Instale o pacote postgresql + +sudo yum localinstall http://yum.postgresql.org/9.3/redhat/rhel-6-x86_64/pgdg-centos93-9.3-1.noarch.rpm -y +sudo yum install postgresql93 postgresql93-devel postgresql93-libs postgresql93-server vim -y + +# 3. Inicie o banco de dados + +sudo service postgresql-9.3 initdb + +# 4. Adicione o Postgres para iniciar com o sistema + +sudo chkconfig postgresql-9.3 on + +# 5. Inicie o postgresql + +sudo service postgresql-9.3 start + +# 6. Coloque os binários do postgres na variável PATH +echo "export PATH=$PATH:/usr/pgsql-9.3/bin/" >> ~/.bashrc +source ~/.bashrc +sudo sh -c "echo 'export PATH=$PATH:/usr/pgsql-9.3/bin/' >> ~/.bashrc" +sudo sh -c "source /root/.bashrc" + +# 7. Edite o arquivo sudoers + +sudo sed -i 's/\/sbin:\/bin:\/usr\/sbin:\/usr\/bin/\/sbin:\/bin:\/usr\/sbin:\/usr\/bin:\/usr\/pgsql-9.3\/bin/' /etc/sudoers + +# sudo vim /etc/sudoers +# Dentro do arquivo mude a seguinte linha +# Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin +# para +# Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/pgsql-9.3/bin/ +# Salve e feche o arquivo +# [ESC]:wq! + +# 8. Crie todos os usuários e banco de dados necessários para o funcionamento correto do colab. + +sudo -u postgres psql -c "CREATE USER colab SUPERUSER INHERIT CREATEDB CREATEROLE;" +sudo -u postgres psql -c "ALTER USER colab PASSWORD 'colab';" +sudo -u postgres psql -c "CREATE USER git;" +sudo -u postgres psql -c "CREATE ROLE redmine LOGIN ENCRYPTED PASSWORD 'redmine' NOINHERIT VALID UNTIL 'infinity';" +sudo -u postgres psql -c "CREATE DATABASE gitlabhq_production OWNER git;" +sudo -u postgres psql -c "CREATE DATABASE colab WITH OWNER colab ENCODING 'UTF8' LC_COLLATE='en_US.UTF-8' LC_CTYPE='en_US.UTF-8' TEMPLATE=template0;" +sudo -u postgres psql -c "CREATE DATABASE trac_colab WITH OWNER colab ENCODING 'UTF8' LC_COLLATE='en_US.UTF-8' LC_CTYPE='en_US.UTF-8' TEMPLATE=template0;" +sudo -u postgres psql -c "CREATE DATABASE redmine WITH ENCODING='UTF8' OWNER=redmine;" + +#sudo -u postgres psql +# +# CREATE USER colab SUPERUSER INHERIT CREATEDB CREATEROLE; +# ALTER USER colab PASSWORD 'colab'; +# CREATE USER git; +# CREATE ROLE redmine LOGIN ENCRYPTED PASSWORD 'redmine' NOINHERIT VALID UNTIL 'infinity'; +# +# CREATE DATABASE gitlabhq_production OWNER git; +# CREATE DATABASE "colab" WITH OWNER "colab" ENCODING 'UTF8' LC_COLLATE='en_US.UTF-8' LC_CTYPE='en_US.UTF-8' TEMPLATE=template0; +# CREATE DATABASE "trac_colab" WITH OWNER "colab" ENCODING 'UTF8' LC_COLLATE='en_US.UTF-8' LC_CTYPE='en_US.UTF-8' TEMPLATE=template0; +# CREATE DATABASE redmine WITH ENCODING='UTF8' OWNER=redmine; +# \q + +# 9. Altere o pg_hba.conf para conceder as permissões corretas aos usuários + +sudo wget https://gitlab.com/softwarepublico/colabdocumentation/raw/master/Arquivos/postgres/pg_hba.conf -O /var/lib/pgsql/9.3/data/pg_hba.conf + +# sudo vi /var/lib/pgsql/9.3/data/pg_hba.conf + +# As permissõe devem ser as que estão abaixo, que serão encontradas no final do arquivo, ou seja, as linhas do fim do arquivo devem ser substituidas. + + # TYPE DATABASE USER ADDRESS METHOD + + # "local" is for Unix domain socket connections only +# local all postgres peer +# local redmine redmine md5 +# local trac_colab colab md5 +# local colab colab md5 +# local gitlabhq_production git trust + # IPv4 local connections: +# host all postgres 127.0.0.1/32 ident +# host redmine redmine 127.0.0.1/32 md5 +# host trac_colab colab 127.0.0.1/32 md5 +# host colab colab 127.0.0.1/32 md5 +# host gitlabhq_production git 127.0.0.1/32 trust + # IPv6 local connections: +# host all postgres ::1/128 ident +# host redmine redmine ::1/128 md5 +# host trac_colab colab ::1/128 md5 +# host colab colab ::1/128 md5 +# host gitlabhq_production git ::1/128 trust +# [ESC]:wq! + +# 10. Reinicie o postgresql + +sudo service postgresql-9.3 restart -- libgit2 0.21.2