gitlab&ldap安装踩坑记

公司由svn改造到git需要搭建一套新的架构体系,本次主要记录gitlab的搭建和LDAP的数据打通

gitlab安装步骤

yum install gitlab-ce        #自动安装最新版

yum install gitlab-ce-x.x.x    #安装指定版本

本次安装版本为:15.17.4 ,系统为centos

查看当前系统信息命令

cat /etc/redhat-release
cat /etc/centos-release

安装完毕以后 需要修改gitlab对应的配置信息

cd  /etc/gitlab

vim gitlab.rb

修改nginx配置
vim /var/opt/gitlab/nginx/conf/gitlab-http.conf
server_name  xxx.xxx.com

完了以后公司内部使用的开发人员自行绑定hosts即可正常访问,当然也可以用nginx做一层代理

 此处gitlab就算搭建完毕了,由于15这个版本UI改动较大所以需要慎重升级。

来继续配置ldap

gitlab_rails['ldap_enabled'] = true
###! **remember to close this block with 'EOS' below**
gitlab_rails['ldap_servers'] = YAML.load <<-'EOS'
   main:
      label: 'LDAP'
      host: '*******.cn'
      port: 389
      uid: 'SamAccountName'
      bind_dn: 'cn=xx,ou=xxx,dc=xx,dc=cn'
      password: 'password'
      encryption: 'plain'
      verify_certificates: false
      smartcard_auth: false
      active_directory: false
      allow_username_or_email_login: false
      lowercase_usernames: false
      block_auto_created_users: false
      base: 'ou=xxxx,dc=aura,dc=cn'
      user_filter: 'memberOf=cn=xxxx,ou=xxxx,dc=xxxx,dc=cn'
#     group_base: ''
#     admin_group: ''
#     sync_ssh_keys: false
EOS

这里配置的过程有几个坑需要特殊记录一下

配置字段说明   

label: 'LDAP'  gitlab登录页面显示的名称可以看着写
host: 搭建的ldap的ip或者域名
port: 搭建的ldap的端口,一般默认389
uid: ldap用户全是英文填写是cn,其他为SamAccountName
bind_dn: CN=test,OU=developer,DC=domainname,DC=com 
	DC是域名配置的意思
	cn=test 可能代表一个用户名,
	ou=developer 代表一个 active directory 中的组织单位。
	这句话的含义可能就是说明 test 这个对象处在domainname.com 域的 developer 组织单元中
password:ldap的管理员密码
encryption: 'plain' # 加密
verify_certificates: false
smartcard_auth: false
active_directory,似乎是针对连接是否是ad域控的标示,因为这部分是ldap的配置,故为false;

allow_username_or_email_login: false 是否启用邮件作为用户名登陆

lowercase_usernames: false

block_auto_created_users: false

base: 'ou=xxxx,dc=aura,dc=cn' # 核心配置,表示从哪一层读取用户信息

user_filter: 'memberOf=cn=xxxx,ou=xxxx,dc=xxxx,dc=cn'
此处需要重点注意,gitlab-rake gitlab:ldap:check数据检测没有出现用户列表
清配置此处信息

  1、配置完毕必须重新加载配置文件‘

gitlab-ctl reconfigure 完毕以后需要检查一下配置结果 gitlab-rake gitlab:ldap:check

gitlab&ldap安装踩坑记_第1张图片1、LDAP authentication... Success 表示权限链接成功

2、只有下边的一堆list才能算是真正的成功,此处表示ldap权限组成员正常列出否则还是需要调整配置

3、如果你是当前系统的搭建人 你的账号和域帐号需要隔离否则不能正常“域帐号登录”’

你可能感兴趣的:(架构,gitlab,ldap,企业架构)