====== Adding MailBoxes, WebMail, AntiSpam etc ====== Configure mailserver as described in [[notes:mailserver|Mail server (for aliases only)]] ===== Add Dovecot Mailbox support (''Maildir'' format) ===== Install missing packages apt-get install dovecot-pop3d dovecot-imapd php5-imap php5-mcrypt Create file /etc/dovecot/dovecot-mysql.conf.ext: driver = mysql connect = host=127.0.0.1 dbname=postfix user=postfix password= default_pass_scheme = MD5-CRYPT user_query = SELECT '/var/vmail/%d/%n' as home, 3000 AS uid, 3000 AS gid FROM mailbox WHERE username = '%u' password_query = SELECT password FROM mailbox WHERE username = '%u' Edit /etc/dovecot/conf.d/10-auth.conf disable_plaintext_auth = no auth_mechanisms = plain login #!include auth-system.conf.ext !include auth-sql.conf.ext Edit /etc/dovecot/conf.d/10-mail.conf mail_location = maildir:/var/vmail/%d/%n:INDEX=/var/vmail/%d/%n/indexes Edit /etc/dovecot/conf.d/10-ssl.conf ssl = yes Edit /etc/dovecot/conf.d/20-imap.conf mail_max_userip_connections = 10 Edit /etc/dovecot/conf.d/auth-sql.conf.ext passdb { driver = sql # Path for SQL configuration file, see example-config/dovecot-sql.conf.ext # args = /etc/dovecot/dovecot-sql.conf.ext args = /etc/dovecot/dovecot-mysql.conf.ext } userdb { driver = sql # args = /etc/dovecot/dovecot-sql.conf.ext args = /etc/dovecot/dovecot-mysql.conf.ext } Restart services: service dovecot restart service postfix restart You can now test your e-mail server. Any errors are found as always in logfiles: /var/log/auth.log /var/log/mail.log /var/log/syslog ===== Install RoundCube ===== cd /var/www/XYZ/www wget http://sourceforge.net/projects/roundcubemail/files/roundcubemail/1.0.1/roundcubemail-1.0.1.tar.gz\?use_mirror=garr -O rcb.tar.gz tar -zxvf rcb.tar.gz mv roundcubemail-1.0.1/ rcb/ chown -R www-data:www-data rcb cd rcb Log in mysql mysql -u root -p Create roundcube mysql user CREATE DATABASE roundcube; GRANT ALL PRIVILEGES ON roundcube.* TO roundcube@localhost IDENTIFIED BY ''; FLUSH PRIVILEGES; Add initial tables and data: mysql -u roundcube -p roundcube < SQL/mysql.initial.sql Add timezone info to php ini file /etc/php5/fpm/php.ini: date.timezone = America/New_York Go to [[http://XYZ/rcb/installer/]]. See that your environment is ok and click Next. On the ‘Create config’ page, you may want to change the following values: product_name: support_url: database name: roundcube database password: default_host: localhost smtp_server: localhost language: en_US Click Continue. Remove installer folder: mv installer ../../ ===== Configure one Roundcube installation to serve multiple domains ===== In case you have one installation of Roundcube to serve multiple domains hosted on one server you can create host-specific config files. These files have to be named like .inc.php and are saved in Roundcube's config directory [1]. Roundcube does not read them by default so you need to set the 'include_host_config' option to true in the main config file. If enabled, Roundcube will additionally load the file that matches the host name used to access Roundcube and merged the options configured there over the main config file. This means that they only need to contain the parameters that differ from the main configuration. Most common configurations on host-specific files are these: '; $rcmail_config['username_domain'] = ''; Setting 'username_domain' will make Roundcube append the correct domain part if a user only logs in with its user name (e.g. 'user' instead of ​user@domain1.com). Instead of setting 'include_host_config' simply to true, you can specify a hash array assigning host names (key) to config file names (values) like the following example $rcmail_config['include_host_config'] = array( 'mail.roundcube.net' => 'net_config.inc.php', 'mail.roundcube.com' => 'com_config.inc.php' ); Finally open RoundCube at [[http://XYZ/rcb/]] ---- [1] http://trac.roundcube.net/wiki/Howto_Config/Multidomains [2] http://www.xenlens.com/debian-wheezy-mail-server-postfix-dovecot-sasl-mysql-postfixadmin-roundcube-spamassassin-clamav-greylist-nginx-php5/