Como executar o Gollum usando mod_rails e Apache em um ambiente de hospedagem compartilhada (por exemplo, Dreamhost)?

10

Gollum é o novo mecanismo wiki do GitHub escrito em Ruby. Implantado localmente, usa uma instância do Sinatra para fornecer uma interface da Web.

É possível executá-lo em um ambiente de hospedagem compartilhada como o Dreamhost usando Apache e mod_rails (Phusion Passenger)?

    
por Kenners 25.09.2010 / 19:39

3 respostas

5

Crie o arquivo "config.ru", adicione isto a ele:

require "gollum/frontend/app"

Precious::App.set(:gollum_path, File.dirname(__FILE__))
Precious::App.set(:wiki_options, {})
run Precious::App
    
por 18.01.2011 / 16:45
7

Existe um excelente guia sobre:

link

Os principais pontos são:

  • adicione um config.ru ao lib / gollum / frontend
  • Aponte sua raiz do documento para lib / gollum / frontend / public
  • Use o seguinte config.ru como base, defina o caminho do wiki de acordo (eu tive que adicionar a parte de configuração do bundler)
#!/usr/bin/ruby
require 'rubygems'
require 'bundler/setup'
require 'gollum/frontend/app'

system("which git") or raise "Looks like I can't find the git CLI in your path.\nYour path is: #{ENV['PATH']}"

gollum_path = '/path/to/wiki' # CHANGE THIS TO POINT TO YOUR OWN WIKI REPO

disable :run

configure :development, :staging, :production do
 set :raise_errors, true
 set :show_exceptions, true
 set :dump_errors, true
 set :clean_trace, true
end

$path = gollum_path
Precious::App.set(:gollum_path, gollum_path)
Precious::App.set(:wiki_options, {})

run Precious::App
    
por 02.09.2011 / 13:21
1

A resposta de August Lilleaas está correta, no entanto eu precisei usar uma versão mais antiga do gollum, então eu configurei com o Bundler:

Gemfile :

source 'http://rubygems.org'

gem 'rdiscount'
gem 'gollum', '1.3.0'

config.ru :

require 'rubygems'
require 'bundler'

Bundler.require

require "gollum/frontend/app"

Precious::App.set(:gollum_path, File.expand_path(File.dirname(__FILE__)))
Precious::App.set(:wiki_options, {})
run Precious::App

Lembre-se também de criar os diretórios public e tmp , pois o Passenger requer estes.

No entanto, me deparei com outro problema. Você precisa ter certeza de que git está no caminho do usuário do servidor da web. Para mim, este não foi o caso e, infelizmente, não há nenhuma mensagem de erro, você sempre acaba na página para criar uma nova página.

    
por 27.08.2011 / 13:43