Instalação do EGroupware em ambiente Web utilizando o ISPConfig3 com Linux/Debian

Publicado: 15/10/2012 em Programação, Serviços IP
Tags:,

1. Introdução
ISPConfig 3 é um painel de controle para “hosting” de código aberto para Linux, que é capaz de gerenciar múltiplos servidores a partir de um painel de controle. ISPConfig está licenciado sob a licença BSD e tem suporte para a língua portuguesa. Já o Egroupware é uma ferramenta de colaboração on-line que pode ser utilizado tanto através de sua interface web nativa (que podemos afirmar que é sua forma mais utilizada), quanto pela utilização de clientes de groupware, tais como Kontact e Novell Evolution. Egroupware está licenciada através da GNU General Public License v.2.0 (GPL2).

Ambiente utilizado neste post:
Egroupware: 1.8.004
ISPConfig: 3.0.4.6
Apache: 2.2
S.O.: Linux/Debian Squeeze (Debian 6)
Módulos Apache habilitados (entre outros): rewrite ssl suexec php5 suphp vhost_alias

2. Considerações preliminares
O Egroupware está empacotado para Debian (bem como para outras distribuições), pronto para ser instalado e utilizado como serviço, rodando como usuário “root”. Em um ambiente multisites, é interessante que os scripts do e-groupware sejam instalados e executados a partir das próprias pastas de cada site (que estariam vinculados ao proprietário do site instalado, e não ao usuário “root”). Claro, o servidor Apache estaria com o módulo rewrite habilitado, e, para aumentar a segurança e facilidades de funcionamento do ambiente, com os módulos do Apache su_php e su_exec habilitados.

Deve-se criar um novo dominio através do ISPConfigure. Para efeito deste post, serão criados:
Para o cliente: client1
Para o site: web1 (primeiro criar a pasta subdominios/egroupware, e com o ISPConfig configurar esta como um subdominio)

Assim, o ISPConfig e Apache utilizarão como endereço físico para chegar ao site o endreço /var/www/clients/client1/web1/web/subdominios/egroupware/
Para facilitar a descrição deste post, vamos chamar pasta_inicial = /var/www/clients/client1/web1/web/subdominios/egroupware/

Também para facilitar este post, introduzimos o conceito de pasta_raiz_web (obs: que seria equivalente ao public_html do CPanel) como sendo a pasta a partir da qual deve-se disponibilizar os scripts das aplicações, incluindo a criação dos subdiretórios o site. No caso deste post, o domínio criado através do ISPConfig http://www.meusite.com.br tem seu DocumentRoot em /var/www/clients/client1/web1/web . Por segurança e bom funcionamento junto ao módulo su_php, todas as pastas a partir de pasta_raiz_web devem ter modo 755, e todos os arquivos modo 644.

3. Baixe o e-groupware e descompacte o arquivo em pasta_inicial
O Egrooupware pode ser baixado de http://sourceforge.net/projects/egroupware/files/
OBS: a versão do EGroupware 1.8 pode ser encontrada em: http://sourceforge.net/projects/egroupware/files/eGroupware-1.8/eGroupware-1.8.004.20121024/

Dois arquivos são essenciais:
eGroupware-egw-pear-1.8
eGroupware-1.8

4. Configurar arquivo php.ini
No arquivo .htaccess que está em pasta_inicial/ e que fora fornecido pelo Egroupware (OBS: verifique o seu conteúdo pois muitos “shared hosts” não concordam com certos parâmetros ali definidos), acrescentar uma linha para orientar o módulo su_php de não adotar o php.ini “default” definido no ambiente geral do servidor. Isso é razoável de ser feito pois, por exemplo, esta aplicação Egroupware requer mais memória que outras aplicações. Assim, estaremos dando a cada aplicação o que realmente necessita sem sobrecarregar o ambiente do servidor. No início do arquivo pasta_inicial/.htacces acrescente uma linha para ler um arquivo php.ini personalizado que será colocado neste pasta:

suPHP_ConfigPath pasta_inicial/php.ini

Desta forma, neste momento, o arquivo .htacces ficou da seguinte forma:


<IfModule mod_suphp.c>
suPHP_ConfigPath /var/www/clients/client1/web1/web/subdominios/egroupware
</IfModule>
Options All -Indexes
#
# Set
#
# AllowOverride FileInfo
#
# to enable parsing off this file
#
php_flag file_uploads on
php_flag log_errors on
php_flag magic_quotes_gpc off
php_flag magic_quotes_runtime off
php_flag register_globals off
php_flag short_open_tag on
php_flag track_vars on
php_flag display_errors off
# E_ALL & ~E_NOTICE & ~E_STRICT = 8191 - 8 - 2048 = 6135
php_value error_reporting 6135
php_value max_execution_time 90
php_value memory_limit 256M
php_value session.gc_maxlifetime 14400
php_value upload_max_filesize 64M
php_value post_max_size 65M
# session handling: now the check for expired sessions is done on every 10th session creation
php_flag session.use_trans_sid Off
php_value session.gc_probability 1
php_value session.gc_divisor 10
# multibyte extension: needed for utf-8
php_value mbstring.func_overload 7

Inicialmente, copie o seu php.ini “default” de seu ambiente (/etc/php5/apache2/php.ini) para pasta_inicial/php.ini
Este arquivo deve ser alterado a partir dos apontamentos que serão revelados quando da etapa “Roteiro de instalação do Egroupware” adiante descrita. Por exemplo, será mostrado neste roteiro que a variável upload_max_filesize deve ter 8M.

Também fizemos algumas parametrizações em pasta_inicial/php.ini para adequá-lo ao Egroupware:


mbstring.func_overload = 7
file_uploads = On
memory_limit = 128M

5. Criar a base de dados
Antes de seguir com o roteiro de instalação do Egroupware, criar a base de dados do site. Utilize comandos bash, seu phpMyadmin ou outra forma de sua preferência. No caso do exemplo deste post, criamos:

‘db_name’ => ‘c1egroup’,
‘db_user’ => ‘c1useregroup’,
‘db_pass’ => ‘minha_senha’

6. Roteiro de instalação do Egroupware
Será necessário (como será visto logo adiante) instalar uma série de bibliotecas comlementares no ambiente do servidor para fazer o Egroupware funcionar. Antecipando-se, entre outras instalações, serão necessárias:

# apt-get install php5-sqlite tnef
# pear install HTTP_WebDAV_Server-1.0.0RC6
# pear install Auth_SASL --alldeps
# pear install Net_IMAP
# pear install Net_Sieve
# pear install XML_Feed_Parse
r

6.1 Abrir a tela inicial da aplicação
(OBS: caso não exista um resolvedor de DNS, cadastrar o endereço do sitio em sua máquina local em /etc/hosts)
Ao abrir http://egroupware.meusite.com.br/  será mostrada a página inicial de instalação, conforme mostrada abaixo. Isso deve-se ao fato de ainda não existir o arquivo pasta_inicial/header.inc.php.
Tela inicial de instalação do Egroupware

Execute os testes de instalação, que verificará a instalação do Egroupware.   Deve-se sanar as pendências apresentadas.  Após isto, clicar no link “Continuar para a administração de cabeçalhos”, conforme imagem abaixo.

Tela de testes de instalação do Egroupware

6.2 Configurar base de dados e valores iniciais
O final da próxima página será conforme abaixo:
Tela de configuração base de dados do Egroupware

Fornecemos as seguintes informações no formulário desta tela:

a) Raiz do Servidor Caminho (não URL!) para sua instalação do eGroupWare: /var/www/clients/client1/web1/web/subdominios/egroupware
b) Usuário para configuração do servidor: admin_cabecalho
c) Senha para configuração do servidor: senha_cabecalho
d) Conexões Persistentes: Sim
e) Sessions Handler: PHP session handler enabled in php.ini
f) Habilitar MCrypt: Não
g) Vetor de iniciação do MCrypt: (deixar o apresentado)
h) Caixa de seleção de domínios no login: Não
i) Instância da base de dados (domínio do eGroupWare): (deixar o apresentado, ou seja, default)
j) Tipo de base de dados: MySQL
l) Servidor da base de dados: localhost
m) Nome da base de dados: c1egroupware
n) Usuário da base de dados: c1egroupware
o) Senha da base de dados: minha_senha
p) Usuário de Configuração: administrador
q) Senha de Configuração: administrador

OBS: o nome do Usuário para configuração do servidor e sua senha servirá para que no futuro seja possível reeditar este formulário, mesmo que já tenha sido criado o arquivo header.inc.php

Após isto, clicar no botão WRITE
A próxima tela informará que fora criado o arquivo pasta_inicial/header.inc.php. Clicar em CONTINUAR.

6.3 Configurar os acessos
Será fornecido a seguinte tela:
Tela de instalação dos acessos do Egroupware
O primeiro formulário servirá para prosseguir na configuração do Egroupware, passando a configuração de domínio. Preencha este primeiro formulário para prosseguir, com as informações fornecidas anteriormente no campo “Configuração do utilizador”. Caso deseje voltar a preencher o formulário anterior, preencha o segundo formulário com as informações fornecidas anteriormente no campo “Nome de utilizador do cabeçalho”.

6.4 Configurar domínio
A próxima tela de formulário será como mostrada abaixo:
Tela de configuração de dominio do Egroupware

Inicialmente cique no botão “INSTALAR Todas as aplicações” e ……… Espere…..

Uma tela como a mostrada a seguir será exibida:
Tela instalação das tabelas do Egroupware

Clique em VERIFICAR NOVAMENTE A INSTALAÇÃO que, caso seja mostrada a tela abaixo, vá para o PASSO 2 (CONFIGURAÇÃO DO SISTEMA).
Tela de configuração de dominio do Egroupware, passo 2

6.5 Configurar domínio – parte 2
Após clicar em EDITAR CONFIGURAÇÃO ATUAL relativo ao passo 2 (Configuração do sistema) uma tela com um novo formulário será apresentado, conforme mostrado abaixo.
Tela de configuração de domínio do Egroupware - parte 2

As principais configurações que utilizei foram as seguintes:
a) Insira o caminho completo para ficheiros de utilizadores e grupos:
/var/www/clients/client1/web1/egroupware3_arquivos/usuarios

b) Insira o caminho completo para a directoria de cópias de segurança:
/var/www/clients/client1/web1/egroupware3_arquivos/backups

c) Insira o caminho completo para ficheiros temporários:
/var/www/clients/client1/web1/egroupware3_arquivos/temp
( OBS:

1- observe que os três caminhos acima tomamos o cuidado para que fossem externos à root de documentos dos servidores Web!!!
2- devem ser criadas, via comandos bash, estas pastas citadas nos últimos 3 caminhos acima )

d) Insira a URL do eGroupWare: http://egroupware.meusite.com.br
e) Insira o nome da máquina em que este sistema está a ser executado: server0.meusite.com.br
f) Nome do servidor POP/IMAP de correio electrónico ou endereço IP: localhost
g) Protocolo de servidor de correio electrónico: IMAP
h) Tipo de acesso ao servidor de correio electrónico: <Por omissão(nome de acesso igual ao nome de utilizador do eGroupWare)>
i) Domínio de correio electrónico (para gestor virtual de correio electrónico): meusite.com.br
j) Nome do servidor SMTP ou endereço IP: localhost
k) Porto do servidor SMTP: 25
l) Utilizador para a autenticação SMTP (deixe-o vazio se a autenticação não for necessária): joao
m) Activate safe password check: Não
n) Permitir a autentiação por cookies: Sim
o) Acesso automático do utilizador anónimo: Não
p) Id mínimo para contas (Exemplo: 500 ou 100, etc.): 1000
q) Criar contas de utilizadores automaticamente para utilizadores autenticados: Não
r) Se não existirem registos ACL do utilizador ou grupo, o utilizador é um membro de: Negar acesso

Ao final, clicar no botão GUARDAR. Se tudo correr bem, uma tela como abaixo será mostrada:
Tela configurar dominios Egroupware - passo 2 final

6.6 Configurar conta do administrador
Clicar no botão “CRIAR CONTA DE ADMINISTRADOR”, cuja nova tela será mostrada conforme mostrada abaixo.

Tela instalação Egroupware - fase configuração administrador

Preencha os detalhes da conta do administrador:
a) Nome do utilizador do administrador: jose
b) Nome próprio do administrador: Jose
c) Apelido do administrador: Zezinho
d) Admin email address: jose@meusite.com.br
e) Senha do administrador: xxxxxxxxxx
f) Re-insira a senha: xxxxxxxxxx
g) Give admin access to all installed apps: (marcar a caixa)
h) Criar contas de demonstração: (deixar sem marcar)

Clicar no botão GUARDAR. Se tudo tiver ocorrido bem, uma tela como a abaixo será mostrada.

Tela instalação Egroupware - passo 4 final

6.7 Configuração avançada das aplicações
Após o procedimento anterior, clicar no botão CONFIGURAR APLICAÇÕES uma nova página será mostrada conforme cópia da tela mostrada abaixo.
Tela configuração Egroupware - passo 5

Clique no botão GUARDAR. Esta foi a última etapa do roteiro.

7. Acessar a aplicação
Use SAIR, pois o processo de instalação está completo. Por segurança, limpe o cache do navegador, cookies, etc. Feche o navegador.

Após isso, acesse o Egroupware através de http://egroupware.meusite.com.br/ , que será mostrada a tela abaixo.

Use usuário/senha fornecida quando do preenchimento do formulário da conta do administrador (jose/xxxxxxxxxx)

Tela inicial de acesso ao Egroupware

8. No futuro, sendo necessário refazer alguma configuração

Basta acessar http://egroupware.meusite.com.br/setup/  fornecendo as informações cadastradas do “Usuário para configuração do servidor”.
O arquivo principal de configuração é o “header.inc.php”.

9. Alguns problemas de tradução para o português
a) em egroupware/admin/lang/egw_pt-br.lang existe um erro de digitação. Alterar:
DE: regsitro
PARA: registro

b) em egroupware/calendar/lang/egw_pt-br.lang incluir a seguinte tradução:

freebusy calendar pt-br disponibilidade
Deny Ressources reservation for private events calendar pt-br Proibir a reserva de recursos para eventos privados
History logging calendar pt-br Log Histórico
Prevent deleting of entries calendar pt-br Prevenir a exclusão de entradas
Require an ACL grant to invite other users and groups calendar pt-br Exigir uma concessão ACL para convidar outros usuários e grupos
Every user can invite other users and groups calendar pt-br Cada usuário pode convidar outros usuários e grupos
Yes, only admins can purge deleted items calendar pt-br Sim, apenas os admins podem eliminar os itens deletados
Yes, users can purge their deleted items calendar pt-br Sim, usuários podem eliminar seus itens deletados
Groups: other users can allways be invited, only groups require an invite grant calendar pt-br Grupos: outros usuários podem sempre ser convidados, apenas os grupos exigem uma concessão de convite
users + groups: inviting both allways requires an invite grant calendar pt-br usuários + grupos: convidar ambos sempre exige uma concessão de convite

c) em egroupware/admin/lang/egw_pt-br.lang incluir as seguintes traduções:
Limit to members of admin pt-br Limitado aos membros do
Actions admin pt-br Ações

d) em egroupware/tracker/lang/egw_pt-br.lang incluir as seguintes traduções:
Bugs tracker pt-br Falhas
Status tracker pt-br Estado
Do not notify of these changes tracker pt-br Não modifique estas mudanças

10. Configurações legais de serem feitas no EGroupware
a) Colocar o seu logo
Coloque a imagem de seu logo na página pasta_inicial/phpgwapi/templates/default/images/ e informe ao EGroupware o nome do arquivo depositado nesta pasta através do menu administrador -> configuração do servidor -> aparência -> digite a URL ou o nome do arquivo (em phpgwapi/templates/default/images) do seu logotipo.

Links:
1- Download Egroupware
2- Egroupware

Deixe um comentário, pois isto é muito motivante para continuarmos este trabalho

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s