[Raspbian] Sync IMAP Server and Roundcube Local Server

Para configurar um sistema de email completo usando Raspbian, Dovecot, Fetchmail e Roundcube, você pode seguir os passos abaixo. Este guia ajudará você a configurar um Raspberry Pi para funcionar como um servidor de email local, sincronizar emails de um servidor IMAP externo e acessar esses emails através da interface web do Roundcube.

Passo 1: Instalar Dovecot e Fetchmail

Primeiro, atualize seu sistema e instale os pacotes necessários.

sudo apt update
sudo apt install dovecot-imapd fetchmail

Configurar Dovecot

Edite o arquivo de configuração do Dovecot para definir a localização da caixa de correio.

sudo nano /etc/dovecot/conf.d/10-mail.conf

Adicione ou modifique as seguintes linhas:

mail_location = maildir:~/Maildir
namespace inbox {
  inbox = yes
}

Reinicie o Dovecot para aplicar as mudanças.

sudo systemctl restart dovecot

Configurar Fetchmail

Crie um arquivo de configuração para o Fetchmail.

nano ~/.fetchmailrc

Adicione a configuração abaixo. Substitua remote.mail.server, remote_user, remote_password e local_user pelos valores apropriados.

set logfile /var/log/fetchmail.log
set daemon 300

poll remote.mail.server protocol IMAP
    user 'remote_user' password 'remote_password' is 'local_user' here
    ssl

Defina as permissões corretas para o arquivo de configuração do Fetchmail.

chmod 600 ~/.fetchmailrc

Inicie o Fetchmail em modo daemon.

fetchmail -d 300

Passo 2: Instalar e Configurar o Roundcube

Instalar Dependências

Instale o Apache, PHP e outras dependências necessárias.

sudo apt install apache2 php php-{mbstring,intl,xml,curl,gd,zip,imap,common} mariadb-server

Configurar o Banco de Dados

Proteja a instalação do MariaDB e configure um banco de dados para o Roundcube.

sudo mysql_secure_installation

Entre no MariaDB como root.

sudo mysql -u root -p

Execute os seguintes comandos SQL para criar o banco de dados e o usuário do Roundcube.

CREATE DATABASE roundcube DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'roundcube'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON roundcube.* TO 'roundcube'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Baixar e Instalar o Roundcube

Baixe e extraia a última versão do Roundcube.

wget https://github.com/roundcube/roundcubemail/releases/download/1.6.1/roundcubemail-1.6.1-complete.tar.gz
tar -xvzf roundcubemail-1.6.1-complete.tar.gz
sudo mv roundcubemail-1.6.1 /var/www/html/roundcube

Copie o arquivo de configuração de exemplo.

cd /var/www/html/roundcube
cp config/config.inc.php.sample config/config.inc.php

Edite o arquivo de configuração.

sudo nano config/config.inc.php

Adicione ou modifique as seguintes linhas conforme necessário:

$config['db_dsnw'] = 'mysql://roundcube:password@localhost/roundcube';
$config['default_host'] = 'localhost';
$config['smtp_server'] = 'localhost';
$config['smtp_port'] = 25;
$config['support_url'] = '';
$config['des_key'] = 'your_secret_key';
$config['plugins'] = array('archive', 'zipdownload');
$config['language'] = 'en_US';

Configurar Apache

Crie um arquivo de configuração do Apache para o Roundcube.

sudo nano /etc/apache2/sites-available/roundcube.conf

Adicione o seguinte conteúdo:

<VirtualHost *:80>
    ServerAdmin admin@yourdomain.com
    DocumentRoot /var/www/html/roundcube

    <Directory /var/www/html/roundcube>
        Options +FollowSymLinks
        AllowOverride All
        <IfModule mod_php7.c>
            php_value upload_max_filesize 10M
            php_value post_max_size 12M
            php_value memory_limit 64M
            php_value max_execution_time 600
            php_value max_input_time 600
            php_value date.timezone America/Sao_Paulo
        </IfModule>
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/roundcube_error.log
    CustomLog ${APACHE_LOG_DIR}/roundcube_access.log combined
</VirtualHost>

Ative a nova configuração e reinicie o Apache.

sudo a2ensite roundcube.conf
sudo a2enmod rewrite
sudo systemctl restart apache2

Passo 3: Finalizar a Configuração do Roundcube

Acesse o instalador do Roundcube via navegador web em http://your_ip_address/installer. Siga as instruções do instalador para concluir a configuração.

Passo 4: Sincronizar Emails e Testar

  • Certifique-se de que Fetchmail está sincronizando emails corretamente do servidor IMAP externo para o servidor local.
  • Acesse o Roundcube via navegador e faça login com as credenciais do usuário local configurado.

Passo 5: Manutenção e Segurança

  • Mantenha seu sistema e pacotes atualizados.
  • Monitore os logs do Dovecot, Fetchmail e Roundcube para garantir que tudo esteja funcionando corretamente.
  • Considere configurar SSL/TLS para o Apache para proteger o acesso ao Roundcube.

Seguindo esses passos, você deve ser capaz de configurar um servidor de email completo no Raspbian, permitindo acesso via Roundcube e sincronizando emails de um servidor IMAP externo.

CATEGORIES:

Software Livre

Comments are closed