Голлум это новый вики-движок GitHub, написанный на Ruby. При локальном развертывании он использует экземпляр Sinatra для предоставления веб-интерфейса.
Можно ли запустить его в среде общего хостинга, такой как Dreamhost, с использованием Apache и mod_rails (Phusion Passenger)?
Есть отличное руководство по:
https://github.com/tecnh/gollum/wiki/Gollum-and-Passenger
Основные моменты:
#!/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
Создайте файл config.ru, добавьте в него:
require "gollum/frontend/app"
Precious::App.set(:gollum_path, File.dirname(__FILE__))
Precious::App.set(:wiki_options, {})
run Precious::App
Ответ Августа Лиллеаса правильный, однако мне нужно было использовать старую версию 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
находится на пути пользователя веб-сервера. Для меня это не так, и, к сожалению, нет сообщения об ошибке, вы просто всегда попадаете на страницу, чтобы создать новую страницу.