Roundcube

The Roundcube development team has released a new version of the webmail platform. New features include threaded message lists and address groups. Upgrading roundcube to version 0.4 isfairly straight forward.

Before continuing, make sure you have a current backup of your mysql database and your webserver. You need to download the latest code from the Roundcube site.

Extract the archive into the Document root of your Apache installation, in our case /Library/WebServer/Documents.

Step into the newly created directory and change the permissions on the temp and logs directory so that the webserver can write into these directories with the following commands:

cd /Library/WebServer/Documents/roundcubemail-0.4
sudo chown -R www:www temp
sudo chown -R www:www logs

Next we need to update the database structure for Roundcube-0.4. Start up MySQL on the command line as the roundcube user with this command:

mysql -u roundcube -p

Note: you will need to enter the password you chose for roundcube when you initially installed it. (if you have forgotten it can be found in the config/db.ini.php file of your old roundcubemail installation). If you have a different database name, use that instead of “roundcubemail”

If your upgrading from roundcubemail version 3.0-stable, run the following commands in the mysql shell:

USE roundcubemail
TRUNCATE `messages`;
ALTER TABLE `messages`
ADD INDEX `index_index` (`user_id`, `cache_key`, `idx`);
ALTER TABLE `session`
CHANGE `vars` `vars` MEDIUMTEXT NOT NULL;
ALTER TABLE `contacts`
ADD INDEX `user_contacts_index` (`user_id`,`email`);
quit

If your upgrading from roundcubemail version 3.1-dep, run the following commands in the mysql shell:

USE roundcubemail
ALTER TABLE `messages` DROP FOREIGN KEY `user_id_fk_messages`;
ALTER TABLE `cache` DROP FOREIGN KEY `user_id_fk_cache`;
ALTER TABLE `contacts` DROP FOREIGN KEY `user_id_fk_contacts`;
ALTER TABLE `identities` DROP FOREIGN KEY `user_id_fk_identities`;
ALTER TABLE `messages` ADD CONSTRAINT `user_id_fk_messages` FOREIGN KEY (`user_id`)
REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE `cache` ADD CONSTRAINT `user_id_fk_cache` FOREIGN KEY (`user_id`)
REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE `contacts` ADD CONSTRAINT `user_id_fk_contacts` FOREIGN KEY (`user_id`)
REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE `identities` ADD CONSTRAINT `user_id_fk_identities` FOREIGN KEY (`user_id`)
REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE `contacts` ALTER `name` SET DEFAULT ”;
ALTER TABLE `contacts` ALTER `firstname` SET DEFAULT ”;
ALTER TABLE `contacts` ALTER `surname` SET DEFAULT ”;
ALTER TABLE `identities` ADD INDEX `user_identities_index` (`user_id`, `del`);
ALTER TABLE `identities` ADD `changed` datetime NOT NULL DEFAULT ’1000-01-01 00:00:00′ AFTER `user_id`;
 
CREATE TABLE `contactgroups` (
  `contactgroup_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `user_id` int(10) UNSIGNED NOT NULL DEFAULT ’0′,
  `changed` datetime NOT NULL DEFAULT ’1000-01-01 00:00:00′,
  `del` tinyint(1) NOT NULL DEFAULT ’0′,
  `name` varchar(128) NOT NULL DEFAULT ”,
  PRIMARY KEY(`contactgroup_id`),
  CONSTRAINT `user_id_fk_contactgroups` FOREIGN KEY (`user_id`)
  REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE,
  INDEX `contactgroups_user_index` (`user_id`,`del`)
);
 
CREATE TABLE `contactgroupmembers` (
  `contactgroup_id` int(10) UNSIGNED NOT NULL,
  `contact_id` int(10) UNSIGNED NOT NULL DEFAULT ’0′,
  `created` datetime NOT NULL DEFAULT ’1000-01-01 00:00:00′,
  PRIMARY KEY (`contactgroup_id`, `contact_id`),
  CONSTRAINT `contactgroup_id_fk_contactgroups` FOREIGN KEY (`contactgroup_id`)
  REFERENCES `contactgroups`(`contactgroup_id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `contact_id_fk_contacts` FOREIGN KEY (`contact_id`)
  REFERENCES `contacts`(`contact_id`) ON DELETE CASCADE ON UPDATE CASCADE
);
 
quit

The next step is a lot simpler. Point your browser to http://yourhostname/roundcubemail-0.4/installer/ and follow the instructions, just like you did when you initially installed roundcubemail.

In step 2 make sure you enter all the information as you did for the previous install of roundcubemail. Perhaps you had:

Database setup:
localhost
roundcubemail
roundcube
PASSWORD (or whatever you have it set too)
 
IMAP Settings:
ssl://localhost:993

If the installer was unable to create the config files you need to copy the contents located in the browser in the files db.inc.php and main.inc.php located in the directory config

If you have tested the setup and it works please remove the installer directory from the roundcube installation. It might be used by others to hack your installation.

For errors you could check the logfiles to explain what went wrong. For Roundcube errors check the /logs/errors file and for general mail errors check the /var/log/mail.log file.

Lastly, after you have checked that your new install is working properly, We need to change the symbolic link from our old installation to the new one. Then you can remove the previous version of roundcubemail from your webserver with:

sudo rm /Library/WebServer/Documents/roundcubemail
sudo ln -s /Library/WebServer/Documents/roundcubemail-0.4 /Library/WebServer/Documents/roundcubemail

1 comment

The people at the Roundcube project have been busy, they have released an updated which should fix a lot of bugs according to their statements:

This update release fixes lots of bugs and improves the file upload when composing a mail message. Also some of the plugins have been improved and translated into more languages.

I’ve been using 0.3 for some time now and I haven’t encountered any of the bugs, I would almost say it’s feels like a proper solid release and not a 0.x version. If you want to know what’s updated have a look at the changelog.

no comments

Sorry, but I somehow missed this one completely and no one of you told me as well. But it is forgivable as version 0.2 is working like a charm. I’ve installed it on my production server as soon as I noticed the upgrade expecting a lot of changes, but most of the GUI is still the same there are only changes to the settings page. Most of the changes are under the hood improving speed and responsiveness and also fixing some of the issues that were still outstanding.

My advice, upgrade as soon as possible. Download the latest version from here.

To upgrade roundcube, if you’ve used the DIYMacServer provided installation instructions, and if you are upgrading from 0.2 stable are:

Extract the 0.3 archive into '/Library/WebServer/Documents'. Create new copies of the configuration files and edit them to reflect the same settings as in the 0.2 installation.

CD into the new extracted directory and make the temp and log folder writeable for Apache with the following commands:

chown -R _www:_www temp
chown -R _www:_www logs

Remove the original ’roundcubemail’ symbolic link in '/Library/WebServer/Documents' and create a new one:

sudo ln -s /Library/WebServer/Documents/roundcubemail.0.3 /Library/WebServer/Documents/roundcubemail

That’s it.

2 comments

The developers at Roundcube finally decided to release version 0.2 as a stable release. I’ve been using the beta versions without problems but thought it wouldn’t be prudent to let you do the same.

New things included are a simple installer function, HTML editor (TniyMCE) for creating HTML email and collapsable folders and much more. If you want to upgrade there are some instructions on how to do that in the most simple way possible without interfering too much with existing users.

By the way, because of the installer option I’ve also rewritten the installation instructions.

no comments

The developers at Roundcube finally decided to release version 0.1 as a stable release. I’ve been using the release candidates without problems for many months. A new thing I discovered is the installer pages which help you to setup your PHP and Apache settings to make it work correctly. Another new thing is the inclusion of TinyMCE to allow you to create HTML mail.

If you want to you can download the new version and start installing/upgrading. Download it from here.

no comments

Roundcube got another new release candidate. This updated version has a lot of improvements and fixed bugs. HTML message composition is also included but by disabled by default because it’s still experimental.

I wonder how long it will be before we see a proper regular release. For more than a year it has been nothing but beta and RC’s. The product is stable enough to be used in a production environment and has enough features to be able to use it daily. I wonder what is keeping it from releasing it properly.

To update roundcube, if you’ve used the DIYMacServer provided installation instructions, and if you are upgrading from RC1 are:

Extract the RC2 archive into '/Library/WebServer/Documents'. Create new copies of the configuration files and edit them to reflect the same settings as in the RC1 installation.

Remove the original ’roundcubemail’ symbolic link and create a new one:

sudo ln -s /Library/WebServer/Documents/roundcubemail-0.1-RC2 /Library/WebServer/Documents/roundcubemail

Nothing more to do ! If you have an older version it’s necessary to recreate the database because it has changed. Just do a ‘drop databasename’ and run the sql scripts as explained in the installation documentation.

2 comments

Thomas Bruederli has found the time to release an update on our favorite webmail client Roundcube. It’s still beta, version 0.1 and this is release candidate 1, but as some of you people know it is still pretty solid and very usable. I myself use it everyday when I’m not at home to read my mail! Read more about what has changed and how to download it in the announcement.

There is an update manual included in the download file so there is no need for me to explain, although I had some issues with the database update script and I went for re-initialization of the database. So dropping all tables and run the mysql5.initial.sql script.

If you are new to roundcube, here is my installation manual.

no comments