在Ubuntu上部署GitLab的SE(Single Sign-On,单点登录)通常指的是集成外部认证服务,如LDAP、OAuth或OpenID Connect等。以下是使用LDAP作为SE的一种常见方法:
首先,更新你的包列表并安装gitlab-ctl工具,它用于管理GitLab服务:
sudo apt-get update
sudo apt-get install 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'
method: 'plain' # 其他选项包括 'tls' 和 'ssl'
bind_dn: 'cn=admin,dc=example,dc=com'
password: 'ldap_password'
allow_username_or_email_login: true
EOS
gitlab_rails['ldap_user_search_base'] = 'ou=users,dc=example,dc=com'
gitlab_rails['ldap_group_search_base'] = 'ou=groups,dc=example,dc=com'
gitlab_rails['ldap_user_search_filter'] = '(uid=%{username})'
gitlab_rails['ldap_group_search_filter'] = '(member=%{uid})'
请根据你的LDAP服务器的实际配置修改上述参数。
保存gitlab.rb文件后,运行以下命令使更改生效:
sudo gitlab-ctl reconfigure
然后重启GitLab服务:
sudo gitlab-ctl restart
登录到GitLab,你应该能够使用LDAP账户进行认证。如果遇到问题,可以查看GitLab的日志文件以获取更多信息:
sudo tail -f /var/log/gitlab/gitlab-rails/production.log
method设置为ssl,并相应地更改host和port。以上步骤提供了一个基本的指南,但具体的配置可能会根据你的LDAP服务器和GitLab版本有所不同。建议查阅GitLab的官方文档以获取最新和最详细的指导。