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.
- You have to know where Roundcube is installed. E.g.:
- 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
- Removing of Dark mode switch in the less asset.
- Adding a config for Calendar in the main include.
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
Well sorry 500 is server error so you need more granular logging. Enable PHP ini for errors. This worked for us:
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
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.
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.