If you are looking for an alternative to Roundcube, AfterLogic certainly worth a try.
AfterLogic WebMail Lite, is a free and opensource community edition, its Ajax web interface is clean, easy to use and reactive. Multidomains, with address book, mail filters (Sieve), Auto-complete of e-mail addresses, spell check, delivery confirmation, etc…
It has all it takes to be a simple webmail with essential features.
If you are looking on top of it for a calendar (Events and reminder), multiple mail account per user, sub-admin feature, you will need to go pro. (Which I don’t need)
Here is how to install it on your own server. I assume you already have a LAMP server working. If it’s not the case, you can check my previous tutorial on how to install a Apache, MySQL and PHP.
Although a deb is available in Debian/Ubuntu repository, I prefer to install it with their latest archive.
1) Create a folder in your /var/www dedicated for AfterLogic Webmail:
As root user, type:
2) Download and unzip latest AfterLogic Webmail Lite archive
cd /var/www/afterlogic wget http://www.afterlogic.com/download/webmail_php.zip unzip webmail_php.zip mv webmail/* . rm -R webmail*
3) Change the owner of the folder by Apache user (www-data)
chown www-data:www-data -R /var/www/afterlogic
4) Run the installer:
Navigate to http://IP/afterlogic/install/ with your favourite web browser and check/correct any unmet requirement.
For example, in my case I didn’t have cURL Extension. I simply add to install it in root:
apt-get install php5-curl
At the 3rd Step, you will need to set up the SQL database. I suggest you to use MySQL with PHPMyAdmin to create the database and user. If you don’t know how to do that, you can check my previous PHPMyAdmin tutorial.
You will be able to check the connection with AfterLogic Webmail and the MySQL Database.
As this is a new install, it needs to create the tables (Leave the last box ticked)
You will then need set up a strong password on the Webmail admin (mailadm). Through the Webmail admin interface, you will be able to set up/modify the IMAP/SMTP connection, database info, manage users if you want to restrict it, etc…(But it’s a very simple and light administration panel).
While the next step will help you check if the SMTP/IMAP server is working.
5) Delete the installer:
In root (sudo/su) type:
rm -R /var/www/afterlogic/install
If you want to configure additional option like the maximum attachment size, you can directly edit the data/settings/settings.xml file.
You should now be able to access your mail by using directly your username (If installed in localhost with real user, you don’t need to add @mydomain.com)
Now you got your webmail working and you want to access it from al.domain.tld or directly from mywebmail.tld, instead of using the IP/afterlogic link, you will need to set up a virtualhost. And obviously you want to force HTTPS connection.
You will need to:
1) Create a A redirection in your DNS server/registrar
2) Have SSL certificate ready. If not you can read this tutorial.
3) Create your virtualhost as following:
In /etc/apache2/sites-enabled/, create a file called roundcube (In root):
and paste the following content:
<VirtualHost *:80> ServerAdmin firstname.lastname@example.org ServerName al.domain.tld Redirect / https://al.domain.tld </VirtualHost> <IfModule mod_ssl.c> <VirtualHost *:443> SSLEngine on SSLCertificateFile /etc/ssl/certs/freedif.pem SSLCertificateKeyFile /etc/ssl/private/freedif.key ServerAdmin email@example.com ServerName al.domain.tld DocumentRoot /var/www/afterlogic <Directory /> Options FollowSymLinks AllowOverride All php_value memory_limit 10M php_value post_max_size 10M php_value upload_max_filesize 10M </Directory> <Directory /var/www/afterlogic> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> </VirtualHost> </IfModule>
Adapt the content (Servername, webmaster, SSL certificate and directory, …).
Note that I’ve added 3 lines for PHP configuration to allow to send large attachment (10Mb)
When done, save the file (CTRL+X then Yes) and reload apache: (In root)