Neste post será apresentado como instalar o postgres 9.4 através do seu repositório.
1) Instalação do repositório :
CentOS 6 x64
rpm -Uvh http://yum.postgresql.org/9.4/redhat/rhel-6-x86_64/pgdg-centos94-9.4-1.noarch.rpmCentOS 7
rpm -Uvh http://yum.postgresql.org/9.4/redhat/rhel-7-x86_64/pgdg-centos94-9.4-1.noarch.rpm2) Instalando o banco
yum install postgresql94-server postgresql94-contrib3) Iniciando e habilitando o serviço no boot
CentOS 6
service postgresql-9.4 initdb service postgresql-9.4 start chkconfig postgresql-9.4 onCentOS 7
/usr/pgsql-9.4/bin/postgresql94-setup initdb systemctl enable postgresql-9.4 systemctl start postgresql-9.44) Configurando o Iptables / Firewalld e SELinux
Configuração do Iptables :
vim /etc/sysconfig/iptables
Adicione as linhas :
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5432 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPTRestarte o serviço :
service iptables restartConfiguração do Firewalld:
firewall-cmd --permanent --add-port=5432/tcp firewall-cmd --permanent --add-port=80/tcp firewall-cmd --reloadConfiguração do SELINUX :
setsebool -P httpd_can_network_connect_db 15) Configurando o Postgres:
Acesse o prompt do postgres:
su – postgres
psqlAltere a senha do usuário postgres:
postgres=# \password postgres Enter new password: Enter it again: postgres=# \qInstale o PostgreSQL Adminpack chamado o comando abaixo no prompt:
postgres=# CREATE EXTENSION adminpack; CREATE EXTENSIONCrie o usuário , role e database:
Entre no prompt do usuário postgres:
su – postgresCrie o usuário admindb :
$ createuser admindbCrie o banco phppg :
$ createdb phppgEntre no banco :
$ psqlpsql (9.4.0) Type "help" for help. postgres=# alter user admindb with encrypted password 'centos'; ALTER ROLE postgres=# grant all privileges on database phppg to admindb; GRANT postgres=#6) Definindo acesso e autenticação via md5
Altere o arquivo /var/lib/pgsql/9.4/data/pg_hba.conf conforme apresentado abaixo :
10.0.5.0/24 é a rede autorizada para conseguir chegar no banco.
[...] # TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only local all all md5 # IPv4 local connections: host all all 127.0.0.1/32 md5 host all all 10.0.5.0/24 md5 # IPv6 local connections: host all all ::1/128 md5 [...]Restart o serviço :
Centos 6
service postgresql-9.4 restartCentos 7
systemctl restart postgresql-9.47) Configurando o PhpPGAdmin :
Instale o epel release:
yum install epel-releaseAgora instale o PHPPgAdmin :
yum install phpPgAdmin httpdvá no arquivo /etc/httpd/conf.d/phpPgAdmin.conf e altere para que fique igual ao meu exemplo:
Alias /phpPgAdmin /usr/share/phpPgAdmin
<Location /phpPgAdmin>
<IfModule mod_authz_core.c>
# Apache 2.4
Require local
#Require host example.com
</IfModule>
<IfModule !mod_authz_core.c>Restarte o Apache :
Restart o serviço :
Centos 6
service httpd restartCentos 7
systemctl restart httpdApós a configuração acesse :