Roundcube
Roundcube
Roundcube
1.Introdução :
Uma das coisas mais legais do Roundcube, é que mesmo sem acesso ao
shell da máquina, você pode instalá-lo. Com muita paciência, você
consegue resultados super legais.
O tutorial foi feito levando em consideração que você tenha, pelo menos
para execução dos comandos de instalação e afins, uma máquina com o
Linux ou outro Unix Like instalado. Caso você não tenha uma máquina com
algum Unix Like instalado, faça a instalação do Cygwin. Há um material
super legal no site do Aurélio ( http://www.aurelio.net/cygwin ), onde ele
ensina como instalar e trabalhar com este software.
2.Obtendo o Roundcube :
O Roundcube em seu site oficial possui uma versão estável no site. Eu pelo menos
não consegui rodar a mesma, aí preferi baixar a versão do SVN. O SVN é na
realidade igual ao cvs. Não sei se há cliente para Windows, mas para Linux e outros
Unixes ele vem instalado numa boa. Portanto, siga os seguintes passos para
executar o download dos fontes.
# mkdir roundcube
# cd roundcube
# svn checkout https://svn.roundcube.net/trunk
# find . -name “.svn” -print | xargs rm -rf
Ou seja, o que foi feito acima, foi criar uma pasta para baixar os fontes, baixar os
fontes via svn e ainda, limpar as pastas .svn, que contém várias versões dos
arquivos. Assim, você evita de mandar para o seu servidor diversas coisas que não
vão ter uso nenhum para o Webmail.
3. Configurando o Roundcube
Na pasta config, que você baixou do svn do projeto Roundcube, há dois arquivos,
db.inc.php.dist e main.inc.php.dist .
# cd roundcube/trunk
# cd roundcube/config
# cp main.inc.php.dist main.inc.php
# cp db.inc.php.dist db.inc.php
Caso você tenha uma conta em um servidor com o cpanel, você deve fazer do
seguinte modo.
Primeiro, deve clicar em Mysql no seu control panel. Logo após, você deve criar
uma base de dados de nome roundcube. Após criar esta base, você deve adicionar
um usuário a mesma. Lembre-se de anotar o usuário e a senha que você colocou
na sua base de dados, pois é importante para a configuração do roundcube.
Após criar o usuário, você deve adicionar este usuário a base de dados criada.
Depois destes passos, você deve possuir em seu cpanel, uma tela parecida com a
seguinte.
A partir daí, é criar a base de dados a partir do script que o próprio roundcube
fornece. Um parênteses é : em alguns lugares onde instalei o roundcube, via
cpanel, notei que ele cortava a última letra do nome de usuário roundcube ( talvez
pelo número excessivo de letrar na string ). Aí, o que eu achei mais legal, é criar
uma database com menos letras. Por exemplo, criar uma database de nome mail e
um usuário de nome mail. Mas, isto, você deve testar em seu host para ver se
funciona ou não.
A partir daí, você deve possuir ao final, uma tela parecida com esta.
Após seguir estas duas sequências, você já tem as bases de dados criadas, e
prontas para uso.
Lembra-se dos arquivos que criamos no diretório config ? Bom, agora nós vamos
começar a mexer com eles.
$rcmail_config['db_dsnw'] = 'mysql://roundcube:roundcube456@localhost/roundcube';
Procure por :
$rcmail_config['default_host'] = '';
E mude para :
$rcmail_config['default_host'] = 'localhost';
ou
$rcmail_config['default_host'] = 'mail.seudominio.com.br';
Um adendo é : caso seu smtp esteja em outra máquina, você deve utilizar modificar
também as seguintes linhas :
Após a edição dos dois arquivos, crie na pasta principal, trunk, um arquivo com o
seguinte conteúdo :
./config/main.inc.php
./config/db.inc.php
Após isto crie um script shell com o seguinte conteúdo.
#!/bin/sh
ARQUIVOS="$i"
ARQUIVOS1="$ARQUIVOS-1"
echo $ARQUIVOS
mv $ARQUIVOS $ARQUIVOS1
iconv -f iso-8859-1 -t utf-8 $ARQUIVOS1 > $ARQUIVOS
rm $ARQUIVOS1
done
O script acima, executa a conversão dos arquivos que você editou, de ISO-8859-1
para UTF-8. Isto deve ser feito pois normalmente os sistemas operacionais que
utilizamos no Brasil, utilizam o charset ISO-8859-1. Ao salvar o arquivo em seu
sistema ele passa a ter no seu cabeçalho este padrão.
Quando você o manda para o servidor, ele não vai conseguir entender o charset, e
truncar diversos caracteres. Assim, este passo, que descobri na marra, se torna o
mais importante na instalação do roundcube, que no fim das contas, é um software
bem tranquilo de ser configurado.
4.Instalando o Roundcube
Se você tem acesso shell ao servidor, há passos diferentes, de quando você só tem
acesso ftp ao mesmo. Bom, caso você tenha acesso shell ao servidor, deve
executar os seguintes passos :
# mv trunk/roundcube /home/do/seu/apache
# chmod -R 777 temp
# chmod -R 777 logs
Caso você não tenha acesso ao servidor, mande os arquivos com o seu cliente de
ftp preferido e dê permissão 777 tanto ao diretório logs quanto ao diretório temp.
Para finalizar, aponte o seu browser para o servidor, e após o login, você terá uma
tela parecida com esta.
Anexo I :
<?php
/*
+-----------------------------------------------------------------------+
| Configuration file for database access |
| |
| This file is part of the RoundCube Webmail client |
| Copyright (C) 2005, RoundCube Dev. - Switzerland |
| Licensed under the GNU GPL |
| |
+-----------------------------------------------------------------------+
*/
$rcmail_config = array();
$rcmail_config['db_dsnw'] = 'mysql://roundcube:pass@localhost/roundcubemail';
// postgres example: 'pgsql://roundcube:pass@localhost/roundcubemail';
// sqlite example: 'sqlite://./sqlite.db?mode=0646';
// PEAR database DSN for read only operations (if empty write database will be used)
// useful for database replication
$rcmail_config['db_dsnr'] = '';
// you can define specific table names used to store webmail data
$rcmail_config['db_table_users'] = 'users';
$rcmail_config['db_table_identities'] = 'identities';
$rcmail_config['db_table_contacts'] = 'contacts';
$rcmail_config['db_table_session'] = 'session';
$rcmail_config['db_table_cache'] = 'cache';
$rcmail_config['db_table_messages'] = 'messages';
$rcmail_config['db_sequence_identities'] = 'identity_ids';
$rcmail_config['db_sequence_contacts'] = 'contact_ids';
$rcmail_config['db_sequence_cache'] = 'cache_ids';
$rcmail_config['db_sequence_messages'] = 'message_ids';
<?php
/*
+-----------------------------------------------------------------------+
| Main configuration file |
| |
| This file is part of the RoundCube Webmail client |
| Copyright (C) 2005, RoundCube Dev. - Switzerland |
| Licensed under the GNU GPL |
| |
+-----------------------------------------------------------------------+
*/
$rcmail_config = array();
// system error reporting: 1 = log; 2 = report (not implemented yet), 4 = show, 8 = trace
$rcmail_config['debug_level'] = 1;
// automatically create a new RoundCube user when log-in the first time.
// a new user will be created once the IMAP login succeeds.
// set to false if only registered users can use this service
$rcmail_config['auto_create_user'] = TRUE;
// Query to resolve user names and e-mail addresses from the database
// %u will be replaced with the current username for login.
// The query should select the user's e-mail address as first col
$rcmail_config['virtuser_query'] = '';
// use this folder to store temp files (must be writebale for apache user)
$rcmail_config['temp_dir'] = 'temp/';
// use this folder to store log files (must be writebale for apache user)
$rcmail_config['log_dir'] = 'logs/';