How to install phpPgAdmin to work with Nginx (without Apache)
This tutorial is intended for those who want to install and configure phpPgAdmin manually so it can work with Nginx, without needing Apache. I created this tutorial using Ubuntu server 14.04.
Download phpPgAdmin
Download one of the compressed files at http://phppgadmin.sourceforge.net.
Extract files
Extract the compressed file to the folder you want to serve phpPgAdmin (example: /var/www/yoursite/phppgadmin)
Install PostgreSQL module for PHP
sudo apt-get install php5-pgsql
Create PostgreSQL superuser to use in phpPgAdmin
Choose a username for your superuser. Here I used (adminusername) and you can replace it for another username you prefer.
sudo su - postgres createuser --superuser --pwprompt adminusername
Enter the password for superuser.
Configure phpPgAdmin
Open the file phppgadmin/conf/config.inc.php (example: /var/www/yoursite/phppgadmin/conf/config.inc.php)
If Postgres and phpPgAdmin is installed in the same server, change the line:
$conf['servers'][0]['host'] = 'localhost';
Search the file for extra_login_security. If extra_login_security = true, login attempts on phpPgAdmin with no password or certain usernames (pgsql, postgres, root, administrator) will be denied (you will get the “Login disallowed for security reasons.” error). So, set extra_login_security to false if it is your case.
$conf['extra_login_security'] = false;
Nginx virtual host
If your site is already served with Nginx, just access http://yoursite.com/phppgadmin
But If you want to access phpPgAdmin from another URL like a subdomain for example, a Nginx virtual host file for phpPgAdmin is needed.
This is just a sample of a Nginx virtual host file:
server { server_name phpmyadmin.yoursite.com; index index.html index.htm index.php; root /var/www/yoursite/phppgadmin; access_log off; location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi_params; } }