Este roteiro deve ser executado apenas mediante orientação explícita do Service Desk da RNP.

1. Introdução

Este tutorial apresenta os passos necessários para se fazer a instalação do OpenLDAP com o esquema brEduPerson

2. Roteiro

2.1. Inicialmente deve ser efetuada a instalação do pacote slapd. Para tanto execute as linhas de comando a seguir:

debconf-set-selections <<-EOF
slapd slapd/no_configuration boolean true
EOF
apt-get -y install slapd

2.2. Para liberar o acesso as portas utilizadas para acesso remoto ao LDAP, adicione as linhas a seguir no final do arquivo de regras do firewall (/etc/default/firewall). Em seguida, reinicie o firewall.

# Liberação do LDAP                                   #LDAP
iptables -A INPUT -p tcp -m tcp --dport 389 -j ACCEPT #LDAP
iptables -A INPUT -p tcp -m tcp --dport 636 -j ACCEPT #LDAP
                                                      #LDAP
/etc/init.d/firewall restart

2.3. No escopo do projeto, foram definidas algumas configurações padrão, com o objetivo de uniformizar os servidores LDAP das instituições. Para aplicar essas novas configurações, é preciso inicialmente parar o serviço slapd. para tanto, execute a linha de comando a seguir:

/etc/init.d/slapd stop

2.4. Faça a criação da pasta que será utilizada pela base LDAP através do comando a seguir:

mkdir /var/lib/ldap

2.5. Faça download dos arquivos de configuração criados pela equipe do projeto com os comandos a seguir:

wget https://svn.rnp.br/repos/CAFe/conf/openldap/slapd -O /etc/default/slapd --no-check-certificate
wget https://svn.rnp.br/repos/CAFe/conf/openldap/slapd.conf -O /etc/ldap/slapd.conf --no-check-certificate
wget https://svn.rnp.br/repos/CAFe/conf/openldap/ldap.conf -O /etc/ldap/ldap.conf --no-check-certificate
wget https://svn.rnp.br/repos/CAFe/conf/openldap/DB_CONFIG -O /var/lib/ldap/DB_CONFIG --no-check-certificate
wget https://svn.rnp.br/repos/CAFe/schemas/openldap/eduperson.schema -O /etc/ldap/schema/eduperson.schema --no-check-certificate
wget https://svn.rnp.br/repos/CAFe/schemas/openldap/breduperson.0.0.6.schema -O /etc/ldap/schema/breduperson.0.0.6.schema --no-check-certificate
wget https://svn.rnp.br/repos/CAFe/schemas/openldap/schac-20061212-1.3.0 -O /etc/ldap/schema/schac-20061212-1.3.0 --no-check-certificate
wget https://svn.rnp.br/repos/CAFe/schemas/openldap/samba.schema -O /etc/ldap/schema/samba.schema --no-check-certificate

2.6. Após fazer o download dos arquivos deve-se atentar para a necessidade de fazer algumas breves alterações em alguns dos arquivos conforme segue:

slapd.conf: deve-se substituir as ocorrências de ${HOSTNAME} pelo hostname da máquina (ex.: servidor, não utilizar servidor.instituicao.br). Deve-se substituir ainda as ocorrências de ${RAIZ_BASE_LDAP} pelo valor correspondente a raiz da base LDAP de sua instituição, como por exemplo dc=instituicao,dc=br.
ldap.conf: deve-se substituir as ocorrências de ${RAIZ_BASE_LDAP} pelo valor correspondente a raiz da base LDAP como por exemplo dc=instituicao,dc=br.

2.7. Edite o arquivo /etc/default/slapd e altere a entra SLAPD_CONF= para:

SLAPD_CONF=/etc/ldap/slapd.conf

2.8. Crie o arquivo /tmp/openssl.cnf com o conteúdo a seguir não esquece de substituir a variável $HOSTNAME pelo hostname máquina (ex.: servidor, não utilizar servidor.instituicao.br).

[ req ]
default_bits = 2048 # Size of keys
string_mask = nombstr # permitted characters
distinguished_name = req_distinguished_name
 
[ req_distinguished_name ]
# Variable name   Prompt string
#----------------------   ----------------------------------
0.organizationName = Nome da universidade/organização
organizationalUnitName = Departamento da universidade/organização
emailAddress = Endereço de email da administração
emailAddress_max = 40
localityName = Nome do município (por extenso)
stateOrProvinceName = Unidade da Federação (por extenso)
countryName = Nome do país (código de 2 letras)
countryName_min = 2
countryName_max = 2
commonName = Nome completo do host (incluíndo o domínio)
commonName_max = 64
 
# Default values for the above, for consistency and less typing.
# Variable name   Value
#------------------------------   ------------------------------
#0.organizationName_default =
organizationalUnitName_default = CPD
#localityName_default = Porto Alegre
#stateOrProvinceName_default = Rio Grande do Sul
countryName_default = BR
commonName_default = $HOSTNAME

É possível fazer o download do arquivo acima através da seguinte linha de comando:

wget https://svn.rnp.br/repos/CAFe/conf/ssl/openssl.cnf -O /tmp/openssl.cnf --no-check-certificate

2.9. Para gerar o par chave/certificado para o OpenLDAP, utilize os comandos no bloco abaixo:

openssl genrsa -out /etc/ldap/$HOSTNAME.key 2048 -config /tmp/openssl.cnf
openssl req -new -key /etc/ldap/$HOSTNAME.key -out /etc/ldap/$HOSTNAME.csr -batch -config /tmp/openssl.cnf
openssl x509 -req -days 730 -in /etc/ldap/$HOSTNAME.csr -signkey /etc/ldap/$HOSTNAME.key -out /etc/ldap/$HOSTNAME.crt

2.10. O LDAP que foi instalado encontra-se vazio, ou seja, não há nenhum elemento em sua base da dados. Através dos passos a seguir, será possível fazer a carga inicial de dados na base LDAP. Para se fazer a carga inicial de dados no LDAP deve-se inicialmente fazer o download do script responsável por tal etapa. Para tanto, execute a linha de comando a seguir:

wget https://svn.rnp.br/repos/CAFe/scripts/openldap/popula.sh -O /tmp/popula.sh --no-check-certificate

2.11. Após fazer download do popula.sh, edite-o substituindo as valores das variáveis SENHA_ADMIN e SENHA_LEITOR_SHIB. Tais variáveis encontram-se nas linhas 7 e 8, respectivamente. Uma vez feita a substituição do valores, execute o script através das seguintes linhas de comando:

/etc/init.d/slapd stop
sh /tmp/popula.sh
/etc/init.d/slapd start

2.12. Por fim, faça um teste de conexão utilizando o Apache Directory Studio. Em Tutorial Básico Apache DS há informações sobre a utilização desse software.

 

3. Homologação Parcial

3.1. Para garantir que os passos descritos acima foram corretamente seguidos é necessário a execução de um script de homologação. Para fazer download desde script utilize a linha de comando abaixo:

wget https://svn.rnp.br/repos/CAFe/scripts/homologacao/clientes/cafe-homolog-ldap.sh -O /tmp/cafe-homolog-ldap.sh --no-check-certificate

3.2. Após fazer download, execute este script com permissão de root.

/tmp/cafe-homolog-ldap.sh

3.3. Se todas as checagens forem bem sucedidas você deverá receber a mensagem abaixo. Envie o arquivo de log gerado pelo script para o Service Desk e aguarde instruções para continuidade do processo de adesão.

OK - Nao foram encontrados pontos impeditivos para o processo de adesao.
     Envie o arquivo de log gerado (cafe-homolog-ldap.sh.log) para o Service
     Desk da RNP para dar continuidade ao atendimento.

3.4. Se ocorrer alguma falha na checagem você deverá receber a mensagem abaixo. Identifique qual/quais checagem não foram bem sucedidas e faça a devida correção. Após isto retorne para o item 3.2. Em caso de dúvidas entre em contato com o Service Desk.

ERRO - Foram encontrados pontos impeditivos para o processo de adesao.
       Solucione os erros e execute novamente este script.

4. FAQ

A seção de FAQ está disponível aqui.