วิธีเรียกใช้ Gollum โดยใช้ mod_rails และ Apache ในสภาพแวดล้อมการโฮสต์ที่ใช้ร่วมกัน (เช่น Dreamhost)


10

Gollumเป็นเครื่องมือวิกิใหม่ของ GitHub ที่เขียนใน Ruby นำไปใช้งานแบบโลคัลโดยใช้อินสแตนซ์ Sinatra เพื่อจัดทำเว็บอินเตอร์เฟส

เป็นไปได้หรือไม่ที่จะเรียกใช้ในสภาพแวดล้อมการโฮสต์ที่ใช้ร่วมกันเช่น Dreamhost โดยใช้ Apache และ mod_rails (Phusion Passenger)

คำตอบ:



7

มีคำแนะนำที่ยอดเยี่ยมเกี่ยวกับ:

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

ประเด็นหลักคือ:

  • เพิ่ม config.ru ไปที่ lib / gollum / frontend
  • ชี้รูทเอกสารของคุณไปที่ lib / gollum / frontend / public
  • ใช้ config.ru ต่อไปนี้เป็นฐานตั้งเส้นทางวิกิตามลำดับ (ฉันต้องเพิ่มส่วนการตั้งค่าบันเดิล)
#!/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

คำตอบของ August Lilleaas นั้นถูกต้อง แต่ฉันจำเป็นต้องใช้กอลลัมรุ่นเก่ากว่าดังนั้นฉันจึงติดตั้ง 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เนื่องจาก Passenger ต้องการสิ่งเหล่านี้

อย่างไรก็ตามฉันพบปัญหาอื่น คุณต้องตรวจสอบให้แน่ใจว่าgitอยู่ในเส้นทางของผู้ใช้เว็บเซิร์ฟเวอร์ สำหรับฉันนี่ไม่ใช่กรณีและโชคไม่ดีที่คุณไม่มีข้อความแสดงข้อผิดพลาดคุณเพียงลงเอยด้วยการสร้างหน้าใหม่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.