Bagaimana menjalankan Gollum menggunakan mod_rails dan Apache di lingkungan hosting bersama (mis. Dreamhost)?

10

Gollum adalah mesin wiki baru GitHub yang ditulis dalam Ruby. Dikerahkan secara lokal menggunakan instance Sinatra untuk menyediakan antarmuka web.

Apakah mungkin menjalankannya di lingkungan hosting bersama seperti Dreamhost menggunakan Apache dan mod_rails (Phusion Passenger)?

Kenners
sumber

Jawaban:

5

Buat file "config.ru", tambahkan ini ke sana:

require "gollum/frontend/app"

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

Ada panduan yang sangat baik tentang:

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

Poin utamanya adalah:

  • tambahkan config.ru ke lib / gollum / frontend
  • Arahkan root dokumen Anda ke lib / gollum / frontend / public
  • Gunakan config.ru berikut sebagai basis, tetapkan jalur wiki yang sesuai (saya harus menambahkan bagian pengaturan 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
reto
sumber
1

Jawaban August Lilleaas benar, namun saya perlu menggunakan versi gollum yang lebih lama, jadi saya mengaturnya dengan 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

Juga ingat untuk membuat direktori publicdan tmp, karena Penumpang membutuhkannya.

Namun, saya mengalami masalah lain. Anda harus memastikan bahwa itu gitberada di jalur pengguna-server web. Bagi saya ini bukan masalahnya, dan sayangnya tidak ada pesan kesalahan, Anda selalu berakhir di halaman untuk membuat halaman baru.

fabi
sumber