Webmail setup
| Server setup | |
| ← Previous | Next → |
| Mediawiki farm | Print server |
Installation
This one's easy, once the HTTPS web server is set up.
I'm using Roundcube as a webmail interface.
- Install the packages:
root@server:~# aptitude install roundcube roundcube-pgsql roundcube-plugins
- (Install other
aspell-dictionaries as you wish at the same time.)
- Follow the defaults in the questions asked during installation. However, these questions don't address all the configuration options. Therefore, after installation, reconfigure the packages:
root@server:~# sudo dpkg-reconfigure roundcube-core
- Roundcube wants to make itself available as
domain.tld/roundcubeon all sites. The file/etc/apache2/conf-available/roundcube.confdoes this with theAlias /roundcube /var/lib/roundcubedirective, which is initially commented out. Keep it commented out, and copy the contents of that file into the/etc/apache2/sites-available/webmail.domain.tld.conf, uncommenting theAliasline.
- Disable the Roundcube configuration, enable the webmail site, and reload Apache:
root@server:~# a2disconf roundcube root@server:~# a2ensite webmail.domain.tld.conf root@server:~# systemctl reload apache2.service
- Visit
https://webmail.domain.tldand you should be able to log on.
- If need be, add this line to
/etc/roundcube/config.inc.phpto specify the outgoing SMTP server.
$config['smtp_server'] = 'tls://mail.%t';
Installing plugins
Where possible, use the Roundcube plugins installer, working from the /var/lib/roundcube directory.
Mobile skin
Roundcube doesn't work well on mobile devices. The Melanie2 skin seems to be a good alternative. The instructions at the Roundcube inbox are slightly unclear with paths, so here's what I did.
root@server:~# cd /var/lib/roundcube root@server:/var/lib/roundcube# git clone https://github.com/messagerie-melanie2/Roundcube-Skin-Melanie2-Larry-Mobile.git skins/melanie2_larry_mobile root@server:/var/lib/roundcube# php composer.phar update root@server:/var/lib/roundcube# php composer.phar require melanie2/mobile:dev-master
- remembering to say "no" to activating the
jquery_mobileplugin, but "yes" to activating themobileplugin.
Enigma
The Enigma plugin comes as part of the Roundcube installation. To enable it, add enigma to the list of enabled plugins in /etc/roundcube/config.inc.php.
(Note that this doesn't seem to work at the moment.)
/etc/apache2/sites-available/webmail.domain.tld.conf
<VirtualHost *:443>
ServerAdmin webmaster@localhost
SSLEngine On
# SSLCertificateChainFile /etc/letsencrypt/live/webmail.domain.tld/chain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/webmail.domain.tld/privkey.pem
SSLCertificateFile /etc/letsencrypt/live/webmail.domain.tld/fullchain.pem
DocumentRoot /var/lib/roundcube
ServerName webmail.domain.tld
<Directory />
Options +FollowSymLinks -Indexes
AllowOverride None
</Directory>
<Directory /var/lib/roundcube/>
Options +FollowSymLinks
# This is needed to parse /var/lib/roundcube/.htaccess. See its
# content before setting AllowOverride to None.
AllowOverride All
<IfVersion >= 2.3>
Require all granted
</IfVersion>
<IfVersion < 2.3>
Order allow,deny
Allow from all
</IfVersion>
</Directory>
# Protecting basic directories:
<Directory /var/lib/roundcube/config>
Options -FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/lib/roundcube/temp>
Options -FollowSymLinks
AllowOverride None
<IfVersion >= 2.3>
Require all denied
</IfVersion>
<IfVersion < 2.3>
Order allow,deny
Deny from all
</IfVersion>
</Directory>
<Directory /var/lib/roundcube/logs>
Options -FollowSymLinks
AllowOverride None
<IfVersion >= 2.3>
Require all denied
</IfVersion>
<IfVersion < 2.3>
Order allow,deny
Deny from all
</IfVersion>
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/webmail.domain.tld.access.log combined
ServerSignature Off
</VirtualHost>