phpPgAdmin es una herramienta de administración basada en web para administrar la base de datos PostgreSQL y es muy similar a phpMyAdmin, una herramienta basada en web para administrar MySQL (MariaDB).
Si tiene experiencia laboral en phpMyAdmin, es muy fácil para usted comprender las funcionalidades de phpPgAdmin.
Esta guía lo ayudará a instalar phpPgAdmin en Ubuntu 18.04/Ubuntu 16.04 y LinuxMint 19/Linux Mint 18.
Requisitos previos
Antes de configurar phpPgAdmin, observe cómo instalar PostgreSQL en Ubuntu 18.04/Ubuntu 16.04 y LinuxMint 19/Linux Mint 18.
Verifique que el servicio PostgreSQL se esté ejecutando en el servidor.
sudo systemctl status postgresql
Salida:
● postgresql.service - PostgreSQL RDBMS Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled) Active: active (exited) since Sat 2019-02-23 11:43:07 IST; 23h ago Main PID: 6536 (code=exited, status=0/SUCCESS) Tasks: 0 (limit: 2323) CGroup: /system.slice/postgresql.service Feb 23 11:43:07 server systemd[1]: Starting PostgreSQL RDBMS... Feb 23 11:43:07 server systemd[1]: Started PostgreSQL RDBMS.
Instalar phpPgAdmin
phpPgAdmin está disponible en el repositorio base, por lo que puede instalarlo usando el comando apt-get install.
sudo apt-get install -y phppgadmin apache2
Configurar PostgreSQL
De forma predeterminada, PostgreSQL solo acepta la autenticación de localhost . Si desea conectar PostgreSQL desde máquinas externas, deberá editar el pg_hba.conf archivo.
### PostgreSQL 11 ### sudo nano /etc/postgresql/11/main/pg_hba.conf ### PostgreSQL 10 ### sudo nano /etc/postgresql/10/main/pg_hba.conf
Ingrese el valor según sus requisitos en IPv4 y asegúrese de que acepte la contraseña md5.
# IPv4 local connections: host all all 127.0.0.1/32 md5 host all all 192.168.1.0/24 md5
Configurar phpPgAdmin
Edite /etc/phppgadmin/config.inc.php archivo.
sudo nano /etc/phppgadmin/config.inc.php
Agregue sus instancias de PostgreSQL aquí.
// Display name for the server on the login screen $conf['servers'][0]['desc'] = 'PostgreSQL 11'; // Hostname or IP address for server. Use '' for UNIX domain socket. // use 'localhost' for TCP/IP connection on this computer $conf['servers'][0]['host'] = 'localhost'; // Database port on server (5432 is the PostgreSQL default) $conf['servers'][0]['port'] = 5432;
phpPgAdmin no permitirá que los usuarios sin contraseña o ciertos nombres de usuario (pgsql, postgres, root, administrador) inicien sesión.
Para anular esta seguridad adicional, cámbiela a false.
$conf['extra_login_security'] = false;
Configurar esto como verdadero simplemente oculta las bases de datos de otros usuarios de la lista de bases de datos. Sin embargo, pueden obtener los datos (de otras bases de datos) mediante consultas SQL.
$conf['owned_only'] = false;
Configurar Apache
Debido a la restricción, solo se puede acceder a phpPgAdmin en localhost. Si desea acceder a la interfaz web de phpPgAdmin desde máquinas externas, debe editar el archivo de configuración de Apache (phppgadmin.conf).
sudo nano /etc/apache2/conf-enabled/phppgadmin.conf
La configuración predeterminada se verá a continuación.
Alias /phppgadmin /usr/share/phppgadmin <Directory /usr/share/phppgadmin> <IfModule mod_dir.c> DirectoryIndex index.php </IfModule> AllowOverride None # Only allow connections from localhost: Require local <IfModule mod_php.c> php_flag magic_quotes_gpc Off php_flag track_vars On #php_value include_path . </IfModule> <IfModule !mod_php.c> <IfModule mod_actions.c> <IfModule mod_cgi.c> AddType application/x-httpd-php .php Action application/x-httpd-php /cgi-bin/php </IfModule> <IfModule mod_cgid.c> AddType application/x-httpd-php .php Action application/x-httpd-php /cgi-bin/php </IfModule> </IfModule> </IfModule> </Directory>
Por favor comente el Requerir local línea y agregue Requerir todo otorgado justo debajo de la línea comentada.
Se verá como a continuación.
Alias /phppgadmin /usr/share/phppgadmin <Directory /usr/share/phppgadmin> <IfModule mod_dir.c> DirectoryIndex index.php </IfModule> AllowOverride None # Only allow connections from localhost: # Require local Require all granted <IfModule mod_php.c> php_flag magic_quotes_gpc Off php_flag track_vars On #php_value include_path . </IfModule> <IfModule !mod_php.c> <IfModule mod_actions.c> <IfModule mod_cgi.c> AddType application/x-httpd-php .php Action application/x-httpd-php /cgi-bin/php </IfModule> <IfModule mod_cgid.c> AddType application/x-httpd-php .php Action application/x-httpd-php /cgi-bin/php </IfModule> </IfModule> </IfModule> </Directory
Reinicie los servicios.
sudo systemctl restart postgresql sudo systemctl restart apache2
Acceder a phpPgAdmin
Ahora acceda a phpPgAdmin desde su navegador web, la URL será
http://tu-direccion-ip/phppgadminO:
http://localhost/phppgaminPágina inicial de phpPgAdmin:
Trabajar con phpPgAdmin
Haga clic en el servidor que aparece en el panel izquierdo para iniciar sesión en la instancia de PostgreSQL. Inicie sesión con el usuario de la base de datos.
Ahora obtendrá la lista de bases de datos.
Eso es todo.