Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I'm trying to run Gollum, a wiki that uses git, on a Debian server for personal use. Launching it without any command line options makes it listen to to http://localhost:4567, which I can access just fine, even from PCs on the same LAN (with the right IP).

However, I want to access it through http://x.x.x.x/gollum, so I added these lines to apache2.conf:

ProxyPass /gollum/ http://localhost:4567/
ProxyPassReverse http://localhost:4567 /gollum/

Accessing http://x.x.x.x/gollum/home (/home is the main page of the app) works, but it'll only show the html of the page, without css, javascript, images, or even the links working. The error.log file is full of errors like these, just to give an example:

File does not exist: /usr/share/javascript/editor, referer: http://192.168.1.68/gollum/home
File does not exist: /usr/share/javascript/gollum.js, referer: http://192.168.1.68/gollum/home

In the html of the page, if I inspect it with Firefox, the links for the items above are all written, for example, like this: src="/javascript/gollum.js".

If I write the url of the files directly, http://localhost/javascript/gollum/gollum.js, the right file will load.

So, how can I make the site work from http://localhost/gollum/? Am I doing the redirection wrong or can this be because gollum doesn't support being deployed this way?

share|improve this question
add comment

1 Answer

I was just trying this out today.
As I found out, two things were required to be able to host gollum on, say, www.mydom.com/wiki.

First, configure an apache vhost for the wiki.

<VirtualHost *:80>
    ServerName www.mydom.com
    ProxyPass /wiki http://localhost:4567/wiki
    ProxyPassReverse /wiki http://localhost:4567/wiki
</VirtualHost>

I know that the .../wiki in the ProxyPass looks odd, but bear with me for a couple of lines!

Following, run gollum in the following way:
~$ gollum --host 127.0.0.1 --port 4567 --base-path wiki

Setting the host/port is not necessary if you are using the defaults (at this stage I was mixing and matching!).
The --base-path statement will tell Gollum to run from /wiki instead of /.

This seems to be working, I have only had it up for five or so minutes. Create, view, delete, etc, etc all work. The only issue I am having is with icons not showing correctly at the "all" listing.

Hope this helps!

edit: codeblock incorrectly formatted (markdown).

share|improve this answer
    
Just as an FYI in case you did try this before.--base-path seemed to be broken 2 or so months ago (from the Issues section on the git repo). So if you did give it a try before and it didn't work, give it another go. It seems to be working now. –  wormintrude Dec 18 '12 at 21:57
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.