GNU/Linux >> Tutoriales Linux >  >> Debian

Instalación de correo web de RoundCube en Debian 8 (Jessie)

Este tutorial muestra la instalación del último correo web de RoundCube en Debian 8. Roundcube es un cliente de correo web fácil de usar con soporte para IMAP y SMTP que se puede ampliar con complementos. En Debian 7, RoundCube estaba disponible como paquete .deb, no era la última versión, pero al menos era fácil de instalar con apt. Para la versión actual de Debian, ya no hay un paquete RoundCube disponible, por lo que describiré la instalación desde la fuente aquí. Este tutorial contiene un capítulo opcional que describe los pasos para conectar RoundCube con el panel de control de alojamiento ISPConfig 3.

Requisitos

  • Sistema operativo Debian 8.
  • Servidor web Apache con mod_php instalado. Si no hay apache instalado todavía, consulte nuestra guía LAMP o la configuración de Perfect Server para instalar un entorno adecuado.
  • Un servidor de correo electrónico (SMTP + IMAP) al que se conectará Roundcube. Este puede ser el servidor local (por ejemplo, cuando usa una de las configuraciones de servidor perfectas) o un servidor remoto.
  • El nombre de host del servidor que usaré en este tutorial es server1.example.com con la dirección IP 192.168.1.100. Reemplácelo con la IP y el nombre de host de su servidor.

Instalación de RoundCube

Instalaré RoundCube en el directorio /opt/roundcube para asegurarme de que esta instalación no colisione con ningún paquete del sistema Debian. El primer paso es instalar wget, crear el directorio /opt/roundcube y descargar la última versión de RoundCube con wget en este directorio. La versión actual de RoundCube es 1.1.3 en el momento en que escribo este tutorial, eche un vistazo al sitio web de RoundCube para comprobar si hay una versión posterior que pueda usar.

Inicie sesión como usuario raíz en el shell de su servidor, luego instale wget y el editor nano:

apt-get install wget nano

Cree el directorio e introdúzcalo con el comando "cd":

mkdir /opt/roundcube
cd /opt/roundcube

Descargue el archivo RoundCube tar.gz y descomprímalo:

wget https://downloads.sourceforge.net/project/roundcubemail/roundcubemail/1.1.3/roundcubemail-1.1.3-complete.tar.gz
tar xfz roundcubemail-1.1.3-complete.tar.gz

Los archivos de RoundCube ahora están en la carpeta /opt/roundcube/roundcubemail-1.1.3. El siguiente paso es moverlos un directorio hasta /opt/roundcube.

mv roundcubemail-1.1.3/* .
mv roundcubemail-1.1.3/.htaccess .

El punto al final de los dos comandos es obligatorio y forma parte del comando, ¡no te lo pierdas! Elimine el directorio vacío y el archivo tar.gz.

rmdir roundcubemail-1.1.3
rm roundcubemail-1.1.3-complete.tar.gz

Y cambie el propietario de todos los archivos al usuario con el que se ejecuta el servidor Apache.

chown -R www-data:www-data /opt/roundcube

Instalar la base de datos de RoundCube

Roundcube requiere una base de datos para almacenar configuraciones de buzones, contactos, etc. Usaré MySQL (o MariaDB) aquí como base de datos. Ahora crearemos una base de datos con el nombre "roundcubemail" y un usuario con el nombre "roundcube" en MySQL.

Inicie sesión en el servidor MySQL con el siguiente comando:

mysql --defaults-file=/etc/mysql/debian.cnf

Luego ejecute los siguientes comandos en el shell de la base de datos MySQl para crear la base de datos y el usuario de la base de datos. Reemplace la palabra "secretpassword" en los comandos a continuación con una contraseña de su elección.

CREATE DATABASE roundcubemail;
GRANT ALL PRIVILEGES ON roundcubemail.* TO [email protected] IDENTIFIED BY 'secretpassword';
flush privileges;
quit

Ahora importaremos las tablas RoundCube del archivo mysql.initial.sql a nuestra nueva base de datos.

Ejecute el siguiente comando en el shell de Linux:

mysql --defaults-file=/etc/mysql/debian.cnf roundcubemail < /opt/roundcube/SQL/mysql.initial.sql

Configurar RoundCube y Apache

En este paso, configuraremos los detalles de la base de datos en RoundCube y agregaremos un archivo de configuración de RoundCube en Apache.

Comenzaré con la configuración de la base de datos en RoundCube. Ejecute los siguientes comandos para crear un nuevo archivo config.inc.php basado en el archivo de configuración de muestra y ábralo en el editor nano.

cd /opt/roundcube/config
cp -pf config.inc.php.sample config.inc.php
nano config.inc.php

Busque la línea de configuración de la base de datos que comienza con $config['db_dsnw'] y reemplácela con la siguiente línea:

$config['db_dsnw'] = 'mysql://roundcube:[email protected]/roundcubemail';

La palabra "secretpassword" tiene que ser reemplazada con la contraseña que ha elegido para la base de datos.

A continuación, busque la línea "smtp_server" y establezca aquí el nombre de host de su servidor SMTP. En mi caso, el servidor de correo es el servidor local, por lo que configuraré el servidor en "localhost".

$config['smtp_server'] = 'localhost';

Ahora es el momento de configurar Apache. Crearé un nuevo archivo de configuración roundcube.conf en la carpeta /etc/apache2/conf-disponible/.

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

Agregue las siguientes líneas a ese archivo y guárdelo.

Alias /roundcube /opt/roundcube
Alias /webmail /opt/roundcube

<Directory /opt/roundcube>
Options +FollowSymLinks
# AddDefaultCharset UTF-8
AddType text/x-component .htc

<IfModule mod_php5.c>
AddType application/x-httpd-php .php
php_flag display_errors Off
php_flag log_errors On
# php_value error_log logs/errors
php_value upload_max_filesize 10M
php_value post_max_size 12M
php_value memory_limit 64M
php_flag zlib.output_compression Off
php_flag magic_quotes_gpc Off
php_flag magic_quotes_runtime Off
php_flag zend.ze1_compatibility_mode Off
php_flag suhosin.session.encrypt Off
#php_value session.cookie_path /
php_flag session.auto_start Off
php_value session.gc_maxlifetime 21600
php_value session.gc_divisor 500
php_value session.gc_probability 1
</IfModule>

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^favicon\.ico$ skins/larry/images/favicon.ico
# security rules:
# - deny access to files not containing a dot or starting with a dot
# in all locations except installer directory
RewriteRule ^(?!installer)(\.?[^\.]+)$ - [F]
# - deny access to some locations
RewriteRule ^/?(\.git|\.tx|SQL|bin|config|logs|temp|tests|program\/(include|lib|localization|steps)) - [F]
# - deny access to some documentation files
RewriteRule /?(README\.md|composer\.json-dist|composer\.json|package\.xml)$ - [F]
</IfModule>

<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
</IfModule>

<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 month"
</IfModule>

FileETag MTime Size

<IfModule mod_autoindex.c>
Options -Indexes
</ifModule>

AllowOverride None
Require all granted
</Directory>

<Directory /opt/roundcube/plugins/enigma/home>
Options -FollowSymLinks
AllowOverride None
Require all denied
</Directory>

<Directory /opt/roundcube/config>
Options -FollowSymLinks
AllowOverride None
Require all denied
</Directory>

<Directory /opt/roundcube/temp>
Options -FollowSymLinks
AllowOverride None
Require all denied
</Directory>

<Directory /opt/roundcube/logs>
Options -FollowSymLinks
AllowOverride None
Require all denied
</Directory>

Las 2 líneas de alias en las dos primeras líneas hacen que RoundCube esté disponible como /roundcube y /webmail en su servidor.

Habilite la configuración y vuelva a cargar apache:

a2enconf roundcube
service apache2 reload

Eso es todo, RoundCube ahora está completamente instalado en su servidor, y puede acceder a él en la IP del servidor y el nombre de host a través de los alias /roundcube y /webmail. La IP de mi servidor es 192.168.1.100; para eso puedo abrir RoundCube con http://192.168.1.100/webmail

Instalación del complemento ISPConfig RoundCube (opcional)

Cuando su servidor tiene instalado iSPConfig 3, se recomienda encarecidamente instalar el complemento ISPConfig RoundCube. Esto permite que sus usuarios de correo electrónico administren sus respuestas automáticas, filtros de correo electrónico y otras configuraciones de buzón desde RoundCube.

El complemento ISPConfig 3 RoundCube está conectado a ISPConfig 3 con la API remota de ISPConfig. Para usar esta API, necesitamos un usuario remoto.

Inicie sesión en ISPConfig como usuario "administrador".

Para crear dicho usuario, vaya a Sistema> Administración de usuarios> Usuarios remotos y haga clic en el botón Agregar nuevo usuario:

Introduzca un nombre de usuario y una contraseña para el nuevo usuario remoto. Elegiré el nombre de usuario "roundcube" y la contraseña "!fdWEacBOG1d".

La configuración de usuario remoto permite un control de acceso detallado; las siguientes funciones tienen que estar habilitadas:

  • Funciones del servidor
  • Funciones de cliente
  • Funciones de usuario de correo
  • Funciones de alias de correo
  • Funciones de usuario del filtro de spam de correo
  • Funciones de la política de filtro de spam de correo
  • Funciones de recuperación de correo
  • Funciones de la lista blanca del filtro de spam de correo
  • Funciones de la lista negra del filtro de spam de correo
  • Funciones de filtrado de usuarios de correo

Finalmente haga clic en Guardar.

Los siguientes pasos se realizaron en el shell de su servidor. Inicie sesión como usuario root.

Instalaremos ahora el certificado SSL de ISPConfig en el almacén de certificados SSL de Debian.

cp /usr/local/ispconfig/interface/ssl/ispserver.crt /usr/local/share/ca-certificates/
update-ca-certificates

Abra el archivo /etc/php5/cgi/php.ini

nano /etc/php5/apache2/php.ini

Desplázate hacia abajo hasta que veas la sección [openssl] del archivo y allí agregas la siguiente línea:

openssl.cafile=/etc/ssl/certs/ca-certificates.crt

Luego reinicie apache.

service apache2 restart

Para descargar el complemento, primero instale el cliente Git.

apt-get install git

Obtenga la última versión del complemento RoundCube ISPConfig:

cd /tmp
git clone https://github.com/w2c/ispconfig3_roundcube.git
cd /tmp/ispconfig3_roundcube/

Y mueva el complemento al directorio de complementos de roundcube.

mv ispconfig3_* /opt/roundcube/plugins
cd /opt/roundcube/plugins

Cree un nuevo archivo config.inc.php para el complemento basado en la configuración de muestra y abra el archivo en el editor nano.

mv ispconfig3_account/config/config.inc.php.dist ispconfig3_account/config/config.inc.php
nano ispconfig3_account/config/config.inc.php

Complete los detalles del usuario remoto y guarde el archivo.

<?php
$rcmail_config['identity_limit'] = false;
$rcmail_config['remote_soap_user'] = 'roundcube';
$rcmail_config['remote_soap_pass'] = '!fdWEacBOG1d';
$rcmail_config['soap_url'] = 'https://server1.example.com:8080/remote/';
?>

Reemplace servidor1.ejemplo.com con el nombre de host del servidor. Cuando se usa SSL (HTTPS) para la conexión API remota, es importante que el nombre de host en la configuración de RoundCube coincida con el nombre de host del certificado SSL de la interfaz ISPConfig. Puede comprobar el nombre de host del certificado SSL de ISPConfig con el comando:

openssl x509 -in /usr/local/share/ca-certificates/ispserver.crt -text -noout | grep Subject:

El resultado es en mi caso:

Subject: C=DE, ST=Niedersachsen, L=Lueneburg, O=ISPConfig UG, OU=IT, CN=server1.example.com/[email protected]

Entonces, el nombre de host "server1.example.com" en el archivo de configuración del complemento coincide con el nombre de host en el certificado SSL.

Ahora activaremos los nuevos complementos en RoundCube. Abra el archivo de configuración en un editor:

nano /opt/roundcube/config/config.inc.php

y agregue la siguiente línea al final del archivo:

$rcmail_config['plugins'] = array("jqueryui", "ispconfig3_account", "ispconfig3_autoreply", "ispconfig3_pass", "ispconfig3_spam", "ispconfig3_fetchmail", "ispconfig3_filter");

Ahora puede iniciar sesión en RoundCube, las nuevas opciones se pueden encontrar en Configuración> Cuenta .

Cuenta general.

Configuración del filtro de correo.

Configuración de Fetchmail.

Enlaces

  • Debian
  • Cubo redondo
  • Complemento Roundcube ISPConfig

Debian
  1. Cómo actualizar Debian 8 Jessie a Debian 9 Stretch

  2. Instale Horde 5 Webmail para ISPConfig en Debian Jessie a través de PEAR

  3. Lanzamiento de Debian 8 Jessie – ¿Qué hay de nuevo?

  4. Debian – ¿No se puede iniciar la instalación de Devuan/debian?

  5. Cómo instalar RoundCube Webmail en Debian 9

Cómo instalar Anaconda en Debian 10

Instalación y configuración de PSAD en Debian 8 (Jessie)

Uso de RoundCube Webmail con ISPConfig 3 en Debian Wheezy (Apache2)

Instalación del servidor Samba en Debian 8 (Jessie)

Cómo instalar Drupal en Debian 10

Cómo instalar XAMPP en Debian 10