Cómo instalar el último correo web de RoundCube en Ubuntu 18.04 LTS
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:
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 de registro y 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:
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:
A continuación, haga clic en el Continuar botón. Deberías ver la siguiente página:
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.
RoundCube se ha instalado con éxito en Ubuntu 18.04 LTS.