Instalando e configurando o PostgreSQL 9 no cPanel/WHM
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