sexta-feira, 13 de setembro de 2019

Integrando o GitLab no Active Directory (LDAP)

gitlab
O GitLab compete com várias outras plataformas de gerenciamento de código para equipes de desenvolvimento – como o GitHub e Atlassian – mas atraiu investidores devido à sua torção open source no repositório de código e no modelo de ferramenta de colaboração, que permite aos usuários adaptar a plataforma para melhor atender às suas necessidades.
O texto acima também quer dizer que você pode baixar a ferramenta e instalar na sua empresa tendo uma espécie de GitHub lá dentro, mas sua instalação não será abordada aqui porque depende de várias dependências online e que do meu ponto de vista podem variar, portanto para ter acesso ao passo da instalação do GitLab localmente aconselho procurar no próprio site do GitLab (lembrando que instalei no Linux Debian 8).

Definições para o arquivo de configuração


Para a nossa configuração junto ao Active Directory vamos supor que tenhamos um servidor com as seguintes informações:
  • Nome do servidor do AD: meu_servidor_do_ad
  • Nome do domínio: dominio.central
  • Local onde está localizado o usuário administrador do AD: CN=Users
  • Base onde estão os usuários do AD: OU=PESSOAS,OU=USUARIOS,OU=ATIVOS,DC=dominio,DC=central.
  • Meu usuário admin do AD: Jair Rodrigues.
Vale lembrar uma observação feita por um usuário no site do Viva o Linux de que você não deve tentar reidentar o código, mas apenas descomentar e alterar o conteúdo do que está dentro das aspas. Eis a observação feita por ele:
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.


Portanto depois de instalado o Gitlab devemos editar suas configurações para integrá-lo ao AD de acordo com o que está descrito abaixo.




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 }
22
23
24
   gitlab_rails['ldap_enabled'] = true
 
###! **remember to close this block with 'EOS' below**
   gitlab_rails['ldap_servers'] = {
      main: # 'main' is the GitLab 'provider ID' of this LDAP server
      label: 'LDAP',
      host: 'meu_servidor_do_ad.dominio.central',
      port: 389,
      uid: 'sAMAccountName',
      method: 'plain' # "tls" or "ssl" or "plain",
      bind_dn: 'CN=Jair Rodrigues,CN=Users,DC=dominio,DC=central',
      password: 'xererenenen',
      active_directory: true,
      allow_username_or_email_login: true,
      block_auto_created_users: false,
      base: 'OU=PESSOAS,OU=USUARIOS,OU=ATIVOS,DC=dominio,DC=central',

      }

      

nano /etc/gitlab/gitlab.rb



Algumas observações acerca desta configuração
Sobre o atributo base:
Na empresa que trabalho, os usuários do AD estão sob a seguinte hierarquia de pastas: ATIVOS > USUARIOS > PESSOAS, mas quando você utiliza um utilitário chamado ADSI (que está lá instalado no Active Directory) o programa te dá o caminho escrito ao contrário, portanto será assim mesmo, de trás de frente que você irá escrever na configuração do GitLab.
1
base: 'OU=PESSOAS,OU=USUARIOS,OU=ATIVOS,DC=dominio,DC=central'
Para entrar no aplicativo ADSI você deve seguir o caminho abaixo.

E para localizar o caminho dos seus usuários siga a árvore até ela lhe mostrar por completo.

Sobre o atributo bind_dn:
Uma das coisas que me confundiu bastante foi o fato de nessa configuração do Gitlab eu não ter de colocar o login do meu usuário administrador, mas sim o nome dele. Portanto preste atenção a isso porque meu usuário tem login jair.rodrigues, mas seu nome é Jair Rodrigues lá no AD.
1
bind_dn: 'CN=Jair Rodrigues,CN=Users,DC=dominio,DC=central'
Comandos úteis para ocasiões inesperadas ou desesperadas
Para caso você precise consultar as informações sobre sua versão do GitLab instalada
1
gitlab-rake gitlab:env:info
Para editar o arquivo de configuração do GitLab
1
nano /etc/gitlab/gitlab.rb
Para configurar uma URL para seu Gitlab
1
Altere a linha onde está o atributo external_url
Para reconfigurar seu GitLab logo após ter editado o arquivo de configuração acima
1
gitlab-ctl reconfigure
Para reiniciar o serviço do Gitlab logo após tê-lo reconfigurado
1
service gitlab-runsvdir restart
Para abrir um console rails no intuito de alterar alguns parâmetros
1
gitlab-rails console
Para abrir um console rails e desbloquear um usuarío (o usuário pode ser bloqueado no GitLab após tentar logar digitando a senha errada repetidamente)

1
2
3
4
5
gitlab-rails console
user = User.find_by_email("myuser@example.com")
user.state = "active"
user.save
exit
Para instalar o Gitlab CE (Community Edition) no Debian
Siga no link abaixo para orientações diversas e continue neste poste caso precise de alguma informação complementar.
https://packages.gitlab.com/gitlab/gitlab-ce/install
E em seguida digite os códigos a seguir.
1
apt-get update
Tente instalar os pacotes abaixo (caso precise)
1
apt-get install ca-certificates curl openssh-server postfix
E de acordo com a página do Gitlab CE adicione seu repositório (lembrando que este comando abaixo pode mudar, portanto sempre consulte o link oficial informado logo acima)
Instale o pacote que já existe no Debian
1
apt-get install gitlab-ce
E para iniciar sua instância
1
gitlab-ctl reconfigure
Para desinstalar o seu Gitlab
Primeiro remova todos os serviços
1
gitlab-ctl uninstall
Limpe todos os dados gerados
1
gitlab-ctl cleanse
Execute isso para o caso de querer remover as contas configuradas
1
gitlab-ctl remove-accounts
E por último execute este se quiser remover o pacote gitlab-ce
1
dpkg -P gitlab-ce
Observação:
Fiz um pdf do tutorial da Digital Ocean (que achei muito bom) para o caso do link sair do ar
https://mega.nz/#!0QVBgYBA!7SNSffIFa32zNaGsJpAstWmnkv7IUq5bsxUBq8TtfjU
Para caso seu Gitlab dê Erro 502
Edite o arquivo de configuração do Gitlab
1
/etc/gitlab/gitlab.rb
Descomente as linhas abaixo
1
2
unicorn['worker_processes'] = 3
unicorn['worker_timeout'] = 60
Reconfigure o Gitlab
1
gitlab-ctl reconfigure

fonte: http://matigado.wordpress.com
fonte: https://forum.gitlab.com/t/how-to-reset-the-admin-password-via-the-rails-console/223
fonte: https://gitlab.com/gitlab-org/gitlab-ce/issues/13179
fonte: https://www.vivaolinux.com.br/artigo/Instalacao-do-Gitlab-e-introducao-ao-Git?pagina=3
fonte: http://blog.dimaj.net/content/updated-howto-enable-ldap-filters-gitlab
fonte: https://www.digitalocean.com/community/tutorials/como-instalar-e-configurar-o-gitlab-no-ubuntu-16-04-pt
fonte: https://askubuntu.com/questions/824696/is-it-fine-to-remove-the-opt-gitlab-directory-manually-after-removing-the-gitl
Erro 502 no Git lab
fonte: https://gitlab.com/gitlab-org/gitlab-ce/issues/30095
fonte: https://docs.gitlab.com/omnibus/settings/unicorn.html

Nenhum comentário:

Postar um comentário

 

bobox

Blogger news