問題
公司本來的環境就有ad,所以這次來做ad帳號的整合動作
追蹤
設定檔在
# vi /etc/gitlab/gitlab.rb 上面的需要做gitlab-ctl reconfigure # vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml 這邊的則是改完作 gitlab-ctl restart就可以這邊決定從gitlab推薦的修改方式改起
所以我們動 /etc/gitlab/gitlab.rb 這個
修改
進入gitlab.rb後找尋
# gitlab_rails['ldap_enabled'] = false .....先把他設定為true,然後進行設定
gitlab_rails['ldap_enabled'] = true gitlab_rails['ldap_servers'] = YAML.load <<-EOS main: # 'main' is the GitLab 'provider ID' of this LDAP server label: 'LDAP' host: 'xxxx.com.tw' # 這邊是ldap的位置 port: 389 uid: 'sAMAccountName' method: 'plain' # "tls" or "ssl" or "plain" bind_dn: 'CN=帳號,OU=Users,DC=xxxx,DC=com,DC=tw' # 這裡是拿來登入LDAP的帳號 CN=帳號 OU部分看公司怎麼設定 password: 'CN帳號所用的密碼' active_directory: true # 如果你的ldap不是ad 就改成false allow_username_or_email_login: true # 允許使用者不用帶網域登入 ex. wei@xxxx.com.tw -> wei block_auto_created_users: true # 是不是先block自動生成的帳號,可以在admin area unblock base: 'OU=Users,DC=xxxx,DC=com,DC=tw' # 搜尋的位置 user_filter: '' EOS然後重寫設定檔就可以了
# gitlab-ctl reconfigure需要更詳細的介紹可以看一下官網LDAP設定的部分
講得還蠻詳細的,對設定會很有幫助
問題與解決
1.ERROR: /etc/gitlab/gitlab.rb:578: can't find string "EOS" anywhere before EOF
[2015-07-16T02:41:58+08:00] ERROR: /etc/gitlab/gitlab.rb:578: can't find string "EOS" anywhere before EOF /etc/gitlab/gitlab.rb:39: syntax error, unexpected end-of-input, expecting tSTRING_CONTENT or tSTRING_DBEG or tSTRING_DVAR or tSTRING_END gitlab_rails['ldap_servers'] = YAML.load <<-EOS忘記結尾了拉 EOS 必須要成對出現
2.Could not authorize you from LDAP because "Invalid credentials"
如果已經排除連不到LDAP的話,就先去確定CN的帳號是不是正確被抓到
我用的工具是LDAP admin
我遇到的問題是OU是中文抓不到CN帳號
避開就好了
留言
張貼留言