Instalando e configurando o PostgreSQL 9 no cPanel/WHM

De Wiki Integrator do Brasil
Ir para: navegação, pesquisa

Índice

Antes de começar

Os passos informados devem ser realizados por usuário de máquina virtual cloud com acesso root. Os seguintes requisitos são necessários:
1. Acesso ao SSH como usuário root.
2. Não ter nenhum PostgreSQL anterior instalado.
3. Estar usando o cPanel/WHM configurado na máquina.


IMPORTANTE: O suporte de hospedagem e nem da cPanel/WHM são responsáveis por personalizações de instalações e configurações de seus serviços.


Sobre a versão padrão do PostgreSQL

O cPanel opera na versão 8.x no CentOS 6. Para instalar uma versão mais recente, o script de instalação padrão do painel não funciona. O PostgreSQL para este tutorial está na versão 9.4 e se ajustará ao seu cPanel. Os comandos devem ser executados exclusivamente como usuário root SSH, de preferência com básicos conhecimentos em Linux e editor de texto simples.


Instalando o RPM

Baixe as bibliotecas do PostgreSQL 9.4 oficial para o CentOS 6.x. Como exemplo, estamos baixando a versão PostgreSQL 9.4:

rpm -Uvh http://yum.postgresql.org/9.4/redhat/rhel-6-x86_64/pgdg-centos94-9.4-3.noarch.rpm

Instalando o PostgreSQL com YUM

Instale o PostgreSQL 9.4:

yum install postgresql94-server postgresql94

Iniciando o serviço do PostgreSQL

Inicie o DB:

service postgresql-9.4 initdb

Atalhos para a instalação PostgreSQL para que o cPanel o reconheça

1. Após instalar, crie os atalhos referentes ao que o cPanel reconhece:

ln -s /var/lib/pgsql/9.4/data /var/lib/pgsql
ln -s /var/lib/pgsql/9.4/backups /var/lib/pgsql

2. Os atalhos. Ignore erros básicos que houver se forem atalhos já existentes.

cd /usr/pgsql-9.4/bin/; for f in *; do echo $f; [ -e /usr/bin/$f ] && mv /usr/bin/$f /usr/bin/$f.8; ln -s $(pwd)/$f /usr/bin/$f; done  

cd /var/lib/pgsql; ln -s 9.4/backups; ln -s 9.4/data; ln -s 9.4/pgstartup.log 
cd /usr/pgsql-9.4/lib; ln -s libpq.so.5.7 libpq.so

ln -s /usr/pgsql-9.4/bin/pg_config /usr/bin  


3. Assim que instalado, no cPanel/WHM como root logado
4. Vá em "Home » SQL Services » Configure PostgreSQL"
5. Clique em Install config
6. Ainda no WHM, coloque a senha no usuário postgres

6.1. O WHM configurará o arquivo /root/.pgpass com a senha que adicionou no usuário "postgres". Isso permitirá executar comandos "psql" dentro do terminal SSH sem digitar a senha do usuário "postgres".

7. Atualize o phpPgAdmin:

/usr/local/cpanel/bin/updatephppgadmin --force  

Configurando o serviço do PostgreSQL no sistema operacional e iniciando

1. Configure o serviço com o comando chkconfig:

chkconfig postgresql-9.4 on

2. Inicie o serviço:

service postgresql-9.4 start


Compilando o PHP para a versão do PostgreSQL no EasyApache 3

1. Para compilar o PHP com a versão mais atual do PostgreSQL, precisa instalar a versão devel. Isso adicionará os fontes para o PHP em /usr/pgsql-9.4/include/.

yum groupinstall "PostgreSQL Database Server PGDG" -y 
yum install postgresql94-devel.x86_64 -y


Acesso remoto

1. Para o acesso remoto, execute este comando abaixo na íntegra:

echo  "local all all        md5
host all all  127.0.0.1   255.255.255.255   md5
host    all         all         0.0.0.0/0             md5
host    all         all         ::1/128               md5

host all postgres   ::1/128    md5" > /var/lib/pgsql/data/pg_hba.conf 

2. Edite o arquivo /var/lib/pgsql/data/postgresql.conf com usuário "postgres" como acesso remoto. Os comandos a seguir realizam backup do original e modificam o necessário.

cp -p /var/lib/pgsql/data/postgresql.conf /var/lib/pgsql/data/postgresql.conf.bk
sed -i "s#.*listen_addresses.*#listen_addresses = '*' #"  /var/lib/pgsql/data/postgresql.conf

3. Depois, configure o template de pg_hba.conf para que o painel não o altere em atualizações futuras:

cp /var/lib/pgsql/data/pg_hba.conf /var/cpanel/templates/postgres/main.local