Как запустить Gollum с использованием mod_rails и Apache в среде общего хостинга (например, Dreamhost)?


10

Gollum - это новый вики-движок GitHub, написанный на Ruby. Развернутый локально, он использует экземпляр Sinatra для предоставления веб-интерфейса.

Можно ли запустить его в среде общего хостинга, такой как Dreamhost, используя Apache и mod_rails (Phusion Passenger)?

Ответы:


5

Создайте файл «config.ru», добавьте в него:

require "gollum/frontend/app"

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

7

Есть отличное руководство по:

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

Основными моментами являются:

  • добавить config.ru в lib / gollum / frontend
  • Укажите корневой каталог вашего документа на lib / gollum / frontend / public
  • Используйте следующий config.ru в качестве базы, соответственно задайте путь вики (мне пришлось добавить часть настройки 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

Ответ Августа Лиллеаса правильный, но мне нужно было использовать более старую версию gollum, поэтому я настроил ее с помощью 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

Также не забудьте создать каталоги publicи tmp, как того требует Пассажир.

Однако я столкнулся с другой проблемой. Вы должны убедиться, что gitэто путь пользователя веб-сервера. Для меня это был не тот случай, и, к сожалению, нет сообщения об ошибке, вы просто всегда в конечном итоге на странице, чтобы создать новую страницу.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.