Instalação do OpenLDAP
        
        
          
          
            Nota
          
          
            Se você precisar instalar somente os binários "ldap*" do lado cliente, páginas
            de manual, bibliotecas e arquivos de cabeçalho correspondentes
            (referidos como instalação “client-only”), [então] emita estes
            comandos, em vez dos seguintes (nenhuma suíte de teste
            disponível):
          
          patch -Np1 -i ../openldap-2.6.10-consolidated-1.patch &&
autoconf &&
./configure --prefix=/usr     \
            --sysconfdir=/etc \
            --disable-static  \
            --enable-dynamic  \
            --disable-debug   \
            --disable-slapd   &&
make depend &&
make
          
            Em seguida, como o(a) usuário(a) "root":
          
          make install
         
        
          Deveria existir um(a) usuário(a) e um grupo dedicado(a) para
          assumir o controle do processo de segundo plano "slapd" depois de ele ser
          iniciado. Emita os seguintes comandos como o(a) usuário(a)
          "root":
        
        groupadd -g 83 ldap &&
useradd  -c "Proprietário(a) do Processo de Segundo Plano OpenLDAP" \
         -d /var/lib/openldap -u 83 \
         -g ldap -s /bin/false ldap
        
          Instale o "OpenLDAP" executando os
          seguintes comandos:
        
        patch -Np1 -i ../openldap-2.6.10-consolidated-1.patch &&
autoconf &&
./configure --prefix=/usr         \
            --sysconfdir=/etc     \
            --localstatedir=/var  \
            --libexecdir=/usr/lib \
            --disable-static      \
            --disable-debug       \
            --with-tls=openssl    \
            --with-cyrus-sasl     \
            --without-systemd     \
            --enable-dynamic      \
            --enable-crypt        \
            --enable-spasswd      \
            --enable-slapd        \
            --enable-modules      \
            --enable-rlookups     \
            --enable-backends=mod \
            --disable-sql         \
            --disable-wt          \
            --enable-overlays=mod &&
make depend &&
make
        
          Os testes são frágeis e erros podem fazer com que os testes abortem
          antes de finalizarem. Alguns erros podem ocorrer devido a problemas
          de temporização. Os testes duram cerca de uma hora e o tempo
          independe da CPU devido a atrasos nos testes. Na maioria dos
          sistemas, os testes executarão até o teste test065-proxyauth for mdb. Para testar os
          resultados, emita: make
          test.
        
        
          Agora, como o(a) usuário(a) "root":
        
        make install &&
sed -e "s/\.la/.so/" -i /etc/openldap/slapd.{conf,ldif}{,.default} &&
install -v -dm700 -o ldap -g ldap /var/lib/openldap    &&
install -v -dm700 -o ldap -g ldap /etc/openldap/slapd.d &&
chmod   -v    640     /etc/openldap/slapd.{conf,ldif}   &&
chown   -v  root:ldap /etc/openldap/slapd.{conf,ldif}   &&
install -v -dm755 /usr/share/doc/openldap-2.6.10 &&
cp      -vfr      doc/{drafts,rfc,guide} \
                  /usr/share/doc/openldap-2.6.10
       
      
        
          Explicações do Comando
        
        
          --disable-static: Essa
          chave impede a instalação das versões estáticas das bibliotecas.
        
        
          --disable-debug: Essa chave
          desabilita o código de depuração no "OpenLDAP".
        
        
          --enable-dynamic: Essa
          chave força as bibliotecas do "OpenLDAP" a serem vinculadas dinamicamente aos
          aplicativos executáveis.
        
        
          --enable-crypt: Essa chave
          habilita usar senhas do crypt(3).
        
        
          --enable-spasswd: Essa
          chave habilita a verificação de senha do "SASL".
        
        
          --enable-modules: Essa
          chave habilita o suporte a módulo dinâmico.
        
        
          --enable-rlookups: Essa
          chave habilita pesquisas reversas de nomes de dispositivos
          clientes.
        
        
          --enable-backends: Essa
          chave habilita todas as estruturas de retaguarda disponíveis.
        
        
          --enable-overlays: Essa
          chave habilita todas as sobreposições disponíveis.
        
        
          --disable-sql: Essa chave
          desabilita explicitamente a estrutura "SQL" de retaguarda. Omita
          essa chave se um servidor "SQL" estiver instalado e você for usar
          uma estrutura "SQL" de retaguarda.
        
        
          --disable-wt: Essa chave
          desabilita explicitamente a estrutura "WiredTiger" de retaguarda.
          Omita essa chave se o "WiredTiger" estiver instalado e você for
          usar uma estrutura "WiredTiger" de retaguarda.
        
        
          --libexecdir=/usr/lib: Essa
          chave controla onde o diretório "/usr/lib/openldap" está instalado. Tudo nesse
          diretório é uma biblioteca, de forma que ele pertence a
          "/usr/lib" em vez de "/usr/libexec".
        
        
          --enable-slp: Essa chave habilita o
          suporte a "SLPv2". Use-a se você tiver instalado o "OpenSLP".
        
        
          --disable-versioning: Essa chave
          desabilita o versionamento de símbolos nas bibliotecas do
          OpenLDAP. O padrão é o de ter
          versionamento de símbolos. Observe que se você tiver construído
          aplicativos usando esse pacote com versionamento de símbolos e
          removeu os símbolos, os aplicativos possivelmente falhem na
          execução.
        
        
          
          
            Nota
          
          
            Você pode executar "./configure
            --help" para ver se existe outra chave que você
            possa passar para o comando "configure" para habilitar
            outras opções ou pacotes de dependência.
          
         
        
          "install ...",
          "chown ..." e
          "chmod ...": Ter
          arquivos de configuração do "slapd" e bases de dados "ldap" em
          "/var/lib/openldap" legíveis por qualquer pessoa é um PROBLEMA DE
          SEGURANÇA, especialmente porque um arquivo armazena a senha do(a)
          administrador(a) em TEXTO SIMPLES. É por isso que o modo 640 e a
          titularidade de propriedade "root:ldap" foi usado. O proprietário é
          o(a) "root", de forma que somente o(a) "root" consegue modificar o
          arquivo, e o grupo é o "ldap", de forma que o grupo que titulariza
          o processo de segundo plano "slapd" consiga ler, mas não modificar
          o arquivo em caso de uma brecha de segurança.
        
       
      
        
          Configurando o OpenLDAP
        
        
          
            Arquivos de
            Configuração
          
          
            
              - 
                
                  Para o cliente do "LDAP": "/etc/openldap/ldap.conf" e "~/.ldaprc"
                
               
              - 
                
                  Para o servidor do "LDAP", dois mecanismos de configuração
                  são usados: um arquivo legado de configuração "/etc/openldap/slapd.conf" e o sistema
                  recomendado "slapd-config", usando uma base
                  de dados "LDIF" armazenada em "/etc/openldap/slapd.d".
                
               
            
           
         
        
          
            Informação de Configuração
          
          
            Configurar os servidores "slapd" pode ser complexo.
            Proteger o diretório do "LDAP", especialmente se você estiver
            armazenando dados não públicos, como bases de dados de senhas,
            também pode ser uma tarefa desafiadora. Para a finalidade de
            configurar o "OpenLDAP", você
            precisará modificar ou o arquivo "/etc/openldap/slapd.conf" (método antigo) ou o
            arquivo "/etc/openldap/slapd.ldif"
            e, em seguida, usar o "ldapadd" para criar a base de
            dados de configuração do "LDAP" em "/etc/openldap/slapd.d" (recomendado pela
            documentação do "OpenLDAP").
          
          
            
            
              Atenção
            
            
              As instruções acima instalam uma estrutura vazia do "LDAP" e um
              arquivo "/etc/openldap/slapd.conf" padrão, que são
              adequados para testar a construção e outros pacotes que usem o
              "LDAP". Não os use em um servidor de produção.
            
           
          
            Recursos para te ajudar com tópicos como escolha de configuração
            de diretório, definições de estrutura de retaguarda e base de
            dados, configurações de controle de acesso, execução como um(a)
            usuário(a) diferente de "root" e
            configuração de um ambiente "chroot" incluem:
          
          
         
        
          
            Conjunto de
            Comandos Sequenciais de Inicialização
          
          
            Para automatizar a inicialização do servidor do "LDAP" na
            inicialização do sistema, instale o conjunto
            de comandos sequenciais de iniciação "/etc/rc.d/init.d/slapd" incluso no
            pacote "blfs-bootscripts-20250225"
            "" usando o seguinte comando:
          
          make install-slapd
          
            
            
              Nota
            
            
              Você precisará modificar o "/etc/sysconfig/slapd" para incluir os
              parâmetros necessários para a tua configuração específica.
              Veja-se a página de manual do "slapd" para informações de
              parâmetros.
            
           
         
        
          
            Testando a Configuração
          
          
            Inicie o servidor do "LDAP" usando o
            conjunto de comandos sequenciais de iniciação:
          
          /etc/rc.d/init.d/slapd start
          
            Verifique o acesso ao servidor do "LDAP" com o seguinte comando:
          
          ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts
          
            O resultado esperado é:
          
          # extended LDIF
#
# LDAPv3
# base <> with scope baseObject
# filter: (objectclass=*)
# requesting: namingContexts
#
#
dn:
namingContexts: dc=my-domain,dc=com
# search result
search: 2
result: 0 Success
# numResponses: 2
# numEntries: 1