Cómo configurar Postfix con Webmail en Ubuntu 18.04

Hemos mostrado en la primera parte de nuestro tutorial cómo instalar y configurar Postfix en Ubuntu 18.04 con Dovecot, MySql, Nginx, Postfixadmin con los que hemos creado los dominios y usuarios virtuales. Ahora podemos enviar correo electrónico en nuestro servidor, pero todo se hace en la línea de comandos, pero los usuarios virtuales no tienen una forma de conectarse para enviar correo. En esta parte, RoundCube brindará una interfaz para que nuestros usuarios virtuales se conecten, envíen correos electrónicos y administren sus buzones de correo mientras PhpMyAdmin administrará fácilmente nuestra Base de datos para cualquier manipulación.

Esta es la segunda parte de nuestro tutorial que mostrará la configuración de postfix con RoundCube y PhpMyAdmin en Ubuntu 18.04.

Prerrequisitos

Para completar esta parte de nuestro artículo, debe tener

  • un servidor Ubuntu 18.04
  • un servidor web y administración de bases de datos que ya están funcionando como Nginx y Mysql en nuestro caso.
  • postfix ya se está ejecutando en su servidor
  • cuentas de correo electrónico para probar la conexión en roundcube y enviar correo electrónico

Lectura recomendada

  • Cómo instalar LEMP en Ubuntu 18.04
  • Cómo instalar y configurar Postfix en Ubuntu 18.04

1) Instalar y configurar phpmyadmin

Puede instalar phpmyadmin directamente desde los repositorios oficiales o desde las fuentes.

a) Instalar phpmyadmin

Phpmyadmin está presente en los repositorios oficiales de Ubuntu 18.04 por lo que

# apt update && apt install phpmyadmin

Durante el proceso de instalación, se le solicitarán algunas preguntas. Primero, el servidor web para usar con phpmyadmin. En nuestro caso, debido a que nuestro servidor web se ejecuta en Nginx, no elija ninguna de las propuestas

Ahora le pedirá que configure automáticamente la base de datos para phpmyadmin

Ahora configure la contraseña de mysql para phpmyadmin

b) Configurar phpmyadmin para acceso web

Cuando phpmyadmin está instalado, se encuentra en /usr/share/phpmyadmin pero tenemos que decirle a Nginx cómo puede encontrarlo y ejecutarlo. Crearemos un enlace simbólico a nuestro directorio raíz web y cambiaremos el nombre de phpmyadmin a pma

# ln -s /usr/share/phpmyadmin /var/www/html/pma

Luego agregue las líneas a continuación a su archivo de configuración de Nginx en las líneas de bloque del servidor

# vim /etc/nginx/sites-available/default
location /pma {
         root /var/www/html;
         index index.php;
         location ~ ^/pma/(.+.php)$ {
                 try_files $uri =404;
                 fastcgi_pass unix:/run/php/php7.2-fpm.sock;
                 fastcgi_index index.php;
                 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                 include /etc/nginx/fastcgi_params;
         }
         location ~* ^/pma/(.+.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                 root /var/www/html;
         }
}

Asegúrese de que su configuración sea correcta

# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Luego reinicie nginx.

# systemctl restart nginx

Ahora puede ejecutar su navegador web con la dirección https: // su-ip-o-dominio / pma. Si alguien intenta usar phpmyadmin en lugar de pma, no podrá acceder a nuestra base de datos. Puede utilizar su credencial de base de datos de Postfix para iniciar sesión

Ahora puede ver la información de su base de datos de postfix

Ahora puedes manipular tu base de datos como quieras. También puede usar su credencial phpmyadmin para acceder a su propia base de datos. Asegúrese de ingresar la contraseña que utilizó durante la instalación

2- Descarga y configura roundcube

Roundcube está presente de forma predeterminada en los repositorios oficiales de Ubuntu 18.04 pero usaremos la instalación desde la fuente para usar la última versión real 1.3.6. Vaya a la carpeta raíz web para descargar

# cd /var/www/html && wget https://github.com/roundcube/roundcubemail/releases/download/1.3.6/roundcubemail-1.3.6-complete.tar.gz
--2018-06-18 13:08:37-- https://github.com/roundcube/roundcubemail/releases/download/1.3.6/roundcubemail-1.3.6-complete.tar.gz
Resolving github.com (github.com)... 192.30.255.113, 192.30.255.112
Connecting to github.com (github.com)|192.30.255.113|:443... connected.

Ahora descomprime

# tar xvf roundcubemail-1.3.6-complete.tar.gz

verifica el nombre que tienes y cámbiale el nombre

# mv roundcubemail-1.3.6 webmail

Ahora elimine el archivo comprimido y vaya al directorio de correo web

# rm roundcubemail-1.3.6-complete.tar.gz && cd webmail

a) Cree la base de datos de roundcube

Necesitamos crear la base de datos de roundcube para almacenar cierta información. Esta subparte no se detallará aquí porque tiene la misma configuración detallada en nuestro tutorial Cómo instalar Roundcube Webmail en Ubuntu 18.04

Inicie sesión en mysql como root y siga los pasos

mysql> CREATE DATABASE roundcubedb;
mysql> CREATE USER 'roundcube'@'localhost' IDENTIFIED BY 'your-roundcubedb-password';
mysql> GRANT ALL PRIVILEGES ON roundcubedb.* to 'roundcube'@'localhost';
mysql> FLUSH PRIVILEGES;
mysql> EXIT;

Ahora importe las tablas iniciales para la base de datos de roundcube

# mysql -u roundcube -p roundcubedb < SQL/mysql.initial.sql
Enter password:

Ahora edite su archivo de configuración Nginx predeterminado y agregue estas líneas en los bloques del servidor

# vim /etc/nginx/sites-available/default
location /webmail {
        root /var/www/html;
        index index.php;
        location ~ ^/webmail/(.+.php)$ {
                root /var/www/html;
                try_files $uri =404;
                fastcgi_index index.php;
                fastcgi_pass unix:/run/php/php7.2-fpm.sock;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include /etc/nginx/fastcgi_params;
        }
        location ~ ^/webmail/(README|INSTALL|LICENSE|CHANGELOG|UPGRADING)$ {
                deny all;
        }
        location ~ ^/webmail/(bin|SQL|config|temp|logs)/ {
               deny all;
        }
}

Comprueba tu configuración

# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Luego reinicia nginx

# systemctl restart nginx

b) Configuración de roundcube

Necesitamos otorgar los permisos adecuados usando el comando chmod y la propiedad usando el comando chown para que roundcube funcione bien.

# chown -R www-data:www-data /var/www/html/webmail/
# chmod 755 /var/www/html/webmail/temp/ /var/www/html/webmail/logs/

Ahora debe continuar con el proceso de instalación a través de su navegador web. Note que Roundcube ejecuta un script llamado instalador ubicado en su directorio para realizar la instalación del proceso y verificar si todos los componentes requeridos están instalados. Ahora puedes abrir tu navegador https: // su-ip-o-dominio / webmail / installer para continuar la instalación

Al final de la página de verificación, elija Siguiente si es bueno.

Si echas de menos algunos componentes como los siguientes

También puede perderse la extensión de internacionalización de PHP (php-intl). Luego intente instalarlo como se muestra a continuación

# apt install php-net-ldap3 php-intl
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
 php-ldap php-net-ldap2 php7.2-ldap
The following NEW packages will be installed:
 php-ldap php-net-ldap2 php-net-ldap3 php7.2-ldap
...
...

No tendrás el mismo error. Ahora en la página siguiente, verifique la configuración actual

Observe la carpeta de registro de roundcube si encuentra algún error de depuración.

Enter la información de su base de datos de roundcube para establecer la conexión

Ahora proporcione la información del servidor imap y smtp.

Entonces podemos continuar al final de la página.

La configuración se guardará en /var/www/html/webmail/config/config.inc.php

La siguiente página dará el resultado de la información anterior. Aquí es importante verificar el correo de envío y el inicio de sesión. Los resultados le permitirán saber si no encontrará algún error en Roundcube. Ahora ingrese toda la información smtp con la contraseña para las pruebas y asegúrese de que el resultado sea válido. Si no es así, verifique los archivos de registro tanto para roundcube como para postfix para una mejor solución de problemas

ahora ingresemos la información y la contraseña del imap. Puedes ver que todos son válidos. Vea la advertencia que le indica que deshabilite el instalador después de eso

Puede cambiar el nombre de la carpeta del instalador si no desea eliminarla.

# mv webmail/installer/ webmail/installer.old

c) Conexión a roundcube

Ahora puede iniciar sesión en roundcube con nuestros dos usuarios virtuales para ver si recibimos efectivamente los correos de prueba durante la configuración. Abra la página de inicio de sesión de roundcube sin el instalador con https: // tu-ip-o-dominio / webmail

Puede ver la página de inicio de roundcube y los correos electrónicos del segundo usuario virtual en la bandeja de entrada.

Ahora puede cerrar la sesión y volver a iniciarla con el otro usuario virtual para comprobar el buzón. Puedes ver el correo esperándote

Ahora puede crear más usuarios y dominios virtuales que ahora pueden administrar fácilmente sus buzones de correo con una interfaz web agradable.

Leer también

  • Cómo instalar certificados SSL Let’s Encrypt en Ubuntu 18.04

  • Cómo instalar paquetes en Arch Linux