Você está na página 1de 4

Instalacin y configuracin de Roundcube en Ubuntu

Nota 1: cada vez que instalemos un paquete (apt-get install) o modifiquemos un fichero de
configuracin, reiniciar servidor apache con: service apache2 restart
Nota 2: prcticamente el 100% de las acciones a realizar en este manual requieren ser superusuario
de Ubuntu.
Nota 3: antes de empezar a instalar nada es conveniente ejecutar apt-get update, para actualizar la
BD de Ubuntu con informacin sobre los paquetes disponibles.
Nota 4: Al aadir lneas al fichero de configuracin de Roundcube, hacerlo siempre debajo de la
lnea de declaracin del array de configuracin $config = array();

Roundcube requiere

Un servidor web (por ejemplo Apache)

PHP

Una base de datos (De todas las opciones compatibles, elegimos MariaDB)

Servidor IMAPv4 (usaremos el de outlook.com)

Servidor SMTP (usaremos el de outlook.com)

Instalacin de Servidor Web Apache


apt-get install apache2

Instalacin de PHP
apt-get install php
apt-get install libapache2-mod-php (mdulo para integrar PHP en servidor web
Apache)
Adems se requieren los siguientes mdulos de PHP:

PCRE: viene por defecto con php

XML: apt-get install php-xml

DOM: viene en php-xml

JSON: apt-get install php-json

Mbstring: apt-get install php-mbstring

OpenSSL: ya instalado por defecto en ubuntu.

PDO: viene por defecto con php

Instalacin de MariaDB
apt-get install mariadb-server
Una vez instalada la base de datos, iniciar sesin en ella (sudo mysql). Una vez dentro crear la base
de datos para Roundcube y el usuario que utilizar detallando sus permisos.
create database roundcubemail;
GRANT ALL PRIVILEGES ON roundcubemail.* TO roundcubeuser@localhost
IDENTIFIED BY 'roundcube';
exit;
La primera sentencia crea la base de datos roundcubemail.
La segunda (GRANT) crea un usuario llamado roundcubeuser@localhost (@localhost indica que
slo se puede conectar desde la propia mquina servidor) con contrasea roundcube, y le concede
todo tipo de permisos permisos sobre la BD roundcubemail (salvo el de conceder permisos a otros
usuarios).

Configuracin de /etc/php/7.0/apache2/php.ini
error_reporting = E_ALL & ~E_NOTICE
date.timezone="Europe/Madrid"

Instalar roundcube
Descargar roundcube de www.roundcube.net. Descomprimir (tar xfz roundcube-1.2.2.tar.gz) y
copiar a la carpeta de apache /var/www/html y renombrar la carpeta de roundcube-1.2.2 a
roundcube.

Crear fichero de configuracin de Roundcube


Rouncube lee el fichero config.inc.php de su directorio config. Dicho fichero no existe de por s,
hay que crearlo copiando o renombrando el fichero config.inc.php.sample.
Para ello:
cd /var/www/html/roundcube/config
cp config.inc.php.sample config.inc.php

Activar en instalador de Roundcube


En el directorio donde instalamos roundcube buscar config/config.inc.php y poner poner lnea:
$config['enable_installer'] = true;

Ejecutar instalador
Ejecutar instalador. Si arrancamos el instalador de roundcube (http://localhost/roundcube/installer)
veremos que nos falta php-mysql. Instalarlo con comando:
apt-get install php-mysql

Configurar servidores, puertos, base datos. Ejecutar scripts de creacin de tablas desde instalador.
El instalador incluye en su paso 2 una utilidad que nos genera las lneas de cdigo que hay que
escribir en el fichero de configuracin de roundcube
(/var/www/html/roundcube/config/config.inc.php).
De todos modos, el paso 2 se puede evitar, incluyendo directamente en nuestro fichero de
configuracin las siguientes lneas:
$config['db_dsnw'] = 'mysql://roundcubeuser:roundcube@localhost/roundcubemail';
$config['default_host'] = 'ssl://imap-mail.outlook.com';
$config['default_port'] = 993;
$config['smtp_server'] = 'tls://smtp-mail.outlook.com';
$config['smtp_port'] = 587;
$config['auto_create_user'] = true;
$config['smtp_user'] = '%u';
$config['smtp_pass'] = '%p';

Desactivar acceso a directorios config, logs y temp


Desactivar acceso a directorios config, logs y temp. Eso se hace en fichero de configuracin apache:
/etc/apache2/apache2.conf
Aadir al final un bloque como este para cada uno de esos tres directorios:
<directory /var/www/html/roundcube/config>
Order Allow,Deny
Deny from all
</directory>

Desactivar instalador
Una vez que la instalacin ha concluido la instalacin desactivar el instalador con modificando la
variable $config['enable_installer'] = false; del fichero de configuracin de
roundcube.
Tambin se puede ser ms drstico y borrar el directorio installer:
cd /var/www/html/roundcube
rm -r installer

Configuracin para poder acceder con https


Crear carpeta /etc/apache2/tls
Crear certificado con comando openssl:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout
/etc/apache2/tls/apache.key -out /etc/apache2/tls/apache.crt
Pedir datos. Introducir algo as:
Country Name (2 letter code) [AU]:ES
State or Province Name (full name) [Some-State]:Huesca

Locality Name (eg, city) []:Huesca


Organization Name (eg, company) [Internet Widgits Pty Ltd]:AW
Organizational Unit Name (eg, section) []:Department of Kittens
Common Name (e.g. server FQDN or YOUR name) []: La IP del servidor
Email Address []: un@email.com
Activar mdulo ssl_mod de apache mediante comando sudo a2enmod ssl.
Aadir a fichero de configuracin de Apache lo siguiente:
<VirtualHost *:443>
SSLEngine on
SSLCertificateFile "/etc/apache2/tls/apache.crt"
SSLCertificateKeyFile "/etc/apache2/tls/apache.key"
ServerName 192.168.1.100 (IP de la mquina servidor web)
</VirtualHost>
Reiniciar Apache. Ahora ya podemos acceder a roundcube con protocolo https (y con http).
Procedemos a desactivar acceso a travs de http. Para ello, en fichero de configuracin de
Roundcube aadimos la lnea: $config['force_https']=true;
Reiniciamos Apache una vez ms.
Como es un certificado autofirmado, los usuarios que accedan al servidor web debern confiar en l
y crear una excepcin en su navegador.

Fuentes
https://github.com/roundcube/roundcubemail/wiki
https://wiki.apache.org/httpd/