Hello Gautier,
I have multiple repositories on a server which hosts other things (like
internal tools accessible via a web browser, etc.), so I setup nginx with
the reverse proxy module, my fossil server is accessible via /fossil/, but
all media, css, etc. are seeked at /, they are not found, is there a place
to set the root of the server, or is this a lack/bug?
The HTML links generated by fossil always assume it's sitting in the
root path of the web server. AFAIK, there's no way to tell Fossil to
prefix an extra path to the root.
Perhaps that could be added as an extra option for the fossil http
command, I don’t know. (I have no idea what big an impact it would have
-- though seeing as 'fossil http' with a folder already prefixes the
folder name to the path, perhaps it wouldn’t be such a humongous change).
In the meantime, I see two possible workarounds.
1. Personally, I’ve created a separate subdomain which points to the
same server, and set up nginx to proxy_pass all requests for the fossil
subdomain to fossil (which runs on a different port number).
2. You could also try to get nginx to rewrite the HTML that's returned
to the client using HttpSubModule[1] or even NginxHttpSubsModule[2], and
prefix your extra root path to any link in your URL starting with
double-quote and slash ("/).
[1] http://wiki.nginx.org/HttpSubModule
[2] http://wiki.nginx.org/NginxHttpSubsModule
For example:
location / {
sub_filter '"/' '"/fossil/';
sub_filter_once off;
}
Of course, this assumes that links will always be in the form <a
href="/...">, or <img src="/...">, or <script src="/...">; this example
doesn't handle <a href='/...'>, which is just as valid HTML.
Also, I noticed that Chisel[3] does manage to host repositories on a
longer path, without breaking the HTML generated by fossil, so I’m
assuming he does some HTML rewriting as well. You could check out the
source code[4] to see how he does that (though I do note that he’s using
Apache, and not nginx).
[3] http://chiselapp.com
[4] http://chiselapp.com/user/james/repository/chisel/
HTH,
--
Martijn Coppoolse
_______________________________________________
fossil-users mailing list
[email protected]
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users