Introduction
Webmail is software which allows you to view email from any computer, anywhere in the world, through your web browser. Squirrelmail is a simple, fast and popular webmail package. The website is here. This guide will enable you to setup webmail on your own server, for use either within your home network, or outside.
Preparation
In order to run, you need to first set up a number of things:
A working Mail Transfer Engine, see MailServer
A working (IMAP) Mail Delivery Agent, see MailServer
A working Apache installation with PHP, see the Apache page.
Squirrel mail does not require MySQL, so you can run it on a server without MySQL installed. However if you wish, you can use MySQL for addressbooks, to set up MySQL, see the Apache page.
Installation
Install the following packages: squirrelmail (see InstallingSoftware).
Configuration
Squirrelmail Configuration
Squirrelmail has a very simple configuration menu. To run it, type:
sudo squirrelmail-configure
You can use the numbers and letters to browse through the configuration menu. You don't need to edit all the options. In fact, it is a good idea just to edit the necessary options, until you have squirrelmail working, because it is easier to see what might be wrong. After squirrelmail is working, you can customise all the options! It is a good idea to check the following options though:
In Menu 2 (mail server settings), although you shouldn't have to edit these, just check they are correct. You can use an imaps server if you like, but if squirrelmail is running on the same machine as your mail server, it is faster and perfectly safe to use imap (you can configure your imap server to ensure that it only listens on localhost if you like). Check that your mail settings are:
A. Update IMAP Settings : localhost:143 (other) B. Update SMTP Settings : localhost:25
In Menu 4 (general settings), it is a good idea to enable option 11 (Allow server-side sorting).
Go on to configure Apache, and then come back and explore the other options!
Apache Configuration
Squirrelmail comes with a sample apache configuration file in /etc/squirrelmail/apache.conf. You can copy this file to /etc/apache2/sites-available/squirrelmail with the command:
sudo cp /etc/squirrelmail/apache.conf /etc/apache2/sites-available/squirrelmail
then link it to the sites-enabled directory with the command:
sudo ln -s /etc/apache2/sites-available/squirrelmail /etc/apache2/sites-enabled/squirrelmail
Alternatively you can use the a2ensite tool:
sudo a2ensite squirrelmail
You shouldn't have to edit anything else.
Alternatively, if you wish to use a virtual server setup instead, you can. For setting up SSL, uncomment the last section from the configuration file. For more details on how to use apache, see the Apache page.
Reload Apache Configuration:
sudo /etc/init.d/apache2 force-reload
If you ever wish to disable squirrelmail, you may simply delete the link in the site-enabled directory and Reload Apache's Configuration.
Check it works!
Open a webbrowser, and go to the address http://localhost/squirrelmail. Change localhost for the address of your server, or your virtualhost, if you have used that Apache setup. You should see the Squirrelmail login box!
Add plugins
On of the strength of squirrelmail is the large amount of plugins that can be added to the webmail. You can find a list of the plugins available here. Installation is very easy, just unpack the plugins in /usr/share/squirrelmail/plugins/ and look for a README or an INSTALL file in the plugin directory.
For plugin activation, you have to launch the configuration utility of squirrelmail as described in squirrelmail configuration section by typing sudo squirrelmail-configure and selecting Option 8: Plugins.
There are a few plugins bundled with the Squirrelmail package - have a look at "abook_take" (add email addresses from an email) and "delete_move_next" (message deletion and moving options from within the message preview). It is also worth having a look at the Addressbook import/export plugin "abook_import_export".
A note about LDAP
A neat setup is to configure both Squirrelmail and Evolution to use LDAP to store addresses - that way, you can access your contact list via Squirrelmail when you're away from home. However, Squirrelmail's default LDAP settings won't talk to OpenLDAP's default settings unless you set Protocol to 3 when adding an LDAP server.
Hardy Heron Issues
Using the early release of Hardy Heron Ubuntu, you may encounter some additional configuration problems.
Firstly, you are prompted to run /usr/sbin/squirrelmail-configure for configuration, however this does not work since it attempts to locate configuration files relative to the configuration program location. Instead you must run it via the soft link in /etc/squirrelmail, i.e.:
/etc/squirrelmail/conf.pl
Secondly, the user preferences data directories defined in the default squirrelmail configuration do not match those created by the ubuntu installation. Under Menu 4 you should change Data Directory to /var/lib/squirrelmail/data/ and also change Attachment Directory to /var/spool/squirrelmail/attach/.
Thirdly, squirrelmail cannot seem to locate its default user preferences file. This results in the error Error opening ../data/default_pref when accessing the login page. The simplest way to resolve this appears to be by creating a soft link via:
ln -s /etc/squirrelmail/default_pref /var/lib/squirrelmail/data/default_pref