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
can we set rules on incoming emails using this webmail?
Hi, please help me with this problem
I have a standard debian system, where my users have usernames which are not email addresses.
For example, if my system’s domain is example.com, and a user on that system is called “andrew”, then they log on to the system with their username “andrew”, not their email address.
If they try to log in with a login of “[email protected]” this will fail, because that is not their login username.
I have verified this by running pop3 and imap2 sessions on telnet, and successfully logging in with the username, and not being able to log in with the email address.
My question is: How can I use rainloop with such a system?
I am not currently able to log into the system I have, because rainloop insists on using “[email protected]” as my login.
I have checked this on the rainloop log file.
Thanks very much for your help with this frustrating problem.
When I try to login with normal user I always get –> “Domain is not allowed”
I can login with my email account everywhere except RainLoop. Please advise?
Is it really free? I read on their website that you need to buy a license if it’s for commercial use.
solved –
chown -R apache:apache .
Error [202] Data folder permisions error [is_writable]
Are there any security issues with rainloop?
No any security issues, RainLoop works in secure mode with all mail servers using SSL and STARTTLS protocols.
Is there an example using https port 443 and an option to prevent the admin account from being easily accessed?
Can you use deny allow for the admin portion?
I didn’t tried that, but I think you can protect admin portion through htpasswd hack.
i face this problem
[302] The following PHP extensions are not available in your PHP configuration!
cURL
json
Please install those missing extensions using following command.
Amazing!
But do not store emails on server.