RoundCube

From MattWiki
Jump to: navigation, search
The RoundCube Logo

Installing RoundCube

Prerequisites

  • See the RoundCube Change Log for updates & changes.

Web Servers

Installing RoundCube with Lighttpd
yum install lighttpd lighttpd-fastcgi php-pear-DB.noarch php-pear-DB-DataObject php-xml \
perl-XML-DOM php-mbstring php-mcrypt php-gd php-pecl-Fileinfo php-ldap.i386

Now you need to configure Lighttpd for RoundCube. In /etc/lighttpd/lighttpd.conf uncomment the following from the top section of the config file.

"mod_cgi",
"mod_fastcgi",
"mod_setenv",
"mod_compress",

Then lower in the the config uncomment...

#### fastcgi module
## read fastcgi.txt for more info
## for PHP don't forget to set cgi.fix_pathinfo = 1 in the php.ini
fastcgi.server             = ( ".php" =>
                               ( "localhost" =>
                                 (
                                   "socket" => "/var/run/lighttpd/php-fastcgi.socket",
                                   "bin-path" => "/usr/bin/php-cgi"
                                 )
                               )
                            )

#### CGI module
cgi.assign                 = ( ".pl"  => "/usr/bin/perl",
                               ".cgi" => "/usr/bin/perl" ) 
mkdir /var/lib/php/session/
chown lighttpd:lighttpd /var/lib/php/session/

Finally you should set lighttpd to start when the system boots, since your at it you mite as well start it up also.

/sbin/chkconfig lighttpd on
/sbin/service lighttpd start
Installing RoundCube with Apache
yum install httpd php-pear-DB.noarch php-pear-DB-DataObject php-xml \
perl-XML-DOM php-mbstring php-mcrypt php-gd php-pecl-Fileinfo php-ldap.i386
mkdir /var/lib/php/session/
chown apache:apache /var/lib/php/session/

Finally you should set Apache to start when the system boots, since your at it you mite as well start it up also.

/sbin/chkconfig httpd on
/sbin/service httpd start

Database Services

Installing RoundCube with MySQL

To enable MySQL support in RoundCube, all you should need to do is install the impotent modules.

yum install mysql-server php-pear-MDB2-Driver-mysqli php-pear-MDB2-Driver-mysql php-mysql perl-DBD-MySQL

MySQL is the default for RoundCube, so there isn't any configuration changes that need to be done to RoundCube itself, but you do now need to set up your MySQL server.

  • Set the MySQL Server to start when the system dose
/sbin/chkconfig mysqld on
  • Start the MySQL server
/sbin/service mysqld start
  • Set up the MySQL account & create the database
echo "GRANT ALL ON roundcubemail.* TO 'roundcube'@'localhost' IDENTIFIED BY 'pass';" |mysql
mysqladmin create roundcubemail
Installing RoundCube with SQLite
  • Note: You must use SQLite Version 2 with Roundcube at this time.
yum install perl-DBD-SQLite2 php-devel
pecl install sqlite
sqlite -init SQL/sqlite.initial.sql sqlite.db

Installing RoundCube

Downloading & Installing RoundCube (0.2 Stable Releases)

First move to your web servers URL directory (Apache=/var/www/html/ or lighttpd=/var/www/lighttpd/

  • The current RoundCube version is 0.2 Stable (30/Dec/08)
wget http://superb-east.dl.sourceforge.net/sourceforge/roundcubemail/roundcubemail-0.2-stable.tar.gz

After you have downloaded RoundCube untar it.

tar -xzf roundcubemail-0.2-stable.tar.gz
mv roundcubemail-0.2-stable roundcube
cd roundcube
chown -R 0:0 .
chown -R lighttpd:lighttpd temp
chown -R lighttpd:lighttpd logs

Downloading & Installing RoundCube (SVN Releases)

First move to your web servers URL directory (Apache=/var/www/html/ or lighttpd=/var/www/lighttpd/

svn co https://svn.roundcube.net/trunk/roundcubemail roundcube
cd roundcube
chown -R 0:0 .
chown -R lighttpd:lighttpd temp
chown -R lighttpd:lighttpd logs

Configuring RoundCube

  • Now point your browser to http://<Web Server>/roundcube/installer/ to start the install wizard.
    • The first page shows some requirements and by clicking "START INSTALLATION" the installer checks your webserver if everything is there. In case you see some red NOT OK messages, you need to install or enable something.
    • Once your webserver is ready to run RoundCube you can start creating the config files on the next step. Click "NEXT" to get there. Get through the form and change the settings according to your needs. Don't forget to enter the database credentials within the "Database Setup" section. All the config parameter are described with a few words. If you don't know that a setting means, find out more on the Howto_Config page or just trust the defaults.
    • When finished the configuration hit the "CREATE CONFIG" button at the bottom of the page. You now get two text boxes on top of your browser window. Copy the contents and put them into two files within the config directory of your RoundCube installation. Name them main.inc.php and db.inc.php as stated above the text boxes.
    • Finally click "CONTINUE" and get to the last step of the install process. Now your configuration is being verified tested against your webserver. Click the "Initialize database" button in you're requested to in order to create the necessary tables in your database.
    • If there are no red NOT OK messages, you can also try to send a mail in order to test the SMTP settings.
    • Last but not least you have to remove the whole installer directory from the webserver. If this remains active it can expose the configuration including passwords.
rm -rf installer/ SQL/ CHANGELOG INSTALL LICENSE README UPGRADING

Customizing RoundCube

Customized Dates & Times

// use this format for short date display
$rcmail_config['date_short'] = 'D g:i a';

// use this format for detailed date/time formatting
$rcmail_config['date_long'] = 'M-j-y g:i a';

// use this format for today's date display
$rcmail_config['date_today'] = 'g:i a';

Customized Column Headings

$rcmail_config['list_cols'] = array('attachment', 'subject', 'flag', 'from', 'date', 'size');

RoundCube Plugins

  • Contextmenu - Display a content menu when you right mouse click in the message list.
  • Changepasswd SQL - Change your SQL password via RoundCube

RoundCube Patches & Addons

SpamAssassin RoundCube Patch (sauserprefs)

Important.png Note: Sauserprefs.r2198.patch works with the current RoundCube svn version (2281)--matt 18:06, 8 February 2009 (UTC)


With the current state of the patch you need to start with a fresh copy of RoundCube SVN Version 2198. Start out by downloading the version you need.

svn co https://svn.roundcube.net/trunk/roundcubemail/ roundcube -r2198

The above will download the correct version, not the current version of RoundCube. The next step is setting up RoundCube as show above, once you have RoundCube working you can download and install the patch. Install the patch is pretty straight forward.

Assuming your in the RoundCube directory run.

wget http://wiki.mattrude.com/images/2/22/Sauserprefs.r2198.patch
patch -ul -d . -p1 < Sauserprefs.r2198.patch

Now you need to setup the config file for the patch

cd plugins/sauserprefs/
cp config.inc.php config.inc.php.dist

After you have configure the config.inc.php file you should be able to test it.

If everything test out fine you can try to update your version of RoundCube by running (this could brake everything!!!).

svn update .

PostfixAdmin to RoundCube Patch

http://nejc.skoberne.net/rcpfa/

Mange Sieve RoundCube Patch

Troubleshooting

Why am I getting blank page instead of the login page?

This is probably because your database is not set up correctly (did you run the included .sql script?) or is not working. Look in logs/errors for more details.

500 Internal Server Error

This is a very common problem. One solution is to either empty out the .htaccess file, or delete it entirely, in the root of the RoundCube installation folder.

Using MySQL - Database Error | Failed Connection

Make sure your database connection string is correct. If you are using MySQL 4.1 or above, your client libraries may not support the new password encryption protocol: http://dev.mysql.com/doc/refman/5.0/en/old-client.html

Why aren't new messages shown in the message list or folder pane?

This is most likely because of RoundCube is caching your messages. Caching helps to reduce the strain upon your IMAP server, so fewer requests are required, and you can still read your mail. By turning this off, messages should appear almost instantaneously both in the folder-pane as well as the message list. See the 'enable_caching' property in your config/main.inc.php file.

RoundCube Regression Testing

Main Screen

  • Read a HTML message from the preview panel
    • Confirm the "View Header" drop down window works with HTML messages
  • Read a Plain Text message from the preview panel
    • Confirm the "View Header" drop down window works with Plain Text messages
  • Read a HTML message full screen
    • Confirm the "View Header" drop down window works with HTML messages
    • Confirm the "Read Source" button works with HTML messages
  • Read a Plain Text message full screen
    • Confirm the "View Header" drop down window works with Plain Text messages
    • Confirm the "Read Source" button works with Plain Text messages
  • Change Message pages
  • Select All, Unread, None from the bottom center
  • Is the quota meter displaying
  • Flag (star) a message
  • Search for a known message value
  • Move a message from Inbox to a folder
  • Move a message from a folder to the Inbox
  • Send a message to an internal account
  • Send a message to an external account
  • Add a message via the plus symbol when viewing a message
    • Dose it show up in Personal Settings / Spam / Address Rules

Address Book

  • Add an Address Book entry
    • Dose it show up in Personal Settings / Spam / Address Rules
  • Change an existing entry
  • "Compose Mail To" button, top center
  • "Export Contacts in vCard format" button, top center
  • "Import Contacts" button, top center
  • Delete a contact
    • Dose it delete from Personal Settings / Spam / Address Rules

Personal Settings / Preferences

Personal Settings / Folders

  • Subscribe to a folder
  • Unsubscribe from a folder
  • Add a folder
  • Delete a folder

Personal Settings / Identities

  • Add a new "Identity"
    • Send a message with this identity
  • Modify an existing "Identity"
    • Send a message with this identity
  • Delete an Identity
  • Change default Identity's

Personal Settings / Spam

  • Add a new white list entry
  • Add a new black list entry
  • Delete a white list entry
  • Delete a black list entry