Base de Conocimiento
Instalar Postgresql 9.x en servidor dedicado cloud vps cpanel
Escrito por Julian Andres Moná en 12 February 2016 09:40 AM

El siguiente procedimiento es recomendado en un servidor recien instalado sin información publicada.

 

Al realizar estos procedimientos el cliente entiende:

a. El articulo es solo una guía de apoyo, no es una instrucción de ColombiaHosting.

b. La información puede variar dependiendo de las versiones de las herramientas utilizadas. Y es responsabilidad del cliente validar dichas diferencias.

c. El proceso implica instalar postgresql en una versión diferente a la del repositorio oficial del sistema operativo, por lo que la documentación oficial puede ser diferente, al igual que otras instalaciones.

d. En caso de tener información en el servidor, el cliente debe realizar una copia y guardarla de forma local

e. El cliente debe tener un administrador/webmaster con conocimiento avanzado en Postgresql y SSH.

f.  cPanel no brinda soporte sobre PostgreSQL, no provee internamente PostgreSQL, ni provee los instaladores de PostgreSQL a la última versión.

 

Procedimiento de instalación de Postgresql en servidores dedicados, vps y couds tipo cPanel.

 

1. Ingresar vía web al sitio oficial de repositorios de Postgresql http://yum.pgrpms.org/repopackages.php

2. Copiar la URL de descarga de la versión deseada (9.6, 9.5, 9.4, 9.3) y compatible con el sistema operativo (Centos6 o Centos7) .

3. Ingresar al servidor vía SSH, descargar con wget el repositorio seleccionado e instalarlo en el servidor (En este ejemplo, Centos 7 y Postgresql 9.6):

cd /usr/src

wget https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm

rpm -Uvh pgdg-centos*.noarch.rpm

4. Editar y guardar el archivo /etc/yum.repos.d/CentOS-Base.repo  con los siguientes cambios

4.1 Al final de la sección [base] agregar la línea:

exclude=postgresql*

4.2 Al final de la sección [updates] agregar la línea:

exclude=postgresql*

5. Ejecutar:

yum clean all

yum upgrade -y

6. Instalar postgresql (Cambiar el numero de versión según la versión descargada):

version=96; yum install postgresql$version postgresql$version-devel postgresql$version-server postgresql$version-libs postgresql$version-contrib

7. Iniciar el servicio:

/usr/pgsql-9.6/bin/postgresql96-setup initdb
chkconfig postgresql-9.6 on
systemctl enable postgresql-9.6.service
systemctl start postgresql-9.6 start


8. Copiar binarios y crear enlaces simbolicos para integrar el servicio con cPanel (Cambiar el numero de versión según la versión descargada):

cd /usr/pgsql-9.6/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.6/backups; ln -s 9.6/data; ln -s 9.6/pgstartup.log

9. Instalar phppgadmin:

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

10. Ingresar al WHM en la opción "Configure postgresql", solo se muestra al realizar el paso #8. Click en "Install Config", luego clic en "Create Users" y por último asignar una nueva clave al usuario por defecto postgres.

11. En SSH ejecutar:

cp /var/lib/pgsql/data/pg_hba.conf /var/lib/pgsql/data/pg_hba.conf.orig
sed -i "/^host/s/ident/md5/g" /var/lib/pgsql/data/pg_hba.conf
echo "host    all         all         ::1/128               trust" >> /var/lib/pgsql/data/pg_hba.conf
systemctl restart postgresql-9.6.service

12. Reiniciar el servidor: reboot

 

** Opcional: Instalación de PDO PGSQL y PGSQL

1. Ingresar al servidor por whm http://xx.xx.xx.xx/whm en la opción "EasyApache 3".

2. Clic en el icono en forma de tuerca/engranaje, seleccionar la versión actual de Apache, clic en siguiente, seleccionar la última versión de PHP y clic en siguiente.

3. En la parte inferior clic en el botón "Exhaustive List".

4. En la lista de opciones habilitar "PGSQL" (Esta en la última lista).

5. Clic en el botón "Save and build", este procedimiento recompila apache y puede tardar entre 20min a 60 min aproximadamente generando interrupción.

6. Ingresar al servidor por SSH y ejecutar lo siguiente para instalar la libreria PDO PGSQL:

cd /usr/src
wget http://pecl.php.net/get/PDO_PGSQL-1.0.2.tgz
tar -zxf PDO_PGSQL-1.0.2.tgz
cd PDO_PGSQL-1.0.2
phpize
./configure
make
make install
echo "extension=php_pgsql.so" >> /usr/local/lib/php.ini
echo "extension=pdo_pgsql.so" >> /usr/local/lib/php.ini
service httpd restart

7. Listo, puede utilizar un código similar al siguiente para conectarse desde PHP a Postgresql (Primero debe crear la base de datos en cPanel, crear el usuario de base en cPanel y asignarlo):

 $dsn="pgsql:host=localhost;port=5432;dbname=miusuario_base;user=misuario_admin;password=123abc";
 $conn = new PDO($dsn);
 if($conn){
         echo "Conectado correctamente";
 }

(1 votes)
El artículo fue de ayuda
El artículo no fue de ayuda

Sistema de Soporte de ColombiaHosting