RainLoop is a free webmail application based on PHP, it’s free and open source, has modern user interface to handle large number of email accounts without the need of any database connectivity, besides non database connectivity it holds both SMTP and IMAP protocols to easily send/receive emails without any trouble.
RainLoop Key Features
- Modern : Modern user interface, with drag’n’drop of files, progress bar for file uploading, browser notifications, embed images into messages, keyboard shortcuts, multi-language mails, etc.
- Technological : Supports all latest mail server protocols, such as SMTP and IMAP. Multi-level caching engine allows for increasing performance of application and reducing load on mail and server.
- Customizable : Highly customization options to customize interface layout using visual themes and support for multi-language interface, with new languages easily added.
- Social : Integration with Facebook, Google and Twitter enables users to log-in with their social network credentials.
- Simplicity : Provides easy way to installing and upgrading RainLoop application without any technical skills. The built-in upgrade tool allows users to easily obtain new version and plugins from a single click via admin interface.
- Security : Built-in protection module clears hazardous HTML entities for preventing several attacks. In addition, token-based security engine is used for protection from CSRF attacks.
- Extensibility : Plugin system provides several features like changing password, global address, compose screen, keeping user settings in database, etc are easily integrated into application.
- Performance : The application well designed with efficient memory use in mind, so it can work smoothly even on low-end servers. But still in most cases, the performance and speed of application directly depends on performance of server and bandwidth available.
Requirement of RainLoop
In order to install RainLoop application we require:
- GNU/Linux operating system
- Apache web server
- PHP version 5.3 or higher
- PHP Extensions
RainLoop Demo and Preview
- Watch Demo of application – http://demo.rainloop.net/
Testing Environment
- Operating System – CentOS 6.5 & Ubuntu 13.04
- Apache – 2.2.15
- PHP – 5.5.3
- RainLoop – 1.6.3.715
Installation of RainLoop Webmail in Linux
As I mentioned earlier, that RainLoop Webmail is developed in PHP for Linux with Apache. So, you must have a running Web server with PHP installed on the system along with PHP modules such as cURL, ibxml, dom, openssl, DateTime, PCRE, etc. To install these all required packages, you can use package manager tool called yum or apt-get according to your Linux distribution.
Step 1: Install Apache, PHP and MySQL
Install on Red Hat based systems using yum command.
# yum install httpd # yum install mysql mysql-server # yum install php php-mysql php-xml pcre php-common curl # service httpd start # service mysqld start
Install on Debian based systems using apt-get command.
# apt-get install apache2 # apt-get install mysql-server mysql-client # apt-get install php5 libapache2-mod-auth-mysql libmysqlclient15-dev php5-mysql curl libcurl3 libcurl3-dev php5-curl php5-json # service apache2 start # service mysql start
Step 2: Download and Install RainLoop Webmail
Now go the official RainLoop site and download the latest source tarball (i.e version 1.6.3.715) using below link.
Alternatively, you may also use following ‘wget‘ command to download the latest source package and extract it to a Apache web root directory. For example, ‘/var/www/rainloop‘ or ‘/var/www/html/rainloop‘.
On Red Hat based Systems
# mkdir /var/www/html/rainloop # cd /var/www/html/rainloop # wget http://repository.rainloop.net/v1/rainloop-1.6.3.715-f96ed936916b7f3d9039819323c591b9.zip # unzip rainloop-1.6.3.715-f96ed936916b7f3d9039819323c591b9.zip # rm rainloop-*.zip
On Debian based Systems
# mkdir /var/www/rainloop # cd /var/www/webmail # wget http://repository.rainloop.net/v1/rainloop-1.6.3.715-f96ed936916b7f3d9039819323c591b9.zip # unzip rainloop-1.6.3.715-f96ed936916b7f3d9039819323c591b9.zip # rm rainloop-*.zip
Note: You can also download the latest version of RainLoop application without a need to deal with zip archive, just use the following command in your terminal.
# curl -s http://repository.rainloop.net/installer.php | php
Step 3: Configure Permissions
After, extracting the package content, be sure to set correct permissions for the files and directories before installing the product. This is necessary to have running application with its default configuration. This is also mandatory, when dealing manual upgrade or restoring from backup. Please switch to application directory i.e. ‘/var/www/rainloop‘ or ‘/var/www/html/rainloop‘ and execute following commands thereon.
# find . -type d -exec chmod 755 {} \; # find . -type f -exec chmod 644 {} \;
Now, set owner for the application recursively.
chown -R www-data:www-data .
Note: Depending on specific Linux distribution, user account for web server runs may vary (apache, www, www-data, nobody, nginx, etc.).
Step 4: Configure RainLoop via Admin Interface
There are two ways to configure the RainLoop application – using admin panel, or by modifying ‘application.ini‘ file manually from the terminal. But, most of the basic options are configured via web interface, and that should suffix in most cases. To access admin panel, use the following default login credentials.
- URL : http://Your-IP-Address/rainloop/?admin
- User : admin
- Pass : 12345
Admin Login
Change Admin Password
Once, you logged-in it’s recommended to change the default password to protect the application from the malicious attacks.
Branding
You can customize your login screen by adding custom Titles, Descriptions and path to Logo.
Enable Contacts
To enable contacts feature, we need to use supported database. Here, we will be using MySQL as database for enabling contacts. So, create the database manually using the following commands on the terminal.
# mysql -u root -p mysql> create database rainloop; mysql> exit;
Now enable the contacts feature from the Admin Panel –> Contacts page.
Add Domains
You may add or configure your domains at Admin Panel –> Domains –> Add Domain Page. The recommended setting for adding domain is localhost i.e., 127.0.0.1 and Port 143 for IMAP and Port 25 for SMTP. Based on the server configuration, you may also select SSL/TLS for IMAPS/SMTPS and don’t forget to tick ‘Use short login form‘ checkbox.
Plugins – Enable Password Changing
This plugin add functionality to change the email account password. To enable this plugin, you need to install a package called ‘poppassd‘ on the server.
# apt-get install poppassd [on Debian based Systems]
On Red Hat based systems, you need to download and enable Razor’s Edge Repository for your specific distribution and then install the ‘poppassd’ package using the following command.
# yum install poppassd
Next, go to the Admin Panel –> Package section to install plugin.
Enable, the poppassd plugin from the Admin Panel > Plugins page and tick the ‘poppassd-change-password‘ box. Add the server details such 127.0.0.1, Port 106 and enter ‘*‘ for Allowed emails.
Social
Integration with Facebook, Google and Twitter enables users to log-in using social network credentials. The Dropbox integration enables users to attach files from their dropbox storage.
To enable social integration, go to Admin Panel –> Social tab, and add appropriate fields for specific social networks. For more detailed instructions on social integration can be found at http://rainloop.net/docs/social/.
I don’t understand why we need to install database service? its not required for RainLoop. as they say on their website.
How can I mount the mailboxes of users in separate storage device?
Thanks in advance..
@Sharad,
It’s so simple, just attach or add new separate device and mount the directory where all users mailboxes resides.
hi, i did evrything until point 4 when i am trying to conect i get this error : Not Found
The requested URL /rainloop/ was not found on this server.
Apache/2.4.10 (Debian) Server at 192.168.0.16 Port 80
How do you enable HTTPS on Debian (wheezy) for RainLoop? Running Nginx.
Thanks!
Hello All !
You can try our HTML based webmail solution .. Works from existing Email servers , fast and secure solutions .
http://www.outbox.today
Regards
eLoginex Solution
Good article. I have used rainloop in the past and it covered a great amount of work for me.
Personally I love this webmail.
But bear with me, recently I discovered a great article about an application for a customer-centered workflows and business webmail management. It drastically changed my webmail preferences due to the numerous features it offers. It’s called VTEDDY. It’s official documentation is nice, but i am not so good in the linux cli and luckily for me i found this great article : https://www.rosehosting.com/blog/install-vteddy-on-an-ubuntu-14-04-vps/ so i installed and tried the application. I am very satisfied and can recommend to anyone that wants a complete webmail solution.
I have followed this tutorial and installed it correctly on my server. Also I am running virtualmin on it. I have installed it on http://ip_address/rainloop. The rainloop does not show up. And I Tried installing it on another server without virtualmin, it worked perfectly. Pl tell me how to run both of them on a single server.
Thanks