Difference between revisions of "PhpPgAdmin"

From ArchWiki
Jump to: navigation, search
(Accessing your phpPgAdmin installation)
(/usr/share/webapps/phppgadmin is the right path to include in php.ini in order to phppgadmin load properly)
(9 intermediate revisions by 6 users not shown)
Line 1: Line 1:
[[Category:Web Server (English)]]
+
[[Category:Web Server]]
{{i18n|PhpPgAdmin}}
+
 
+
 
==Installation==
 
==Installation==
To install [http://phppgadmin.sourceforge.net/doku.php?id=start phpPgAdmin], install the ''phppgadmin'' packages with
+
To install [http://phppgadmin.sourceforge.net/doku.php?id=start phpPgAdmin], install the {{Pkg|phppgadmin}} packages with
 
<pre>
 
<pre>
 
pacman -S phppgadmin
 
pacman -S phppgadmin
Line 19: Line 17:
 
</pre>
 
</pre>
  
Add the following lines to {{Filename|/etc/httpd/conf/httpd.conf}}:
+
Add the following lines to {{ic|/etc/httpd/conf/httpd.conf}}:
 
<pre>
 
<pre>
 
# phpPgAdmin configuration
 
# phpPgAdmin configuration
Line 30: Line 28:
 
</pre>
 
</pre>
  
Add the following lines to {{Filename|/etc/httpd/conf/httpd.conf}}:
+
Add the following lines to {{ic|/etc/httpd/conf/httpd.conf}}:
 
<pre>
 
<pre>
 
# Use for PHP 5.x:
 
# Use for PHP 5.x:
Line 47: Line 45:
 
</pre>
 
</pre>
  
In {{Filename|/usr/share/webapps/phppgadmin/.htaccess}}, comment out ''deny from all''. The line should look like this:
+
In {{ic|/usr/share/webapps/phppgadmin/.htaccess}}, comment out ''deny from all''. The line should look like this:
 
<pre>
 
<pre>
 
#deny from all
 
#deny from all
Line 54: Line 52:
 
Otherwise you'll get an error similar to "Error 403 - Access forbidden!" when you attempt to access your phppgadmin installation.
 
Otherwise you'll get an error similar to "Error 403 - Access forbidden!" when you attempt to access your phppgadmin installation.
  
Your {{Filename|/etc/httpd/conf/extra/httpd-phppgadmin.conf}} should have the following information:
+
Your {{ic|/etc/httpd/conf/extra/httpd-phppgadmin.conf}} should have the following information:
 
<pre>
 
<pre>
 
         Alias /phppgadmin "/usr/share/webapps/phppgadmin"
 
         Alias /phppgadmin "/usr/share/webapps/phppgadmin"
Line 65: Line 63:
 
</pre>
 
</pre>
  
Open your {{Filename|/etc/php/php.ini}} and go to the line containing ''open_basedir'' and add the path(s) to your phppgAdmin installation so it has the following:
+
Open your {{ic|/etc/php/php.ini}} and go to the line containing ''open_basedir'' and add the path(s) to your phppgAdmin installation so it has the following:
 
<pre>
 
<pre>
:/usr/share/webapps/:/etc/webapps/
+
:/usr/share/webapps/phpgadmin:/etc/webapps/
 
</pre>
 
</pre>
  
 
For example, mine contains the following:
 
For example, mine contains the following:
 
<pre>
 
<pre>
open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/:/etc/webapps
+
open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/phppgadmin:/etc/webapps
 
</pre>
 
</pre>
  
You need the mysql module, so uncomment in {{Filename|/etc/php/php.ini}}:
+
You need the pgsql module, so uncomment in {{ic|/etc/php/php.ini}}:
 
   ;extension=pgsql.so
 
   ;extension=pgsql.so
 
:to
 
:to
Line 126: Line 124:
 
   open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/
 
   open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/
  
Make sure lighttpd is setup to serve php files, [[Lighttpd and FastCGI]]
+
Make sure lighttpd is setup to serve php files, [[Lighttpd#FastCGI]]
  
 
Restart lighttpd and browse to http://localhost/phppgadmin/index.php
 
Restart lighttpd and browse to http://localhost/phppgadmin/index.php
Line 158: Line 156:
 
           }
 
           }
 
   }
 
   }
 +
 +
 +
== Troubleshooting Access Denied (403) ==
 +
 +
You will need to edit the {{ic|.htaccess}} file located at
 +
 +
  /etc/webapps/phppgsql/.htaccess
 +
 +
to
 +
 +
  Allow from <ip>
 +
 +
where <ip> is your current ip (or use 127.0.0.1 if you are on the same box) and then
 +
 +
  rc.d restart httpd
 +
 +
in order to access phppgadmin.

Revision as of 19:32, 23 November 2012

Installation

To install phpPgAdmin, install the phppgadmin packages with

pacman -S phppgadmin

Configuration

Ensure you do not have an older copy of phppgadmin.

rm -r /srv/http/phppgAdmin

Copy the example configuration file to your httpd configuration directory.

cp /etc/webapps/phppgadmin/apache.example.conf /etc/httpd/conf/extra/httpd-phppgadmin.conf

Add the following lines to /etc/httpd/conf/httpd.conf:

# phpPgAdmin configuration
Include conf/extra/httpd-phppgadmin.conf

You can type this into the terminal to produce the same effect:

echo -e "\nInclude conf/extra/httpd-phppgadmin.conf" >> /etc/httpd/conf/httpd.conf

Add the following lines to /etc/httpd/conf/httpd.conf:

# Use for PHP 5.x:
LoadModule php5_module        modules/libphp5.so
AddHandler php5-script php

Add index.php after "DirectoryIndex index.html"

# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>

In /usr/share/webapps/phppgadmin/.htaccess, comment out deny from all. The line should look like this:

#deny from all

Otherwise you'll get an error similar to "Error 403 - Access forbidden!" when you attempt to access your phppgadmin installation.

Your /etc/httpd/conf/extra/httpd-phppgadmin.conf should have the following information:

        Alias /phppgadmin "/usr/share/webapps/phppgadmin"
        <Directory "/usr/share/webapps/phppgadmin">
                AllowOverride All
                Options FollowSymlinks
                Order allow,deny
                Allow from all
        </Directory>

Open your /etc/php/php.ini and go to the line containing open_basedir and add the path(s) to your phppgAdmin installation so it has the following:

:/usr/share/webapps/phpgadmin:/etc/webapps/

For example, mine contains the following:

open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/phppgadmin:/etc/webapps

You need the pgsql module, so uncomment in /etc/php/php.ini:

 ;extension=pgsql.so
to
 extension=pgsql.so

Accessing your phpPgAdmin installation

Finally your phppgadmin installation is complete. Before start using it you need to restart your apache server by following command:

# /etc/rc.d/httpd restart

You can access your phppgadmin installation using the following url:

http://localhost/phppgadmin/
or
http://localhost/phppgadmin/index.php

Note: 'localhost' is the hostname in your /etc/rc.conf file.

If you want to access it using:

http://localhost/phppgadmin

in '/etc/httpd/conf/extra/httpd-phppgadmin.conf' change:

Alias /phppgadmin/ "/usr/share/webapps/phppgadmin/"

to

Alias /phppgadmin "/usr/share/webapps/phppgadmin"

Lighttpd Configuration

The php setup for lighttpd is exactly the same as for apache. Make an alias for phppgadmin in your lighttpd config.

 alias.url = ( "/phppgadmin" => "/usr/share/webapps/phppgadmin/")

Then enable mod_alias, mod_fastcgi and mod_cgi in your config ( server.modules section )

Update open_basedir in /etc/php/php.ini and add "/usr/share/webapps/".

 open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/

Make sure lighttpd is setup to serve php files, Lighttpd#FastCGI

Restart lighttpd and browse to http://localhost/phppgadmin/index.php

NGINX Configuration

Also similar to apache configuration (and Lighttpd, for that matter).

Create a symbolic link to the /usr/share/webapps/phppgadmin directory from whichever directory your vhost is serving files from, e.g. /srv/http/<domain>/public_html/

 sudo ln -s /usr/share/webapps/phppgadmin /srv/http/<domain>/public_html/phppgadmin

You can also setup a sub domain with a server block like so (if using php-fpm):

 server {
         server_name     phppgadmin.<domain.tld>;
         access_log      /srv/http/<domain>/logs/phppgadmin.access.log;
         error_log       /srv/http/<domain.tld>/logs/phppgadmin.error.log;
 
         location / {
                 root    /srv/http/<domain.tld>/public_html/phppgadmin;
                 index   index.html index.htm index.php;
         }
 
         location ~ \.php$ {
                 root            /srv/http/<domain.tld>/public_html/phppgadmin;
                 fastcgi_pass    unix:/var/run/php-fpm/php-fpm.sock;
                 fastcgi_index   index.php;
                 fastcgi_param   SCRIPT_FILENAME  /srv/http/<domain.tld>/public_html/phppgadmin/$fastcgi_script_name;
                 include         fastcgi_params;
         }
 }


Troubleshooting Access Denied (403)

You will need to edit the .htaccess file located at

  /etc/webapps/phppgsql/.htaccess

to

  Allow from <ip>

where <ip> is your current ip (or use 127.0.0.1 if you are on the same box) and then

  rc.d restart httpd

in order to access phppgadmin.