Clone wiki

phpHgAdmin / setup



  • Installation of Mercurial, serving repositories with it's web interface (basic installation and setup instructions )
  • Server write permissions to Mercurial's web repo registry, typically "hgweb.config"
  • Server write permissions to where repositories are held
  • Server write permissions to a local scratch space (installation default is the included 'lock' directory)


phpHgAdmin features much looser installation requirements. hgweb.config and the repositories folder no longer need to live in the same directory as they did in v1.0.x.

  1. Extract the v1.1.x zip archive.
  2. All the files within the /admin folder (including .htaccess) can be placed in your web root directory, or a subdirectory of your web server.
  3. Edit the /admin/application/config/phphgadmin.php configuration script, making changes where appropriate with basic PHP syntax. Full documentation on configurable items are within this file.
  4. Edit the .htacess file if necessary, i.e. to impose basic HTTP authentication or if installing anywhere other than as a subdirectory named 'admin' .
  5. Access checkinstall.php from your web browser. This script resides at the root level of the phpHgAdmin install. This script can be deleted from the web server at any time. When all tests pass, this indicates your installation of phpHgAdmin is ready to use!


  • Mercurial reports "the specified repository is unknown" or similar error when accessing pages of phpHgAdmin: Edit the .htaccess file which resides with index.php, looking for the lines containing "admin/index.php". This configuration works when phpHgAdmin is installed as http://yourdomain/admin/. Fix accordingly.

(v1.0.x) How to move repositories out of the cgi-bin folder

Hg-PHP assumes that both hgweb.config and the repositories it dictates are within the same directory. In order to keep your repositories at a location outside the cgi-bin folder move hgweb.config into the directory that holds your repositories. Edit the hgwebdir.cgi to look there for hgweb.config at the new path --> application = hgwebdir('/absolute/path/to/hgweb.config')

Python libs

You might not want to keep your python folder at your web space root directory. Move it to a (secured) directory of your choise and simply adjust the python path at hgwebdir.cgi. Alternatively, access to this folder can be blocked with .htaccess rules if your web server respects them. More information to follow.