Install the needed gems (using rugged adapter otherwise it wouldn’t work),
gem install omniauth gem install omniauth-ldap gem install omnigollum apt install cmake pkg-config gem install gollum-rugged_adapter
Refs.
base=...
ldapsrv=...
aduser=...
password=...
vi /gollumprod/config.rb
wiki_options = {
:live_preview => false,
:allow_uploads => true,
:allow_editing => true,
:h1_title => true
}
Precious::App.set(:wiki_options, wiki_options)
#Precious::App.set(:environment, :production)
require 'omnigollum'
require 'omniauth-ldap'
options = {
:providers => Proc.new do
provider :ldap,
:title => "Gollum Authentication USE YOUR WINDOWS CREDENTIALS e.g. aduser",
:host => '$ldapsrv',
:port => 3268,
:method => :plain,
:base => '$base',
:uid => 'sAMAccountName',
#:filter => '(&(uid=%{username})(memberOf=cn=myapp-users,ou=groups,dc=example,dc=com))',
#:name_proc => Proc.new {|name| name.gsub(/@.*$/,'')},
:bind_dn => '$aduser',
:password => '$password'
end,
:dummy_auth => false,
:protected_routes => ['/*'],
:author_format => Proc.new { |user| user.name },
:author_email => Proc.new { |user| user.email },
:authorized_users => nil,
}
Precious::App.set(:omnigollum, options)
Precious::App.register Omnigollum::Sinatra
Note. fixing authorized_users,
:authorized_users => nil,
Run the shit using rugged adapter,
su - gollum -c "/usr/local/bin/gollum /gollumprod/operations.git/ --bare --config /gollumprod/config.rb --adapter rugged" &
Refs.
Once everything is fine you can switch to production env,
vi /gollumprod/config.rb Precious::App.set(:environment, :production)
and restart the thing.
Possible alternative (untested) would be to start Gollum using Rack and using the omniauth-ldap example directly (?):