Làm cách nào để chạy Gollum bằng mod_rails và Apache trong môi trường lưu trữ được chia sẻ (ví dụ: Dreamhost)?


10

Gollum là công cụ wiki mới của GitHub được viết bằng Ruby. Được triển khai tại địa phương, nó sử dụng một cá thể Sinatra để cung cấp giao diện web.

Có thể chạy nó trong một môi trường lưu trữ được chia sẻ như Dreamhost bằng Apache và mod_rails (Phusion Pasbah) không?

Câu trả lời:


5

Tạo tập tin "config.ru", thêm nó vào nó:

require "gollum/frontend/app"

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

7

Có một hướng dẫn tuyệt vời về:

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

Những điểm chính là:

  • thêm một config.ru vào lib / gollum / frontend
  • Trỏ tài liệu gốc của bạn vào lib / gollum / frontend / public
  • Sử dụng config.ru sau đây làm cơ sở, đặt đường dẫn wiki phù hợp (Tôi phải thêm phần thiết lập gói)
#!/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

Câu trả lời của August Lilleaas là chính xác, tuy nhiên tôi cần sử dụng một phiên bản cũ hơn của gollum, vì vậy tôi đã thiết lập nó với 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

Cũng nhớ tạo các thư mục publictmp, vì Hành khách yêu cầu những thư mục này.

Tuy nhiên, tôi gặp phải một vấn đề khác. Bạn phải chắc chắn rằng đó gitlà trong đường dẫn của người dùng máy chủ web. Đối với tôi đây không phải là trường hợp và thật không may, không có thông báo lỗi, bạn chỉ luôn luôn kết thúc trên trang để tạo một trang mới.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.