diff --git a/config/gitlab.yml.example b/config/gitlab.yml.example index 76dc6214..19563584 100644 --- a/config/gitlab.yml.example +++ b/config/gitlab.yml.example @@ -29,6 +29,9 @@ gitlab: ## Project settings default_projects_limit: 10 + ## Account used for GitLab installation ('gitlab' if undefined) + user: gitlab + ## Gravatar gravatar: enabled: true # Use user avatar images from Gravatar.com (default: true) @@ -100,6 +103,7 @@ gitolite: receive_pack: true ssh_user: git ssh_host: localhost + group: git # default: 'git' if undefined # ssh_port: 22 # config_file: gitolite.conf diff --git a/config/initializers/1_settings.rb b/config/initializers/1_settings.rb index 6b47a9cc..cd03dd87 100644 --- a/config/initializers/1_settings.rb +++ b/config/initializers/1_settings.rb @@ -50,6 +50,7 @@ Settings.gitlab['relative_url_root'] ||= '' Settings.gitlab['protocol'] ||= Settings.gitlab.https ? "https" : "http" Settings.gitlab['email_from'] ||= "gitlab@#{Settings.gitlab.host}" Settings.gitlab['url'] ||= Settings.send(:build_gitlab_url) +Settings.gitlab['user'] ||= 'gitlab' Settings['gravatar'] ||= Settingslogic.new({}) Settings.gravatar['enabled'] ||= true @@ -67,6 +68,7 @@ Settings.gitolite['upload_pack'] ||= (Settings.gitolite['upload_pack'] != false Settings.gitolite['ssh_host'] ||= (Settings.gitlab.host || 'localhost') Settings.gitolite['ssh_port'] ||= 22 Settings.gitolite['ssh_user'] ||= 'git' +Settings.gitolite['group'] ||= 'git' Settings.gitolite['ssh_path_prefix'] ||= Settings.send(:build_gitolite_ssh_path_prefix) Settings['backup'] ||= Settingslogic.new({}) diff --git a/lib/tasks/gitlab/check.rake b/lib/tasks/gitlab/check.rake index 623028b1..3d9c9f4c 100644 --- a/lib/tasks/gitlab/check.rake +++ b/lib/tasks/gitlab/check.rake @@ -295,15 +295,16 @@ namespace :gitlab do end def check_gitlab_in_git_group - gitolite_ssh_user = Gitlab.config.gitolite.ssh_user - print "gitlab user is in #{gitolite_ssh_user} group? ... " + gitlab_user = Gitlab.config.gitlab.user + gitolite_group = Gitlab.config.gitolite.group + print "gitlab user '#{gitlab_user}' has git group '#{gitolite_group}'? ... " - if run_and_match("id -rnG", /\Wgit\W/) + if run_and_match("id -rnG", /^#{gitolite_group}\W|\W#{gitolite_group}\W|\W#{gitolite_group}$/) puts "yes".green else puts "no".red try_fixing_it( - "sudo usermod -a -G #{gitolite_ssh_user} gitlab" + "sudo usermod -a -G #{gitolite_group} #{gitlab_user}" ) for_more_information( see_installation_guide_section "System Users"