操作系统:CentOS6.8
操作账户:root

安装GitLab CE

创建或编辑 /etc/.repos.d/-ce.repo ,填入以下内容:

执行命令安装:

安装依赖并启动 Postfix :

启动 Gitlab CE :

访问 Gitlab CE :

安装

执行安装命令:

拷贝配置文件:

修改 /etc/openldap/slapd.conf 文件,按需求初始化以下内容:

  • 参数和值中间是 空格+Tab ,不是单纯的 空格Tab

修改 /etc/openldap/.conf 文件,根据具体信息修改以下内容:

  • 参数和值中间是空格+Tab,不是单纯的 空格Tab

修改/etc/rsyslog.conf文件,增加日志输出:

创建日志文件并重启日志服务:

检查 slapd.conf 配置:

slapd.conf 配置写入 cn=config

启动 OpenLDAP

创建 root 用户:

创建 test 用户:

整合 OpenLDAP 和 GitLab

按需求更新 /etc/gitlab/gitlab.rb 文件:

重载 GitLab 配置:

重载完成后会在 GitLab 登录页面出现 LDAP 选项卡,使用 test 用户就能进行登录了。

gitlab-ldap

gitlab-ldap-profile

总结

通过 /etc/gitlab/gitlab.rb 配置,可以知道 GitLab 从 OpenLDAP 读取的属性分别为:

若 OpenLDAP 新建用户的 email 和原 GitLab 用户的相同,则可直接登录到原 GitLab 用户,相当于一个用户两个账户同时使用,即使对原 GitLab 用户进行 block ,从 OpenLDAP 也能正常登录。

若从 GitLab 删除拥有双账户的用户或 GitLab 中不存在该用户,使用 OpenLDAP 账户登录时会自行创建新用户。