Я установил Gitlabs Community Edition v7.6.2 и пытаюсь использовать сервер FreeIPA в качестве решения ldap для управления пользователями. В принципе, похоже, что он работает нормально, и мне удается войти в систему с учетной записью, предоставленной моим сервером ldap. Однако, когда я вхожу в систему, я застреваю на странице редактирования пользователя. На этой странице я не могу изменить адрес электронной почты, но похоже, что Gitlabs ожидает достойную замену своему автоматически сгенерированному электронному письму.
Я создал пользователя bob на FreeIPA с почтовым адресом [email protected].
ldapsearch -x -h локальный хост uid=bob
dn: uid=bob,cn=users,cn=accounts,dc=testdomain,dc=com
displayName: bob bob
cn: bob bob
objectClass: top
objectClass: person
objectClass: organizationalperson
objectClass: inetorgperson
objectClass: inetuser
objectClass: posixaccount
objectClass: krbprincipalaux
objectClass: krbticketpolicyaux
objectClass: ipaobject
objectClass: ipasshuser
objectClass: ipaSshGroupOfPubKeys
objectClass: mepOriginEntry
loginShell: /bin/sh
sn: bob
gecos: bob bob
homeDirectory: /home/bob
krbPwdPolicyReference: cn=global_policy,cn=TESTDOMAIN.COM,cn=kerberos,dc=testdomain,dc=com
mail: [email protected]
krbPrincipalName: [email protected]
givenName: bob
uid: bob
initials: bb
ipaUniqueID: d7c3d5bc-abb3-11e4-a1d6-080027079e3d
uidNumber: 497600001
gidNumber: 497600001
krbPasswordExpiration: 20150203144923Z
krbLastPwdChange: 20150203144923Z
krbExtraData:: AALz39BUcm9vdC9hZG1pbkBBTUJBUkkuQVBBQ0hFLk9SRwA=
mepManagedEntry: cn=bob,cn=groups,cn=accounts,dc=testdomain,dc=com
И отредактировал /etc/gitlab/gitlab.rb, чтобы обращаться к моему каталогу ldap без привязки пользователя:
gitlab_rails['ldap_enabled'] = true
gitlab_rails['ldap_host'] = 'ldap.testdomain.com'
gitlab_rails['ldap_port'] = 389
gitlab_rails['ldap_uid'] = 'uid'
gitlab_rails['ldap_method'] = 'plain'
gitlab_rails['ldap_allow_username_or_email_login'] = true
gitlab_rails['ldap_base'] = 'dc=testdomain,dc=com'
Если я попытаюсь войти в систему в этот момент, это вроде как сработает. Он принимает пароль для bob. Однако вместо обычной целевой страницы отображается страница настроек профиля с очень двусмысленным сообщением.
Так что я должен изменить адрес электронной почты, единственное поле, полностью неизменяемое в этом диалоговом окне. Я предполагаю, что это связано с тем, что Gitlab полагается на ldap для предоставления почтового адреса. Мой ldap предоставляет это поле в соответствии с командой ldapsearch, однако Gitlab, похоже, не может это понять. Каждая ссылка, по которой я перехожу на этой странице, будет перенаправлять на эту страницу. По сути, я создал кирпич.
Чтобы быть полным, это в моем /var/log/gitlab/gitlab-rails/application.log:
# Logfile created on 2015-02-03 10:53:07 +0000 by logger.rb/44203
February 03, 2015 10:53: User "Administrator" ([email protected]) was created
February 03, 2015 15:22: User "bob bob" ([email protected]) was created
February 03, 2015 15:22: (OAuth) saving user [email protected] from login with extern_uid => uid=bob,cn=users,cn=compat,dc=testdomain,dc=com
Кто-нибудь знает, как это исправить? Очень признателен!