Cómo instalar el último correo web de RoundCube en Ubuntu 18.04 LTS

Instalador web de RoundCube

Roundcube es una solución de correo web basada en web gratuita y de código abierto escrita en PHP. Es un cliente IMAP basado en la web, por lo que también puede acceder a su servidor de correo electrónico desde su navegador web. No necesita leer y enviar correos electrónicos desde un cliente de correo de escritorio. Este tutorial muestra cómo instalar RoundCube con el servidor web Apache y protegido por un certificado Let’s encrypt SSL en Ubuntu 18.04 LTS (Bionic Beaver).

Características de RoundCube

  • Soporte MIME, búsqueda de mensajes y revisión ortográfica.
  • Integración de directorio LDAP para libretas de direcciones.
  • Admite varios idiomas.
  • Compatibilidad con carpetas compartidas/globales y ACL de IMAP.
  • Almacenamiento en caché incorporado para un acceso rápido al buzón.
  • Soporte para servidor SMTP externo e IDNA.

Requisitos

  • Un servidor con Ubuntu 18.04 LTS.
  • Un usuario no root con privilegios sudo.

Instalar servidor LAMP

Antes de comenzar, debe actualizar la lista de paquetes e instalar las actualizaciones pendientes:

sudo apt-get update
sudo apt-get upgrade

Luego, instala Apache y MariaDB con el siguiente comando:

sudo apt-get install apache2 mariadb-server php7.2 php7.2-gd php-mysql php7.2-curl php7.2-zip php7.2-ldap php7.2-mbstring php-imagick php7.2-intl php7.2-xml unzip wget curl -y

Una vez que todos los paquetes estén instalados, deberá cambiar la configuración de la zona horaria en el archivo php.ini. Puedes hacer esto con el siguiente comando:

sudo nano /etc/php/7.2/apache2/php.ini

Realice los siguientes cambios:

date.timezone = Europe/Berlin

Guarde y cierre el archivo, luego inicie el servicio Apache y MariaDB y habilítelos para que se inicien en el momento del arranque con el siguiente comando:

sudo systemctl start apache2
sudo systemctl enable apache2
sudo systemctl start mariadb
sudo systemctl enable mariadb

Descargar Roundcube

Primero, deberá descargar la última versión de Roundcube en su sistema. Puedes descargarlo con el siguiente comando:

cd /tmp
wget https://github.com/roundcube/roundcubemail/releases/download/1.3.8/roundcubemail-1.3.8-complete.tar.gz

Una vez que se complete la descarga, extraiga el archivo descargado con el siguiente comando:

tar -xvzf roundcubemail-1.3.8-complete.tar.gz

A continuación, mueva el directorio extraído al directorio raíz web de Apache:

mv roundcubemail-1.3.8 /var/www/html/roundcube

A continuación, otorgue los permisos adecuados al directorio roundcube:

sudo chown -R www-data:www-data /var/www/html/roundcube
sudo chmod -R 775 /var/www/html/roundcube

Configurar la base de datos

De forma predeterminada, la instalación de MariaDB no está protegida. Por lo tanto, deberá asegurarlo primero. Puede asegurarlo ejecutando el siguiente script:

mysql_secure_installation

Responda todas las preguntas como se muestra a continuación:

Change the password for root ? N
Remove anonymous users? Y
Disallow root login remotely? Y
Remove test database and access to it? Y
Reload privilege tables now? Y

Una vez que MariaDB esté protegida, inicie sesión en el shell de MariaDB con el siguiente comando:

mysql -u root -p

Ingrese su contraseña de root, luego cree una base de datos y un usuario para Roundcube:

MariaDB [(none)]> CREATE DATABASE roundcubedb;
MariaDB [(none)]> CREATE USER 'roundcube'@'localhost' IDENTIFIED BY 'password';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON roundcubedb.* to 'roundcube'@'localhost';

Reemplace la palabra ‘contraseña’ con una contraseña segura de su elección y recuerde esta contraseña, la necesitamos para la instalación de roundcube más adelante. A continuación, elimine los privilegios y salga del shell de MariaDB con el siguiente comando:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit;

A continuación, debe importar las tablas iniciales a la base de datos roundcubedb. Puedes hacer esto usando el siguiente comando:

cd /var/www/html/roundcube
mysql -u roundcube -p roundcubedb < SQL/mysql.initial.sql

Escriba la contraseña de usuario de la base de datos de roundcube cuando se le solicite.

Configurar Apache para Roundcube

A continuación, deberá crear un archivo de host virtual de Apache para Roundcube. Puedes hacer esto con el siguiente comando:

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

Agregue las siguientes líneas:

<VirtualHost *:80>
        ServerName example.com                          
        ServerAdmin [email protected]
        DocumentRoot /var/www/html/roundcube

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

        <Directory /var/www/html/roundcube>
                Options -Indexes
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>
</VirtualHost>

reemplace example.com con su nombre de dominio. Guarde y cierre el archivo, luego habilite el archivo de host virtual usando el siguiente comando:

sudo a2ensite roundcube

A continuación, habilite el módulo de reescritura de Apache y reinicie el servidor Apache con el siguiente comando:

sudo a2enmod rewrite
sudo systemctl restart apache2

Habilite SSL con Let’s encrypt para RoundCube

En este paso, habilitaremos SSL para RoundCube mediante el uso de un certificado Let’s encrypt SSL gratuito. El primer paso es instalar el certbot Let’s encrypt client que usaremos para obtener el certificado SSL.

sudo apt-get install certbot python-certbot-apache

Solicite el certificado SSL con este comando:

sudo certbot --apache

IMPORTANTE: El nombre de dominio o subdominio que utiliza para el sitio web de RoundCube debe ser accesible desde Internet para obtener un certificado SSL. Certbot le hará algunas preguntas ahora. Ver las respuestas en rojo.

[email protected]: certbot --apache
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]
-------------------------------------------------------------------------------
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v01.api.letsencrypt.org/directory
-------------------------------------------------------------------------------
(A)gree/(C)ancel: a
-------------------------------------------------------------------------------
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about EFF and
our work to encrypt the web, protect its users and defend digital rights.
-------------------------------------------------------------------------------
(Y)es/(N)o: n
Which names would you like to activate HTTPS for?
-------------------------------------------------------------------------------
1: roundcube.example.com
-------------------------------------------------------------------------------
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel): 1
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for roundcube.example.com
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/roundcube-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/roundcube-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/roundcube-le-ssl.conf
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Redirecting vhost in /etc/apache2/sites-enabled/roundcube.conf to ssl vhost in /etc/apache2/sites-available/roundcube-le-ssl.conf
-------------------------------------------------------------------------------
Congratulations! You have successfully enabled https://roundcube.example.com
You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=roundcube.example.com
-------------------------------------------------------------------------------
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/roundcube.example.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/roundcube.example.com/privkey.pem
Your cert will expire on 2019-06-25. To obtain a new or tweaked
version of this certificate in the future, simply run certbot again
with the "certonly" option. To non-interactively renew *all* of
your certificates, run "certbot renew"
- Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le

Ahora se puede acceder al vhost de RoundCube mediante https.

Acceder al correo web

Ahora, abra su navegador web y escriba la URL https://ejemplo.com/instalador (¡reemplace example.com con su nombre de dominio en la URL!). Será redirigido a la siguiente página:

Instalador web de RoundCube

Instalador web - parte 2

Una vez completados todos los requisitos, haga clic en el próximo botón. Deberías ver la siguiente página:

Configuración general:

Configuración general

Configuración de registro y base de datos:

Configuración de la base de datos

Complete aquí los detalles de la base de datos de roundcubedb que creó en el paso de configuración de la base de datos.

Configuración SMTP e IMAP:

Configuración SMTP

Configuración de IMAP

Complementos:

Complementos

Aquí, proporcione todos los detalles según su necesidad, luego haga clic en el CREAR CONFIGURACIÓN botón. Deberías ver la siguiente página:

Crear configuración

A continuación, haga clic en el Continuar botón. Deberías ver la siguiente página:

Configuración creada

Ahora, haga clic en el Comprobar inicio de sesión botón. Después de completar la instalación, elimine el directorio /var/www/html/roundcube/installer:

sudo rm -rf /var/www/html/roundcube/installer

Ahora, acceda a su correo web usando la URL http://tu-direccion-ip o http://tu-dominio.com e inicie sesión con su correo electrónico.

Iniciar sesión

RoundCube se ha instalado con éxito en Ubuntu 18.04 LTS.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *