postgresql.sh
4.36 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
#!/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 ROLE redmine LOGIN ENCRYPTED PASSWORD 'redmine' NOINHERIT VALID UNTIL 'infinity';"
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