So WebSVN [http://websvn.tigris.org/] handles it. And runs in PHP. That is good. (Trac and ViewVC are python based, a bit more of a hassle to install, at least for me.)
"XML error: no element found (3) at line 3 column 0 byte 45"
This error is due to a custom certificate. If you hit this, you'll need to find some way to tell svn to accept that certificate. Since my certificate was signed by CACert, all I had to do with add their root file to the svn config:
(in ~/.subversion/servers, on the bottom, after the [global])
ssl-authority-files = /etc/ssl/certs/cacert-root-ca.crt
And then I hacked configclass.inc (and modified config.inc)
Diff as follows:
Note: the configuration location set function must be called BEFORE setSVNCommandPath. ie;
Also, yes, it does use your subversion settings. I see no problems with this, but I may be sadly mistaken. If you want to play it safe, recreate the folder somewhere and set the "servers" file there.
Side note: accessing an SVN repository remotely is quite slow. If you have alternatives, use them.