Implantação de um Sistema de Workgroup Open Source

O objetivo deste documento é ajudar pessoas que, como eu, querem não somente a receita de bolo de como fazer, mas entender o por quê de cada coisa, entender um pouco do por quê e para quê. E é justamente isto que tento fazer neste documento, compilar de forma concisa tudo sobre groupware e correio eletrônico, os conceitos e a instalação. Espero que ajude a muitos como me ajudou.

[ Hits: 118.078 ]

Por: Claudio Rocha de Jesus em 14/01/2008


Configuração de contas LDAP



Antes de configurar as conexões do LDAP no eGroupware siga as instruções no arquivo Readme LDAP para a versão 2.x do OpenLDAP.

Os seguintes arquivos são utilizados com o OpenLDAP 2.x:
  • phpgwaccount.schema: Define o objectclass phpgwAccount e seus atributos;
  • phpgwcontact.schema: Define o objectclass phpgwContact e seus atributos.

Copie os dois arquivos de schema que estão no diretório /var/www/egroupware/phpgwapi/doc/ldap/ para o diretório de schema do OpenLDAP. No Debian está em /etc/ldap/schema e adicione no arquivo /etc/ldap/slapd.conf uma linha de include para cada arquivo de schema. Da seguinte forma:

include            /etc/openldap/schema/phpgwaccount.schema
include            /etc/openldap/schema/phpgwcontact.schema

É necessário ajustar também os índices para o seguinte:

index           default                                         eq
index           objectClass                                     eq
index           phpgwContactOwner                               pres,eq,sub
index           uidNumber                                       pres,eq
index           mail,mailAlternateAddress,uid                   eq,sub
index           accountStatus,mailHost,deliveryMode             eq

Feito isso, prossiga:

Modificar uma base de dados LDAP existente para usar com eGroupWare (para uma nova instalação usando contas LDAP).

Importar contas LDAP para as tabelas do eGroupWare (para uma nova instalação usando contas no SQL).

Exportar contas eGroupWare do SQL para o LDAP.

Configurar contas de demonstração no LDAP.

Isto irá criar 1 conta de administrador e 3 contas demo.

Os usuários/senhas são: demo/guest, demo2/guest and demo3/guest.

Remover todas as contas SQL, grupos, regras de acesso e preferências existentes? (Normalmente isso não é necessário - seus dados serão perdidos)

Detalhes da conta do Administrador
usuário para administração
Primeiro nome do Administrador
Último nome do Administrador
Senha do Administrador
Digite novamente a senha
Criar contas de Demonstração

Configurando manualmente o acesso ao Postgresql
Certifique-se que pode alcançar a base de dados do postgres.
No /etc/postgresql/postgresql.conf defina 'tcpip_socket = true' caso não esteja, removendo o carcater "#" do inicio da linha.

Verifique se o método de acesso apropriado é permitido dentro de /etc/postgresql/pg_hba.conf:

Comente as linhas acima e deixe-as assim:

TYPE   DATABASE  USER          IP-ADDRESS   IP-MASK                   METHOD
local     all                  postgres                                                                   ident   sameuser
local     egroupware all                                                                              trust
local     all                  all                                                                              ident   sameuser
host      all                  all                127.0.0.1        255.255.255.255    ident   sameuser
host      egroupware all                127.0.0.1        255.255.255.255    md5
host      all                  all                 0.0.0.0            0.0.0.0                       reject
host      all                  all                 0.0.0.0            255.255.255.255    reject

Reinicie o servidor de banco de dados:

# /etc/init.d/postgresql restart

Para testar se a conexão esta acontecendo corretamente execute:

# su postgres
$ psql -h localhost template1

Exibindo a seguinte mensagem esta tudo correto:

Bem-vindo ao psql 7.4.7, o terminal iterativo do PostgreSQL.

Digite: \copyright para mostrar termos de distribuição
\h para ajuda com comandos SQL
\? para ajuda com comandos internos
\g ou terminar com ponto-e-vírgula para executar a consulta
\q para sair
template1=#

Para sair do terminal do postgres digite \q e pressione enter.

Agora crie um usuário que possua privilégios de acessar o banco de dados do eGroupware. Siga os passos abaixo:

$ createuser egroupware -P
Entre com a senha duas vezes
Enter password for new user:
Enter it again:
Responda "Y" para a próxima pergunta.
Shall the new user be allowed to create databases? (y/n) y
Responda "N" para a próxima pergunta.
Shall the new user be allowed to create more new users? (y/n) n
Se exibir a mensagem abaixo o usuário foi criado corretamente.
CREATE USER

Crie uma base de dados:
$ createdb -U egroupware egroupwaredbname
CREATE DATABASE

Adicionar domínio no arquivo header.inc.php

Nesta tela é feito primeiro uma análise da configuração do php, informando por exemplo qual a versão do php utilizada, se existe suporte a banco de dados e qual.

Mudanças necessárias em outros arquivos de configuração:

Integrando o Postfix com o LDAP:

Abra o arquivo /etc/postfix/main.cf acrescentando as seguintes linhas:

# Integracao com OpenLDAP
virtual_maps = ldap:ldapsource
ldapsource_server_host = 192.168.100.3
ldapsource_domain = minhaempresa.com.br
ldapsource_search_base = dc=minhaempresa,dc=com,dc=br
ldapsource_query_filter = (&(mail=%s)(objectClass=phpgwAccount))
ldapsource_result_filter = %u
ldapsource_result_attribute = uid
ldapsource_scope = sub
ldapsource_bind = no

Adicionando os schema:

Depois das outras linhas de include que já existem inclua uma para o schema do qmail, conforme mostrado abaixo:

# Schema and objectClass definitions
include         /etc/ldap/schema/core.schema
include         /etc/ldap/schema/cosine.schema
include         /etc/ldap/schema/nis.schema
include         /etc/ldap/schema/inetorgperson.schema
include         /etc/ldap/schema/phpgwaccount.schema
include         /etc/ldap/schema/phpgwcontact.schema
include         /etc/ldap/schema/qmail.schema

Aqui a ordem das entradas faz diferença.

Indexando a base de dados:

Para fazer buscas mais eficientes na base de dados, podemos indexar a base com certos campos. Para isso inclua o seguinte no arquivo slapd.conf:

# Indexing options for database #1
index   default                                         eq,sub
index   objectClass                                     eq
index   phpgwContactOwner                               pres,eq,sub
index   mail,mailAlternateAddress,uid                   eq,sub
index   accountStatus,mailHost,deliveryMode             eq
index   uidNumber                                       pres,eq

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Análise de produtos
   3. Definições
   4. Produtos
   5. Pacotes utilizados
   6. Configurações
   7. Configurações - continuação
   8. eGroupware
   9. Configuração de contas LDAP
   10. Atualizando a versão do eGroupWare
   11. ClamAV
   12. Patch de auto-create do Cyrus
   13. Bibliografia
Outros artigos deste autor

Conversão da base de dados do Cyrus IMAP no Debian

Git - Ciclo básico de trabalho

Compilando o Mono 2.2 no Ubuntu 8.10

Leitura recomendada

Instalando Postfix e Dovecot no SLES 11 e autenticando em um diretório da Novell (Edir)

Postfix fazendo relay SMTP do Gmail/Google Apps

Abrindo arquivos TNEF

Relay autenticado para Postfix no Debian

Webmail Roundcubemail em PHP4/PHP5 com skins, LDAP e extras

  
Comentários
[1] Comentário enviado por lucas.suporte em 14/01/2008 - 14:50h

otimo artigo, com bastante conceitos nos assuntos abordados, apresentando um forma de o leitor expandir o assunto do artigo.
Parabens!
Lucas Rocha
Analista de Rede

[2] Comentário enviado por Sandro Li em 14/01/2008 - 16:45h

Este artigo é excelente. Parabéns Claudio! Para mim, que sou novo aqui, ele está muito bem explicado.

Sandro Lima
Técnico em Informática.

[3] Comentário enviado por rodrigosalmeida em 14/01/2008 - 16:48h

Muito bom artigo...Parabens...

[4] Comentário enviado por jorcelangelo em 15/01/2008 - 14:52h

Uns dos melhores tutoriais que ja encontrei sobre software-livre na internet.
Parabens!!! Voce merece nota 10 !!!

E um detalhe, continue enviando tutoriais. Sempre estaremos agradecidos pelo seu trabalho.

[5] Comentário enviado por rlamana em 17/01/2008 - 11:28h

Muito bacana o artigo.

Vale a pena citar também o Zimbra que é um ótimo suite de colaboração e já esta totalmente traduzido para português brasil!

Abraços


[6] Comentário enviado por jamerson em 30/10/2008 - 17:07h

muito bom artigo, mas vc acha o egroupware melhor q o OpenGroupware?

[7] Comentário enviado por tiagotavares em 14/11/2008 - 12:14h

Respondendo a pergunta do usuário "jamerson", não minha opinião o EGroupware é melhor que o OpenGroupware. Estou migrando do OGO para o EGroupware, e estou gostando muito!

[8] Comentário enviado por dbsechin em 16/04/2009 - 18:29h

Alguem conseguiu integrar o addressbook do egroupware ao LDAP?

não estou conseguindo, se alguem conseguir...


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts