Cómo configurar un servidor de correo completo (Postfix) usando 'Roundcube' (Webmail) en Ubuntu / Debian


Crear un servidor de correo en máquinas con Linux puede ser una de las cosas más esenciales que todo administrador de sistema debe hacer al configurar los servidores por primera vez, si no sabe lo que significa; es simple, si tiene un sitio web como " ejemplo.com ", puede crear una cuenta de correo electrónico como " [correo electrónico protegido] " para usarlo para enviar/recibir correos electrónicos fácilmente en lugar de utilizar servicios como Hotmail, Gmail, Yahoo Mail, etc.

En este artículo, aprenderemos cómo hacerlo instalando el servidor de correo Postfix con la aplicación de correo web " Roundcube " y sus dependencias en las versiones Debian 10/9 y Ubuntu 20.04/18.04/16.04 LTS.

En esta página

  • Set a Hostname and Create DNS Records for Mail Domain
  • Installing Apache, MariaDB, and PHP on Ubuntu
  • Installing Postfix Mail Server on Ubuntu
  • Testing Postfix Mail Server on Ubuntu
  • Installing Dovecot IMAP and POP in Ubuntu
  • Installing Roundcube Webmail in Ubuntu
  • Create an Apache Virtual Host for Roundcube Webmail
  • Creating Mail Users to Access Mails via Roundcube

1. Primero, establezca un nombre de host FQDN (Nombre de dominio completo) válido para su servidor Ubuntu usando el comando hostnamectl como se muestra.

$ sudo hostnamectl set-hostname mail.tecmint.com

2. A continuación, debe agregar un registro MX y A para su dominio en su panel de control de DNS que guía a otros MTA que su servidor de correo mail.yourdomain. com dominio es responsable de la entrega de correo electrónico.

MX record    @           mail.tecmint.com
mail.tecmint.com        <IP-address>

3. Para crear un servidor de correo en ejecución usando “ Roundcube ”, primero tendremos que instalar los paquetes Apache2 , MariaDB y PHP , para hacerlo, corre.

$ 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

4. Postfix es un agente de transferencia de correo ( MTA ) que es el software responsable de entregar y recibir correos electrónicos, es esencial para crear un servidor de correo completo.

Para instalarlo en Ubuntu/Debian o incluso Mint, ejecute:

$ sudo apt-get install postfix

Durante la instalación, se le pedirá que elija el tipo de configuración de correo, elija " Sitio de Internet ".

5. Ahora ingrese el nombre de dominio completo que desea usar para enviar y recibir correos electrónicos.

6. Una vez instalado Postfix, se iniciará automáticamente y creará un nuevo archivo /etc/postfix/main.cf. Puede verificar la versión de Postfix y el estado del servicio usando los siguientes comandos.

$ postconf mail_version
$ sudo systemctl status postfix

7. Ahora intente verificar que su servidor de correo se esté conectando en el puerto 25 usando el siguiente 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

El mensaje anterior indica que la conexión se estableció correctamente. Escriba salir para cerrar la conexión.

8. También puede usar un programa de correo para enviar y leer correos electrónicos usando el siguiente comando.

$ mail [email protected]

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

9. Dovecot es un agente de entrega de correo ( MDA ), entrega los correos electrónicos desde/hacia el servidor de correo, para instalarlo, ejecute el siguiente comando.

$ sudo apt-get install dovecot-imapd dovecot-pop3d

10. Luego, reinicie el servicio Dovecot usando el siguiente comando.

$ sudo systemctl restart dovecot
OR
$ sudo service dovecot restart

11. Roundcube es el servidor de correo web que usará para administrar los correos electrónicos en su servidor, tiene una interfaz web simple para hacer el trabajo, se puede personalizar instalando más módulos y 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. A continuación, debe crear una nueva base de datos y un usuario para Roundcube y otorgar todos los permisos a un nuevo usuario para escribir en la base de datos.

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

13. A continuación, importe las tablas iniciales a la base de datos de Roundcube.

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

14. Cree un host virtual apache para el correo web Roundcube.

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

Agregue la siguiente configuración en él.

<VirtualHost *:80>
  ServerName tecmint.com
  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. A continuación, habilite este host virtual y vuelva a cargar el apache para los cambios.

$ sudo a2ensite roundcube.conf
$ sudo systemctl reload apache2

16. Ahora puede acceder al correo web yendo a http://yourdomain.com/roundcubemail/installer/ .

16. A continuación, vaya a la configuración de la base de datos y agregue los detalles de la base de datos.

17. Después de realizar todos los cambios, cree un archivo config.inc.php .

18. Después de finalizar la instalación y las pruebas finales, elimine la carpeta installer y asegúrese de que la opción enable_installer en config.inc.php esté deshabilitada .

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

19. Ahora vaya a la página de inicio de sesión e ingrese el nombre de usuario y la contraseña del usuario.

http://yourdomain.com/roundcubemail/

20. Para comenzar a usar el correo web de Roundcube, tendrá que crear un nuevo usuario, para hacerlo, ejecute.

$ sudo useradd myusername

Reemplace " myusername " con el nombre de usuario que desee, cree una contraseña para el nuevo usuario ejecutando.

$ sudo passwd myusername

21. Ahora regrese a la página de inicio de sesión e ingrese el nombre de usuario y la contraseña del usuario recién creado.

¿Ha intentado crear un servidor de correo electrónico antes? ¿Como le fue? ¿Ha usado Roundcube o cualquier otro servidor de correo antes? ¿Qué piensa usted al respecto?