Come eseguire Gollum usando mod_rails e Apache in un ambiente di hosting condiviso (ad es. Dreamhost)?


10

Gollum è il nuovo motore wiki di GitHub scritto in Ruby. Distribuito localmente utilizza un'istanza Sinatra per fornire un'interfaccia web.

È possibile eseguirlo in un ambiente di hosting condiviso come Dreamhost utilizzando Apache e mod_rails (Phusion Passenger)?

Risposte:


5

Crea il file "config.ru", aggiungilo:

require "gollum/frontend/app"

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

7

C'è un'eccellente guida su:

https://github.com/tecnh/gollum/wiki/Gollum-and-Passenger

I punti principali sono:

  • aggiungi un config.ru a lib / gollum / frontend
  • Punta la radice del tuo documento su lib / gollum / frontend / public
  • Utilizzare il seguente config.ru come base, impostare il percorso wiki di conseguenza (ho dovuto aggiungere la parte di installazione del 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

1

La risposta di August Lilleaas è corretta, tuttavia avevo bisogno di utilizzare una versione precedente di gollum, quindi l'ho impostata con 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

Ricorda anche di creare le directory publice tmp, come richiesto da Passenger.

Tuttavia, ho riscontrato un altro problema. Devi assicurarti che gitsi trovi nel percorso dell'utente del server web. Per me questo non era il caso, e sfortunatamente non c'è nessun messaggio di errore, devi sempre finire sulla pagina per creare una nuova pagina.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.