Pesquisa de site

Como configurar um servidor de email completo (Postfix) usando 'Roundcube' (Webmail) no Ubuntu/Debian


Criar um servidor de e-mail em máquinas com Linux pode ser uma das coisas mais essenciais que todo administrador de sistema precisa fazer ao configurar os servidores pela primeira vez, se você não sabe o que isso significa; é simples: se você tiver um site como “example.com ”, poderá criar uma conta de e-mail como “[email protegido] ” para usá-la para enviar/receber e-mails facilmente em vez de usar serviços como Hotmail, Gmail, Yahoo Mail, etc.

Neste artigo, aprenderemos como fazer isso instalando o servidor de e-mail Postfix com o aplicativo de webmail “Roundcube” e suas dependências no Debian 10/9 e Ubuntu 20.04/18.04/16.04 versões LTS.

Nesta página

  • Defina um nome de host e crie registros DNS para domínio de correio
  • Instalando Apache, MariaDB e PHP no Ubuntu
  • Instalando o Postfix Mail Server no Ubuntu
  • Testando o servidor de correio Postfix no Ubuntu
  • Instalando Dovecot IMAP e POP no Ubuntu
  • Instalando o Webmail Roundcube no Ubuntu
  • Crie um host virtual Apache para Webmail Roundcube
  • Criando usuários de email para acessar emails via Roundcube

Etapa 1: definir um nome de host e criar registros DNS para o domínio

1. Primeiro, defina um nome de host FQDN (Nome de domínio totalmente qualificado) válido para seu servidor Ubuntu usando o comando hostnamectl conforme mostrado.

sudo hostnamectl set-hostname mail.linux-console.net

2. Em seguida, você precisa adicionar registros MX e A para seu domínio em seu painel de controle DNS que orienta outros MTAs que seu servidor de e-mail O domínio mail.seudominio.com é responsável pela entrega de e-mail.

MX record    @           mail.linux-console.net
mail.linux-console.net        <IP-address>

Etapa 2: Instalando Apache, MariaDB e PHP no Ubuntu

3. Para criar um servidor de e-mail em execução usando “Roundcube ”, teremos que instalar Apache2, MariaDB e PHP primeiro, para fazer isso, execute.

sudo apt-get update -y
sudo apt-get upgrade -y
sudo apt install apache2 apache2-utils mariadb-server mariadb-client php7.4 libapache2-mod-php7.4 php7.4-mysql php-net-ldap2 php-net-ldap3 php-imagick php7.4-common php7.4-gd php7.4-imap php7.4-json php7.4-curl php7.4-zip php7.4-xml php7.4-mbstring php7.4-bz2 php7.4-intl php7.4-gmp php-net-smtp php-mail-mime php-net-idna2 mailutils

No Debian 10/9, você precisa baixar e instalar o repositório SURY PHP PPA para instalar o PHP 7.4 no Debian 10/9 conforme mostrado.

sudo apt -y install lsb-release apt-transport-https ca-certificates 
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list
sudo apt update
sudo apt install apache2 apache2-utils mariadb-server mariadb-client php7.4 libapache2-mod-php7.4 php7.4-mysql php-net-ldap2 php-net-ldap3 php-imagick php7.4-common php7.4-gd php7.4-imap php7.4-json php7.4-curl php7.4-zip php7.4-xml php7.4-mbstring php7.4-bz2 php7.4-intl php7.4-gmp php-net-smtp php-mail-mime php-net-idna2 mailutils

Etapa 3: Instalando o Postfix Mail Server no Ubuntu

4. Postfix é um agente de transferência de correio (MTA) que é o software responsável pela entrega e recebimento de e-mails, é essencial para criar um servidor de correio completo.

Para instalá-lo no Ubuntu/Debian ou mesmo no Mint, execute:

sudo apt-get install postfix

Durante a instalação, você será solicitado a escolher o tipo de configuração de e-mail, escolha “Site da Internet”.

5. Agora insira o nome de domínio totalmente qualificado que deseja usar para enviar e receber e-mails.

6. Uma vez instalado o Postfix, ele será iniciado automaticamente e criará um novo arquivo /etc/postfix/main.cf. Você pode verificar a versão do Postfix e o status do serviço usando os seguintes comandos.

postconf mail_version
sudo systemctl status postfix

Etapa 4: Testando o Postfix Mail Server no Ubuntu

7. Agora tente verificar se o seu servidor de e-mail está se conectando na porta 25 usando o seguinte comando.

telnet gmail-smtp-in.l.google.com 25

Trying 74.125.200.27...
Connected to gmail-smtp-in.l.google.com.
Escape character is '^]'.
220 mx.google.com ESMTP k12si849250plk.430 - gsmtp

A mensagem acima indica que a conexão foi estabelecida com sucesso. Digite quit para fechar a conexão.

8. Você também pode usar um programa de mail para enviar e ler e-mails usando o seguinte comando.

mail [email 

Cc: 
Subject: Testing My Postfix Mail Server
I'm sending this email using the postfix mail server from Ubuntu machine

Etapa 5: Instalando Dovecot IMAP e POP no Ubuntu

9. Dovecot é um agente de entrega de correio (MDA), ele entrega os e-mails de/para o servidor de correio, para instalá-lo, execute o seguinte comando.

sudo apt-get install dovecot-imapd dovecot-pop3d

10. Em seguida, reinicie o serviço Dovecot usando o seguinte comando.

sudo systemctl restart dovecot
OR
sudo service dovecot restart

Etapa 6: Instalando o Roundcube Webmail no Ubuntu

11. Roundcube é o servidor de webmail que você usará para gerenciar e-mails em seu servidor, possui uma interface web simples para fazer o trabalho, pode ser personalizado por instalando mais módulos e temas.

wget https://github.com/roundcube/roundcubemail/releases/download/1.4.8/roundcubemail-1.4.8.tar.gz
tar -xvf roundcubemail-1.4.8.tar.gz
sudo mv roundcubemail-1.4.8 /var/www/html/roundcubemail
sudo chown -R www-data:www-data /var/www/html/roundcubemail/
sudo chmod 755 -R /var/www/html/roundcubemail/

12. Em seguida, você precisa criar um novo banco de dados e usuário para Roundcube e conceder todas as permissões a um novo usuário para gravar no banco de dados.

sudo mysql -u root
MariaDB [(none)]> CREATE DATABASE roundcube DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
MariaDB [(none)]> CREATE USER roundcubeuser@localhost IDENTIFIED BY 'password';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON roundcube.* TO roundcubeuser@localhost;
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> quit;

13. Em seguida, importe as tabelas iniciais para o banco de dados Roundcube.

sudo mysql roundcube < /var/www/html/roundcubemail/SQL/mysql.initial.sql

Etapa 7: Crie um host virtual Apache para Webmail Roundcube

14. Crie um host virtual Apache para webmail Roundcube.

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

Adicione a seguinte configuração nele.

<VirtualHost *:80>
  ServerName linux-console.net
  DocumentRoot /var/www/html/roundcubemail/

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

  <Directory />
    Options FollowSymLinks
    AllowOverride All
  </Directory>

  <Directory /var/www/html/roundcubemail/>
    Options FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
  </Directory>

</VirtualHost>

15. Em seguida, habilite este host virtual e recarregue o Apache para as alterações.

sudo a2ensite roundcube.conf
sudo systemctl reload apache2

16. Agora você pode acessar o webmail em http://seudominio.com/roundcubemail/installer/.

16. Em seguida, vá para as configurações do banco de dados e adicione os detalhes do banco de dados.

17. Após fazer todas as alterações, crie um arquivo config.inc.php.

18. Após finalizar a instalação e os testes finais exclua a pasta installer e certifique-se da opção enable_installer em config.inc. php está desabilitado.

sudo rm /var/www/html/roundcubemail/installer/ -r

19. Agora vá para a página de login e digite o nome de usuário e a senha do usuário.

http://yourdomain.com/roundcubemail/

Etapa 8: Criando usuários de email

20. Para começar a usar o webmail Roundcube, você terá que criar um novo usuário, para isso execute.

sudo useradd myusername

Substitua “meunomedeusuário” pelo nome de usuário desejado e crie uma senha para o novo usuário executando.

sudo passwd myusername

21. Agora volte para a página de login e digite o nome de usuário e a senha do usuário recém-criado.

Você já tentou criar um servidor de e-mail antes? Como foi? Você já usou o Roundcube ou qualquer outro servidor de e-mail antes? O que você acha disso?