在 CentOS 上将 GitLab 集成到 LDAP(轻量级目录访问协议)可以帮助你实现单点登录(SSO),从而简化用户认证过程。以下是详细的步骤指南:
首先,确保你的系统是最新的,并安装必要的软件包:
sudo yum update -y
sudo yum install -y gitlab-ctl
编辑 GitLab 的配置文件 /etc/gitlab/gitlab.rb
,添加 LDAP 配置:
gitlab_rails['ldap_enabled'] = true
gitlab_rails['ldap_servers'] = YAML.load <<-'EOS'
main:
label: 'LDAP'
host: 'ldap.example.com'
port: 389
uid: 'uid'
bind_dn: 'cn=admin,dc=example,dc=com'
password: 'your_ldap_password'
allow_username_or_email_login: true
user_search_base: 'ou=users,dc=example,dc=com'
user_search_filter: '(|(uid=#{username})(mail=#{username}@example.com))'
group_search_base: 'ou=groups,dc=example,dc=com'
group_search_filter: '(member={0})'
EOS
请根据你的 LDAP 服务器信息替换 ldap.example.com
、cn=admin,dc=example,dc=com
、your_ldap_password
、ou=users,dc=example,dc=com
、ou=groups,dc=example,dc=com
等占位符。
保存并关闭文件后,运行以下命令以应用更改:
sudo gitlab-ctl reconfigure
登录到 GitLab 并尝试使用 LDAP 用户进行认证。你应该能够成功登录。
LDAP 连接失败:
用户搜索失败:
user_search_base
和 user_search_filter
正确。权限问题:
bind_dn
用户具有足够的权限来搜索用户和组。通过以上步骤,你应该能够在 CentOS 上成功将 GitLab 集成到 LDAP。如果在配置过程中遇到问题,可以参考 GitLab 官方文档或寻求社区支持。