clodonil May 25th, 2009
Como já falei em outros artigos, o GOsa é uma ótima ferramenta para administração de contas de usuários no LDAP. Além de ter uma interface agradável, os recursos presente na ferramenta auxiliam os administradores de rede. Neste artigo pretendo mostrar a instalação completa do GOsa-2.6.x (combined).
Antes de instalar o GOsa, vamos instalar o pré-requisitos necessários do sistema. Como ponto de partida, será utilizado um Linux Ubuntu 9.04 pré-instalado.
-
Instalando o Apache2 e PHP5
Como o GOsa funciona via WEB, vamos primeiramente instalar o apache e o PHP5.

Após a instalação teste em um browser de internet se o apache está funcionando. O próximo passo é instalar o OpenLDAP.
-
Instalando o LDAP
Vamos utilizar o pacote do ubuntu para instalar o LDAP. Portanto instale o slapd e ldap-utils.

Não fique preocupado com as informações que são requeridas durante a instalação do slapd. Todas essas informações serão rescritas nas configurações que faremos. Para configurar o LDAP vamos precisar dos schemas do GOsa. Portanto faça o download do pacote no site http://oss.gonicus.de/pub/gosa/ ou você também pode pegar as últimas atualizações através do subversion.
É recomendável fazer o download do GOsa pelo subversion porque pega as últimas atualizações.
Se você optar fazer o download do pacote "tar.gz", utilize a versão 2.6.x da versão combined. Após fazer o download descompacte o GOsa dentro do diretório /usr/share/. E crie um link simbólico para /usr/share/gosa. O mesmo procedimento deve ser feito tanto para quem fez o download do GOsa pelo subversion ou pelo download do "tar.gz".
Segue abaixo o código que realiza essas tarefas:
Copie os arquivos de schema que estão dentro do diretório /usr/share/gosa/contrib/openldap para dentro do /etc/ldap/schema.
Com os schemas copiados vamos configurar o arquivo slapd.conf.
-
/etc/ldap/slapd.conf
Por padrão o Ubuntu trás o slapd com a configuração online. Para tirar essa opção e fazer a configuração manual utilizando o arquivo slapd.conf, teremos primeiramente que parar o slapd, apagar o diretório /etc/ldap/slapd.d e editar o arquivo /etc/default/slapd acrescentando ao path do arquivo de configuração dentro da variável SLAPD_CONF.
Configure o slapd.conf conforme abaixo altere o domínio e as senhas.
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/inetorgperson.schema
include /etc/ldap/schema/openldap.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/misc.schema
include /etc/ldap/schema/samba3.schema
include /etc/ldap/schema/gosystem.schema
include /etc/ldap/schema/gofon.schema
include /etc/ldap/schema/goto.schema
include /etc/ldap/schema/goserver.schema
include /etc/ldap/schema/gosa-samba3.schema
include /etc/ldap/schema/trust.schema
password-hash {CRYPT}
defaultsearchbase dc=trigo
pidfile /var/run/slapd/slapd.pid
argsfile /var/run/slapd/slapd.args
loglevel 1024
modulepath /usr/lib/ldap
moduleload back_hdb
moduleload back_monitor
access to dn.base=""
by * read
access to dn.subtree=cn=Monitor
by * read
access to attrs=userPassword,sambaPwdLastSet,sambaPwdMustChange,sambaPwdCanChange \
,shadowMax,shadowExpire
by dn.regex="uid=[^/]+/admin\+(realm=TRIGO)?" write
by anonymous auth
by self write
by * none
access to attrs=goImapPassword
by dn.regex="uid=[^/]+/admin\+(realm=TRIGO)?" write
by * none
access to attrs=goKrbPassword
by dn.regex="uid=[^/]+/admin\+(realm=TRIGO)?" write
by * none
access to attrs=goFaxPassword
by dn.regex="uid=[^/]+/admin\+(realm=TRIGO)?" write
by * none
access to attrs=gotoLastUser
by * write
access to attrs=sambaLmPassword,sambaNtPassword
by dn.regex="uid=[^/]+/admin\+(realm=TRIGO)?" write
by anonymous auth
by self write
by * none
access to *
by dn.regex="uid=[^/]+/admin\+(realm=TRIGO)?" =wrscx
by * readdatabase monitor
database hdb
cachesize 5000
mode 0600
suffix "dc=trigo"
checkpoint 512 720
rootdn "cn=manager,dc=trigo"
rootpw x
index default sub
index uid,mail eq
index gosaSnapshotDN eq
index gosaSnapshotTimestamp eq,sub
index gosaMailAlternateAddress,gosaMailForwardingAddress eq
index cn,sn,givenName,ou pres,eq,sub
index objectClass pres,eq
index uidNumber,gidNumber,memberuid eq
index gosaSubtreeACL,gosaObject,gosaUser pres,eq
index member pres,eq
index sambaSID eq
index sambaPrimaryGroupSID eq
index sambaDomainName eq
directory "/var/lib/ldap"
lastmod on
Para testar inicie o servidor LDAP em modo debug. Se existir algum erro a linha que contém o erro será mostrada.

Se nenhum erro for apresentado, você já pode iniciar o LDAP da forma tradicional

- Gosa
Após a instalação do OpenLDAP vamos começar a instalar o GOsa. Lembrando que descompactamos toda a ferramenta dentro do diretório /usr/share/gosa. Crie os seguintes diretórios:
- /var/spool/gosa (Coloque o usuário do apache como dono deste diretório)
- /etc/gosa
Instale os seguintes módulos do PHP:
- Suporte ao LDAP (php5-ldap)
- Suporte ao Mshash (php5-mhash)
- Suporte ao IMAP (php5-imap)
- Suporte ao Mysql(php5-mysql)
- fping
- libcrypt-smbhash-perl
- Imagick (php5-imagick)

A configuração que temos que fazer no apache é criar um alias do gosa apontando no /usr/share/gosa/html.
Alias /gosa /usr/share/gosa/html
Acrescente a linha acima no arquivo "/etc/apache2/sites-enabled/000-default". Também é necessário alterar alguns parâmetros do php.ini, para isso altere o arquivo /etc/php5/apache2/php.ini, conforme o exemplo abaixo.
register_globals = Off
session.gc_maxlifetime = 86400
session.auto_start = Off
memory_limit = 32 M
implicit_flush = Off
max_execution_time = 30
expose_php = Off
magic_quotes_gpc = On
zend.ze1_compatibility_mode = Off
Após as configurações reinicie o apache
Antes de acessar o site pelo browser, temos que rodar o comando "update-gosa" para o gosa fazer os devidos updates. Dentro do diretório "/usr/share/gosa", execute o seguinte comando

-
Instalação pelo browser
Acesse o browser e termine a instalação; utilize as telas abaixo para se guiar. Ao iniciar o browser chame o endereço do servidor apache (http://ip-do-servidor/gosa). A primeira tela que deverá aparecer é a tela1. Nesta tela podemos destacar como característica a preocupação dos criadores do GOsa com a segurança. Para continuarmos a instalação é necessário copiar a chave especifica e colocar no /tmp.
Tela1 – Inicio da instalação
Na segunda tela o usuário terá a opção de escolher o idioma que desejar usar. Não existe em português. A Seguinte expressa à licença de uso do software. A tela 4, é uma checagem dos pré-requisitos. Todas as opções requeridas devem ser atendidas. Nos pré-requisitos que descrevi anteriormente, estes itens já são instalados.
Tela4 – Checagem de pré-requisitos
A tela seguinte (tela5) também é um método de checagem de arquivos schema. Caso apareça algum erro, deve ser resolvido antes de continuar a instalação.
Tela 5 – Checagem de schemas
Na tela 6, o usuário tem que configurar a conexão com o servidor LDAP. Defina um usuário que tenha permissão de administrador na base LDAP. De acordo a configuração feita, este usuário é o cn=manager
Tela 6 – Administrador da base LDAP
Nas telas seguintes, são definidas o timezone e os aditivos de serviços que o GOsa vai suportar, tais como DNS, DHCP, entre outros. Nas telas seguintes é necessário definir as entradas de usuário e grupos, além da criptografia utiliza. Também é necessário configurar as principais funcionalidades do GOsa tais como, sessão, debug e gid, como mostra a Tela 7.
Tela 7 – Funcionalidades do GOsa
A tela seguinte é muito importante. O GOsa reorganiza todas os objetos cadastrados na base LDAP. É também cadastra o usuário administrador do GOsa. Não confunda com o administrador da base LDAP, a Tela 8 e 9 mostra essa tela.
Tela 8 – Cadastro da Estrutura do Gosa
O erro acima aconteceu porque a estrutura não existe. Para criar a estrutura clicando no "Try to create root object". Deve ficar como a tela 9. Também na tela 8 é necessário definir a senha do administrador do GOsa.
Tela 9 – Criação da estrutura
As últimas telas estão relacionadas ao arquivo de configuração. Este arquivo deve ser copiado para o diretório /etc/gosa e as permissões devem ser configuradas conforme solicitado na instalação. As telas seguintes mostram a tela de login e o gerenciamento da base LDAP.
Ambiente de gerenciamento dos usuários.
Tela 10 – Ambiente do GOsa
Tela 11- Gerenciamento de contas
Pronto, você tem um poderoso gerenciador de usuário e grupos.
Tags: GOsa, OpenLDAP