fbpx

How to connect RoundCube to a Calendar

Background

RoundCube is excellent Webmail but doesn’t have a calender – something people used to Outlook may require.

Fortunately the makers of RoundCube, namely Kolab, have an excellent Calendar plugin for their webmail.

Just one problem – it doesn’t come with instructions and it’s rather technical to install.

Fortunately by the Magic of Google and some blood, sweat, and tears, we were able to get it working. To follow these instructions you need to be a fairly confident sysadmin that knows how to navigate a file system and edit configuration files. How to turn on PHP error logging. Where to find those log files.

Most of the instructions were taken from anther outdated article here, modified to bring it up to date with 2021. Also we’re using Ubuntu not CentOS for this guide, although doing in on CentOS should be fairly similar.

If you’re not technical enough, you could just purchase the plugin from RoundCube plus or Kolab. See references for one possible solution.

Prerequisites

  • You have to know where Roundcube is installed. E.g.: /home/example.com/public_html/webmail
  • If your web server isn’t reporting PHP errors, you’re in for the long haul. If this procedure doesn’t work then you might get a 500 error and if the normal Apache/NGINX log doesn’t spit out the exact message you have a problem. Fixing PHP not logging errors is outside of the scope of this article but we’ve left advanced users one tip later in this article.
  • You need to know how to retrieve your MySQL credentials from the existing Roundcube
  • Elastic Skin must be selected in RoundCube
  • `apt install node-less` for the lessc compiler
  • Compiling of less assets
  • Removing of Dark mode switch in the less asset.
  • Adding a config for Calendar in the main include.

Instructions

Here are the instructions

apt install git php-sabre-*
cd /tmp
git clone https://git.kolab.org/diffusion/RPK/
[find your webmail installation] or [cd /usr/share/roundcube/plugins]
cp -r /tmp/RPK/plugins/calendar .
cp -r /tmp/RPK/plugins/libcalendaring .
cp -r /tmp/RPK/plugins/libkolab .
cd calendar [your actual new folder]
cp config.inc.php.dist config.inc.php

Edit config.inc.php to fit your needs but when we did it all defaults were good.

Edit the file mysql.initial.sql and the line that import system change to single backtick system single backtick

mysql -u root -pYOURPASSWORD roundcubedb < drivers/database/SQL/mysq.initial.sql

Caveats

Error 500

Well sorry 500 is server error so you need more granular logging. Enable PHP ini for errors. This worked for us:

ini_set('display_errors',1)

We added this to calendar.php init() function which allowed us to see that libkolab wasn’t present. So we modified the original instructions from that site to include libkolab

Patching?

The source article it refers to patching libcalendaring but to us it looked like it’s a more modern version of PHP and not needed.

Distorted Layout

Even though the calendar works, for some reason none of the list of calendar’s are showing. Please leave us a comment if you know how to fix this.

References

Share this article

Share on facebook
Share on twitter
Share on linkedin

Leave a Reply

Your email address will not be published. Required fields are marked *

Scroll to Top