source: trunk/INSTALL/arquivos/scripts/ldap.sh @ 6261

Revision 6261, 2.5 KB checked in by wmerlotto, 12 years ago (diff)

Ticket #2557 - Correcoes no instalador conforme sugestao no forum

Line 
1# Servico LDAP (OpenLDAP)
2
3# Comum a todas as distros
4DB_CONFIG=$ARQS/DB_CONFIG
5SCHEMAS=$ARQS/schemas
6
7# Parametro 1: Arquivo modelo de configuração do LDAP
8# Parametro 2: Destino (completo) do arquivo de configuração do servidor LDAP
9# Parametro 3: Diretório, do instalador, contendo os schemas do servidor LDAP
10# Parametro 4: Diretório, do servidor, para onde os schemas do servidor LDAP serao copiados
11# Exemplo: ldap $RHEL6/slapd.conf /etc/openldap/slapd.conf $SCHEMAS/* /etc/openldap/schema/
12ldap ()
13{
14        get_org
15        get_pass
16
17        # As novas distros necessitam de schemas em UTF-8. Entao estou deixando essa copia para cada distro.
18        cp -a $3/* $4/
19       
20        sed -e "s/LDAP_DN/$LDAP_DN/g" -e "s|LDAP_PWD_MD5|$LDAP_PWD_MD5|g" $1 > $2
21        sed -e "s/LDAP_DN/$LDAP_DN/g" -e "s|LDAP_PWD_MD5|$LDAP_PWD_MD5|g" -e "s/ORG/$ORG/g" -e "s/DOMAIN/$DOMAIN/g" -e "s/LDAP_DC/$LDAP_DC/g" $ARQS/expresso.ldif > /tmp/expresso.ldif
22        slapadd -v -f $2 -l /tmp/expresso.ldif
23        # TODO: E mesmo necessario rodar o slapindex ou o slapadd ja indexa?
24        #slapindex
25}
26
27# Parametros: Iguais a funcao ldap;
28ldap_debian ()
29{
30        apt-get -y install slapd ldap-utils
31        /etc/init.d/slapd stop
32        # Move a atual base LDAP
33        # TODO: Executar varias a vezes este instalador ira gerar muitos arquivos de backup! Melhor do que nao ter nenhum...
34        mv /var/lib/ldap /var/lib/ldap.`date +"%s"`
35        mkdir /var/lib/ldap
36        cp -a $DB_CONFIG /var/lib/ldap/
37
38        # Cria o arquivo de configuração do LDAP e sua árvore conforme a distro
39        ldap $1 $2 $3 $4
40        # Altera as permissões para o usuario padrao do Debian
41        chown -R openldap:openldap /var/lib/ldap
42        # Apaga os arquivos do slapd.d, para que o LDAP funcione com o
43        # slapd.conf
44        rm -rf /etc/ldap/slapd.d
45        /etc/init.d/slapd start
46}
47
48ldap_debian_6 ()
49{
50        # BDB do Squeeze
51        apt-get -y install db4.7-util
52
53        SQUEEZE=debian/squeeze/etc/ldap
54        ldap_debian $SQUEEZE/slapd.conf /etc/ldap/slapd.conf $SCHEMAS /etc/ldap/schema
55}
56
57ldap_ubuntu_1110 ()
58{
59        ldap_debian_6
60}
61
62# Parametros: Iguais a funcao ldap;
63ldap_rhel ()
64{
65        yum -y install openldap openldap-clients openldap-servers
66        service ldap stop
67        # Faz backup das bases do LDAP
68        mv /var/lib/ldap /var/lib/ldap.`date +"%s"`
69        mkdir /var/lib/ldap
70        cp -a $DB_CONFIG /var/lib/ldap/
71
72        # Cria o arquivo de configuração do LDAP e sua árvore conforme a distro
73        ldap $1 $2 $3 $4
74        chown -R ldap:ldap /var/lib/ldap
75        chkconfig slapd on
76        rm -rf /etc/openldap/slapd.d
77        service slapd start
78}
79
80ldap_rhel_6 ()
81{
82        RHEL6=rhel/6/etc/openldap
83        ldap_rhel $RHEL6/slapd.conf /etc/openldap/slapd.conf $SCHEMAS /etc/openldap/schema/
84}
85
Note: See TracBrowser for help on using the repository browser.