Instalação do Gitlab e introdução ao Git

Neste tutorial vamos instalar o GitLab Community Edition (CE) - Omnibus package e aprender alguns comandos básicos do GIT.

[ Hits: 20.529 ]

Por: Leonardo Macedo Cerqueira em 24/02/2016 | Blog: http://devopslab.com.br/


Integração do LDAP



Este passo é opcional, porém dificilmente você não utilizará um LDAP na sua empresa. Para a autenticação centralizada você pode utilizar o Active Directory ou OpenLDAP, neste exemplo utilizei o OpenLDAP.

Algumas configurações mudam entre Active Directory e OpenLDAP.

1. Edite o arquivo /etc/gitlab/gitlab.rb e deixe as informações do LDAP conforme segue abaixo.

ATENÇÃO: este arquivo gitlab.rb tem indentação (yaml), sendo assim não mude os espaços, não use tab, cada linha que você descomentar, deixe os espaços exatamente como estavam, não tente deixar mais para esquerda, mais para direita, não mexa na formatação, apenas apague o "#", mude os atributos e pronto.

Você precisa de um usuário/senha "bind_dn" no LDAP, e saber qual a "base" que estarão os usuários.

# vi /etc/gitlab/gitlab.rb

###OpenLDAP
gitlab_rails['ldap_enabled'] = true
  gitlab_rails['ldap_servers'] = YAML.load <<-'EOS' # remember to close this block with 'EOS' below
    main: # 'main' is the GitLab 'provider ID' of this LDAP server
      label: 'LDAP'
      host: 'ldap.devopslab.com.br'
      port: 389
      uid: 'mail'
      method: 'plain' # "tls" or "ssl" or "plain"
      bind_dn: 'cn=usuario_ldap,cn=dev,ou=Users,dc=devopslab,dc=com,dc=br'
      password: 'senha_texto_plano'
      active_directory: false
      allow_username_or_email_login: false
      block_auto_created_users: false
      base: 'ou=Users,dc=devopslab,dc=com,dc=br'
      user_filter: ''
  EOS

DICA: para o Active Directory do Windows altere os valores abaixo para:

uid: 'sAMAccountName'
active_directory: true

Obs.: testei apenas o OpenLDAP, mas em teoria deve funcionar no Active Directory.

2. ldapsearch

Rode o comando "ldapsearch" para garantir que o servidor do Gitlab esteja se comunicando com o LDAP.

# ldapsearch -h ldap.devopslab.com.br -x -w senha_texto_plano -D 'cn=usuario_ldap,cn=dev,ou=Users,dc=devopslab,dc=com,dc=br' -b 'ou=Users,dc=devopslab,dc=com,dc=br'

O resultado é uma Query no OpenLDAP.

# usuario_ldap, dev, Users, devopslab.com.br
dn: cn=usuario_ldap,cn=dev,ou=Users,dc=devopslab,dc=com,dc=br
givenName: usuario_ldap
gidNumber: 502
homeDirectory: /home/users/usuario_ldap
sn: macedo
loginShell: /bin/sh
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: top
userPassword:: e01ENX1WSATFpCeW1LRWxTSmp3eSFEtVZ0NTNnPT0=
uidNumber: 1000
uid: usuario_ldap
cn: usuario_ldap
mail: usuario_ldap@devopslab.com.br


3. Finalizando a configuração do LDAP:

# gitlab-ctl reconfigure


GitLab UP and Running, com HTTPS, e autenticação centralizada.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução ao Git e Gitlab
   2. Instalação do GitLab
   3. Integração do LDAP
   4. Utilizando o Git
   5. Backup do Gitlab
Outros artigos deste autor

KNOCK + SSH

Vsftp - Instalação de um servidor FTP focado em segurança

OUTGUESS: Oculte mensagens em fotos

PHP Server Monitor - Monitore URLs e IPs

Instalação do Varnish + Apache + Virtual Hosts

Leitura recomendada

Mudando a cara do Lilo

Tutorial Apache + PHP + MySQL no OPENBSD 3.5

APT-GET sem CD: criando repositórios locais

Fedora 18 - Customização pós-instalação

Apache2 - Instalação e configuração com autenticação

  
Comentários
[1] Comentário enviado por fabio em 24/02/2016 - 10:10h

Belo artigo, parabéns!

[2] Comentário enviado por azk4n em 27/02/2016 - 06:12h

excelente artigo!
o git é uma ferramenta incrivelmente poderosa...

[3] Comentário enviado por removido em 03/03/2016 - 15:39h

Parabéns pelo artigo.
____________________________________________________
Manjaro Geek: http://www.manjaro-geek.org/
Fórum: http://forum.manjaro-geek.org/index.php
Freenode: #manjaro-geek

[4] Comentário enviado por lksmodos em 23/03/2016 - 15:43h

Parabéns artigo muito legal.

[5] Comentário enviado por quartodazona em 06/06/2017 - 13:36h

Excelente artigo meu amigo. Tenho pensado seriamente em integrar ao AD da empresa onde trabalho, principalmente ao ler seu artigo, porém gostaria de saber se existe alguma forma de desabilitar o acesso ao registro que fica na tela de inicio.
Obrigado.

[6] Comentário enviado por cROMADO em 06/06/2017 - 15:37h


[5] Comentário enviado por quartodazona em 06/06/2017 - 13:36h

Excelente artigo meu amigo. Tenho pensado seriamente em integrar ao AD da empresa onde trabalho, principalmente ao ler seu artigo, porém gostaria de saber se existe alguma forma de desabilitar o acesso ao registro que fica na tela de inicio.
Obrigado.


Quando você integrar o Gitlab com AD e Ldap, aquela opção de cadastro vai ficar bloqueada.
Se não for exatamente isto, deve faltar alguma opção ou coisa do tipo, mas fique tranquilo que é plenamente possível integrar o Gitlab com autenticação centralizada e bloquear o cadastro de novos usuários.

[7] Comentário enviado por quartodazona em 06/06/2017 - 20:10h


[6] Comentário enviado por cROMADO em 06/06/2017 - 15:37h


[5] Comentário enviado por quartodazona em 06/06/2017 - 13:36h

Excelente artigo meu amigo. Tenho pensado seriamente em integrar ao AD da empresa onde trabalho, principalmente ao ler seu artigo, porém gostaria de saber se existe alguma forma de desabilitar o acesso ao registro que fica na tela de inicio.
Obrigado.


Quando você integrar o Gitlab com AD e Ldap, aquela opção de cadastro vai ficar bloqueada.
Se não for exatamente isto, deve faltar alguma opção ou coisa do tipo, mas fique tranquilo que é plenamente possível integrar o Gitlab com autenticação centralizada e bloquear o cadastro de novos usuários.

Mas estou com dificuldade em integrar no AD, está dando que minhas credenciais não funcionam.

Minha configuração:

gitlab_rails['ldap_enabled'] = true

###! **remember to close this block with 'EOS' below**
gitlab_rails['ldap_servers'] = YAML.load <<-'EOS'
main: # 'main' is the GitLab 'provider ID' of this LDAP server
label: 'LDAP'
host: 'winserver.empresa.complemento'
port: 389
uid: 'sAMAccountName'
method: 'plain' # "tls" or "ssl" or "plain"
bind_dn: 'CN=meu_usuario_admin_do_ad,CN=Users,DC=empresa,DC=complemento'
password: 'minha_senha'
active_directory: true
allow_username_or_email_login: false
block_auto_created_users: false
base: 'OU=PASTA1,OU=PASTA2_DENTRO_DA_PASTA1,OU=PASTA3_DENTRO_DE_PASTA2,DC=empresa,DC=complemento'
# user_filter: ''
attributes:
username: ['uid', 'userid', 'sAMAccountName']
email: ['mail', 'email', 'userPrincipalName']
name: 'cn'
first_name: 'givenName'
last_name: 'sn'
EOS

Já tentei colocar o ip do servidor e o escambau. Tive de colocar estes 3 níveis de pasta para identificar meu usuário no AD porque é assim que está configurado no AD, com três níveis de diretórios até chegar no que contém os usuários.

Você consegue me ajudar?

Obrigado.

[8] Comentário enviado por quartodazona em 08/06/2017 - 17:27h


Você consegue me ajudar?

Obrigado.


Já consegui resolver e até escrevi um post sobre isso.

https://mastigado.wordpress.com/2017/06/08/integrando-o-gitlab-no-active-directory-ldap/

Muito obrigado pela atenção.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor HostGator.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Viva o Android

Tópicos

Top 10 do mês

Scripts