Jak uruchomić Gollum przy użyciu mod_rails i Apache we współdzielonym środowisku hostingowym (np. Dreamhost)?

10

Gollum to nowy silnik wiki GitHub napisany w Ruby. Lokalnie wdrożony używa instancji Sinatra do zapewnienia interfejsu sieciowego.

Czy można uruchomić go we współdzielonym środowisku hostingowym, takim jak Dreamhost przy użyciu Apache i mod_rails (Phusion Passenger)?

Kenners
źródło

Odpowiedzi:

5

Utwórz plik „config.ru”, dodaj do niego:

require "gollum/frontend/app"

Precious::App.set(:gollum_path, File.dirname(__FILE__))
Precious::App.set(:wiki_options, {})
run Precious::App
August Lilleaas
źródło
7

Istnieje doskonały przewodnik na temat:

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

Główne punkty to:

  • dodaj config.ru do lib / gollum / frontend
  • Wskaż katalog główny dokumentu na lib / gollum / frontend / public
  • Użyj poniższej config.ru jako podstawy, odpowiednio ustaw ścieżkę wiki (musiałem dodać część instalatora pakietu)
#!/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
reto
źródło
1

Odpowiedź Augusta Lilleaasa jest poprawna, jednak musiałem użyć starszej wersji gollum, więc skonfigurowałem ją z Bundlerem:

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

Pamiętaj także o utworzeniu katalogów publici tmp, ponieważ Pasażer ich wymaga.

Jednak natknąłem się na inny problem. Musisz upewnić się, że gitznajduje się na ścieżce użytkownika serwera WWW. Dla mnie tak nie było i niestety nie ma komunikatu o błędzie, po prostu zawsze kończysz na stronie, aby utworzyć nową stronę.

fabi
źródło