Sobre esse artigo
A idéia deste artigo é servir como base para instalação completa do GOsa2 que será utilizada por artigos futuros no que diz respeito a integração com outros serviços.
O que GOsa2 quer dizer?
GOsa2 é a forma compacta para GOnicus System Administration.
Do site http://www.gosa-project.org/
A mighty System-/Config-management frontend using LDAP as a backend. It is able to manage POSIX, Samba, Mail, Kolab, FAX, Asterisk and many more services.
Pré-requisitos
- Instalação mínima do CentOS e RedHat 5.3 (Esse guia também aplica-se à versão 5.4 e superior)
- Apache 2.2.x
- PHP 5.2
- OpenLDAP
- Repositório yum EPEL
Instalando os pré-requisitos
Como informado acima, estou partindo do princípio que você já possui um sistema CentOS ou RedHat instalado, portanto, estarei cobrindo aqui os requisitos do sistema, para ter o GOsa2 funcional.
Instalando o repositório Yum EPEL
rpm -ivh http://virtualxp.org/downloads/epel-release-5-3.noarch.rpm
Configurar o repositório do GOsa2
Vá ao diretório /etc/yum.repos.d e crie o arquivo GOsa2.repo com seu editor de texto favorito.
Arquivo GOsa2.repo
[GOsa] name=GOsa Repository baseurl=ftp://oss.gonicus.de/pub/gosa/redhat enabled=1 gpgcheck=0
Configurando repositório para PHP 5.2
O PHP 5.2 não está no repositório oficial do CentOS / RedHat, para isso será necessário utilizarmos um repositório de terceiros, nesse guia utilizarei o repositório do Utter Ramblings. É um repositório confiável e estável, pode utilizar sem maiores receios.
Vá ao diretório /etc/yum.repos.d e crie um novo arquivo com seu editor de textos favorito com o seguinte conteúdo:
Arquivo utterramblings.repo
[utterramblings] name=Jason's Utter Ramblings Repo baseurl=http://www.jasonlitka.com/media/EL$releasever/$basearch/ enabled=1 gpgcheck=1 gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka
Esse repositório já tem também o Apache 2.2.x a ser utilizado.
Instalando o servidor OpenLDAP
Pode ser utilizado a versão oficial.
Para isso, executar o comando:
yum install openldap openldap-clients openldap-servers
Instalando o GOsa2 via yum
Com os pré-requisitos satisfeitos, prossegue-se com a instalação definitiva do GOsa2.
Há uma série de plugins disponíveis para o GOsa2, fazendo uma busca no seu repositório, é possível ter uma idéia dos plugins e você pode instalar os que adequam ao seu ambiente:
yum search gosa
WARNING: Evite instalar o pacote gosa-desktop pois virá o Gnome e o X com dependência.
Abaixo estão os pacotes que serão instalados para esse guia, como dito antes, adeque com o que lhe servir.
yum install gosa-schema.noarch gosa-plugin-systems.noarch gosa-plugin-sudo.noarch gosa-plugin-squid.noarch gosa-plugin-samba.noarch gosa-plugin-rolemanagement.noarch gosa-plugin-pureftpd.noarch gosa-plugin-mail.noarch gosa-plugin-log.noarch gosa-plugin-ldapmanager.noarch gosa-plugin-dns.noarch gosa-plugin-dhcp.noarch gosa-plugin-connectivity.noarch gosa-plugin-addressbook.noarch gosa-help-en.noarch gosa.noarch
Editar prâmetros do PHP (php.ini) para o GOsa2
Para que o GOsa2 rode adequadamente, é necessário alterar 2 parâmetros no arquivo /etc/php.ini. Edite o arquivo e grave as alterações.
Antes:
- expose_php = On
- magic_quotes_gpc = Off
Depois:
- expose_php = Off
- magic_quotes_gpc = On
Certificando-se que os serviços corretos iniciarão no boot
Fazer com o Apache e o OpenLDAP iniciem no boot.
chkconfig --levels 35 ldap on chkconfig --levels 35 httpd on
Configurando o OpenLDAP para ser utilizado com o GOsa2
Temos todos os programas necessários instalados e tudo indo bem, agora é parte mais crítica, mas não complicada, do ambiente que estamos configurando.
Será necessário adequar o OpenLDAP para que o GOsa2 se entenda com ele, isso significa apresentar os schemas corretos ao OpenLDAP.
Crie um cópia de backup do arquivo de configuração atual, just in case :)
cd /etc/openldap cp slapd.conf slapd.conf.orig
Gerar uma senha para o cn=Manager
slappasswd -h {SSHA}
New password:
Re-enter new password:
{SSHA}Nag4FWwXLoGO/WpdpFJUlMVCBYwB94wt
O resultado foi um hash da senha informada, nesse caso utilizei a senha “fogonacaixadagua” e gerou esse hash, guarde esse hash por que ele será utilizado na sequencia.
Edite o arquivo /etc/openldap/slapd.conf e faça com fique parecido com o seguinte:
include /etc/openldap/schema/corba.schema
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/dyngroup.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/java.schema
include /etc/openldap/schema/misc.schema
include /etc/openldap/schema/nis.schema
include /etc/openldap/schema/openldap.schema
include /etc/openldap/schema/ppolicy.schema
include /etc/openldap/schema/gosa/samba3.schema
include /etc/openldap/schema/gosa/pureftpd.schema
include /etc/openldap/schema/gosa/gofon.schema
include /etc/openldap/schema/gosa/gosystem.schema
include /etc/openldap/schema/gosa/goto.schema
include /etc/openldap/schema/gosa/gosa-samba3.schema
include /etc/openldap/schema/gosa/gofax.schema
include /etc/openldap/schema/gosa/goserver.schema
include /etc/openldap/schema/gosa/goto-mime.schema
include /etc/openldap/schema/gosa/trust.schema
include /etc/openldap/schema/gosa/dnszone.schema
include /etc/openldap/schema/gosa/gosa_custom.schema
pidfile /var/run/openldap/slapd.pid
argsfile /var/run/openldap/slapd.args
database bdb
suffix "dc=FogoNaCaixadAgua"
rootdn "cn=Manager,dc=FogoNaCaixadAgua"
# Senha gerada pelo comando slappasswd -h {SSHA}
rootpw {SSHA}Nag4FWwXLoGO/WpdpFJUlMVCBYwB94wt
directory /var/lib/ldap
index entryCSN,entryUUID eq
index uid,mail eq
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 sambaSID eq
index sambaPrimaryGroupSID eq
index sambaDomainName eq
cachesize 100000
Copiar alguns schemas que não estão no diretório certo:
cp /usr/share/gosa/plugins/pureftpd/contrib/pureftpd.schema /etc/openldap/schema/gosa cp /usr/share/gosa/plugins/dns/contrib/dnszone.schema /etc/openldap/schema/gosa
Criar o arquivo /etc/openldap/schema/gosa_custom.schema com o seguinte conteúdo:
Arquivo /etc/openldap/schema/gosa_custom.schema
#$Id: authldap.schema,v 1.8 2005/03/20 19:10:30 mrsam Exp $
#
# OID prefix: 1.3.6.1.4.1.25981
#
# Attributes: 1.3.6.1.4.1.25981.1.1
#
# Depends on: gosa.schema and cosine.schema
attributetype ( 1.3.6.1.4.1.25981.1.1.1 NAME 'gosaMailHome'
DESC 'The absolute path to the mail message stor directory in a virtual mail setup.'
EQUALITY caseExactIA5Match
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
#
# Objects: 1.3.6.1.4.1.25981.1.2
#
objectclass ( 1.3.6.1.4.1.25981.1.2.1 NAME 'gosaVirtualMailAccount' SUP top AUXILIARY
DESC 'Objectclass to mark Virtual MailAccounts for GOsa (v2.4)'
MAY ( gosaMailHome ) )
Iniciando o OpenLDAP
Com o OpenLDAP server configurado e o schemas copiados, copie o arquivo DB_CONFIG.example para o diretório do LDAP:
cd /etc/openldap cp DB_CONFIG.example /var/lib/ldap/DB_CONFIG
Agora pode-se iniciar o OpenLDAP e verificar se tudo vai bem.
service ldap start
Checking configuration files for slapd: config file testing succeeded
[ OK ]
Starting slapd: [ OK ]
Iniciando o Apache
O apache foi instalado e fará a interface para o GOsa2.
O próprio pacote do GOsa2 criou um arquivo de configuração para ele no apache, esse arquivo encontra-se em /etc/httpd/conf.d/gosa-apache.conf
Seu conteúdo é o seguinte:
# Include GOsa to your web service Alias /gosa /usr/share/gosa/htmlphp_admin_flag engine on php_admin_flag register_globals off php_admin_flag allow_call_time_pass_reference off php_admin_flag expose_php off php_admin_flag zend.ze1_compatibility_mode off php_admin_flag register_long_arrays off php_admin_flag magic_quotes_gpc on php_admin_value upload_tmp_dir /var/spool/gosa/ php_admin_value session.cookie_lifetime 0 include /etc/gosa/gosa.secrets PHP_Fix_Pathinfo_Enable 1 Options +ExecCGI AddHandler fcgid-script .php FCGIWrapper /var/www/php-fcgi/php-fcgi-starter .php include /etc/gosa/gosa.secrets
Não é recomendado alterá-lo, a não ser que seja realmente necessário.
Pode-se iniciar o serviço do apache.
service httpd start Starting httpd: [ OK ]
Configurando o GOsa2 pela interface Web
Depois de iniciar o serviço do apache, acesse o IP do host que foi instalado o GOsa2, como por exemplo:
Tela inicial da configuração do GOsa2
http://192.168.11.13/gosa/
Note a parte destacada da imagem, é necessário executar esse comando para que o instalador do GOsa2 saiba que você tem poder sobre o servidor.
echo -n 93esjraq6baopmpchl1qsksc84 > /tmp/gosa.auth
Após executado o comando, clique em “Next”.
Seleção da linguagem

Escolha a linguagem e clique em “Next”.
Verificação do ambiente

Se houver alguma falha nessa parte, volte para o início do documento e revise a sessão que diz: Editar prâmetros do PHP (php.ini) para o GOsa2.
Após todos os campos estarem com OK, clique em “Next”.
Aceite do acordo
Nessa tela faz-se o aceite do acordo da licença.

Após marcar, conforme a a figura acima, clique em “Next”.
Conexão com o LDAP
Aqui configura-se a conectividade com o OpenLDAP que configuramos anteriormente.

As partes que devem ser alteradas estão marcadas em 1 e 2, no caso:
1. Informar o contexto para o usuário Manager, “cn=Manager,dc=FogoNaCaixadAgua”
2. Colocar a senha que foi gerada no hash, “fogonacaixadagua”
Clicar em “Next””.
Verificação dos schemas
Configuração do GOsa2 1/3
Deixe as opções padrão e clique em “Next”.

Configuração do GOsa2 2/3
Mais algumas configurações pertinentes ao GOsa2.

Abaixo, vou explicar as alterações feitas, baseada na numeração da figura acima, altere-as conforme mostrado na foto.
1. É onde ficarão gravadas as informações das workstations de um domínio Windows
2. Timezone para o GOsa2.
3. Habilitar o “Copiar / Colar”, é uma função bastante interessante quando se quer mudar uma entrada de Unidade Organizacional, por exemplo.
4. Habilitar snapshots, são úteis para reverter uma adição mal feita, por exemplo.
5. Informar a senha do Manager, “fogonacaixadagua”.
Clicar em “Next” ao terminar.
Configurações do GOsa2 3/3
Última parte da configuração do GOsa2.

1. Coloque a sua comunidade SNMP caso já exista alguma padrão na sua rede, ou coloque ‘public’ apenas.
2. Para habilitar as configurações do SUDO no LDAP.
Quando terminar, clicar em “Next”.
Inspeção final do LDAP
Nessa tela, haverá uma checagem para verificar se existe alguma árvore no LDAP, como começamos do zero, não tem nada, por isso vê-se uma sequencia de falhas. Não se preocupe, logo vai estar tudo verdinho!
Para criar o objeto root, clique no botão conforme destacado na imagem abaixo.

Após clicar no botão “Try to create a root object” veja que as coisas começar a melhorar ;)
Clique primeiro no botão “Migrate” em “Inspecting object classes in root object” e você vai ser direcionado para a página abaixo:
Voltando para a tela da inspeção do LDAP, clique no único botão que aparece:

Dessa vez, é para criar uma senha para o usuário ‘admin’ que logará na interface Web do GOsa2, informe a senha para esse usuário, aqui foi definida “fogonacaixadagua” e clique em “Apply”.

Tudo bonito agora e verdinho, conforme o prometido!
Hora de prosseguir, para o final. Clique em “Next”.
Enviar um feedback
Aqui é por sua conta.
Terminando, clique em “Next”.
FIM
Chegamos.

Faça o download do arquivo de configuração para o seu computador e copie para o diretório /etc/gosa no servidor do GOsa2, altere as permissões do arquivo conforme a sugestão do instalador.
scp ~/temp/gosa.conf [email protected]:/etc/gosa
E depois, no servidor
chown root:apache /etc/gosa/gosa.conf chmod 640 /etc/gosa/gosa.conf
Clique em “Next” na tela final do instalador para confirmar que o arquivo está lá.
Você então será agraciado com a tela de Login e utilize o usuário ‘admin’ com a senha definida no processo de instalação.









3 comments
Join the conversationDaniel - 02/07/2010
Boa, perfeito teu howto. Agora, vou tentar integrar as coisas nele =).
Jugleni Junior - 17/11/2010
Parabéns Daniel pelo Post, para colaborar vou deixar um simples correção registrada.
Você informou que o arquivo gosa_custom.schema ficaria na diretório /etc/openldap/schema/gosa_custom.schema mais na verdade fica no /etc/openldap/schema/gosa/gosa_custom.schema
Outro detalhe importante registrar: Ao fazer o login minha tela ficava em branco.
Vi varias pessoas com as mesmas dificuldades.
http://localhost/gosa/main.php?global_check=1 “result a white page”
um referencia – https://oss.gonicus.de/pipermail/gosa/2005-May/000951.html
Log do Problema:
tail /var/log/httpd/ssl_error_log
…[error] [client 127.0.0.1] PHP Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 30720 bytes) in /usr/share/gosa/plugins/systems/admin/systems/class_servGeneric.inc on line 91
Informa que a memória utilizada esta sendo mais do que esta disponível.
A solução para isto foi aumentar a memória no php.ini
memory_limit = 128M ; Maximum amount of memory a script may consume (16MB)
Abraço,
Daniel Kühl Lima - 19/11/2010
Parabéns a sua colaboração!
Muito obrigado, abraço.