RainLoop is an open-source, simple, modern, and fast Webmail client based on PHP. Some essential features include:
Intuitive, modern web interface that allows for custom theme uploads.
Complete support of IMAP and SMTP protocols, including SSL and STARTTLS.
Integration with Facebook, Google, Twitter, and Dropbox.
Built-in configurable multi-level caching system to improve performance.
Simultaneous access to different mail server accounts, for example, Gmail, Yahoo, and many more.
Supports two-factor authentication.
Administrative panel for configurations.
Extended functionality with plugins.
This article describes how to install RainLoop on Ubuntu 20.04 server.
Deploy a fully updated Vultr Ubuntu 20.04 Server.
Create a non-root user with sudo access.
PHP version 5.4 and above.
SSH to your server as a non-root user with sudo access.
Update system package list to update all packages to the latest available versions.
$ sudo apt update
Install PHP 7.4 and more modules.
$ sudo apt install apache2 mysql-server php7.4 libapache2-mod-php7.4 php7.4-json php7.4-curl php7.4-mysql php7.4-xml php7.4-zip php7.4-imap wget unzip -y
List available time zones and choose your preference.
$ sudo timedatectl list-timezones
Edit the PHP configuration file.
$ sudo nano /etc/php/7.4/apache2/php.ini
Change the following values, and replace Africa/Nairobi
with your timezone save and close the file. To search for a specific line, use CTRL+W, enter search phrase then press ENTER.
max_execution_time = 300
memory_limit = 512M
upload_max_filesize = 100M
date.timezone = Africa/Nairobi
Restart Apache2 service for all changes made to take effect.
$ sudo systemctl restart apache2
Create the installation directory /var/www/rainloop
.
$ sudo mkdir /var/www/rainloop
Navigate to the installation directory.
$ cd /var/www/rainloop
Download and install the latest RainLoop community edition.
$ sudo wget -qO- https://repository.rainloop.net/installer.php | sudo php
Change ownership of the installation directory.
$ sudo chown -R www-data:www-data /var/www/rainloop
Change access permissions for the installation directory.
$ sudo chmod -R 755 /var/www/rainloop
Create Apache virtual host file rainloop.conf
.
$ sudo nano /etc/apache2/sites-available/rainloop.conf
Add the following code to the file. Save and close the file.
<VirtualHost *:80>
ServerAdmin admin@example.com
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/rainloop/
<Directory />
Options +Indexes +FollowSymLinks +ExecCGI
AllowOverride All
Order deny,allow
Allow from all
Require all granted
</Directory>
<Directory /var/www/rainloop/data>
Require all denied
</Directory>
ErrorLog /var/log/apache2/rainloop_error_log
TransferLog /var/log/apache2/rainloop_access_log
</VirtualHost>
Disable Apache default configuration file.
$ sudo a2dissite 000-default.conf
Enable RainLoop Apache configuration file.
$ sudo a2ensite rainloop.conf
Enable Apache rewrite mode.
$ sudo a2enmod rewrite
Restart Apache service.
$ sudo systemctl restart apache2
To access the RainLoop Web Interface, go to your browser and visit http://Server_IP/?admin
. For example:
http://192.0.2.10/?admin
You have installed RainLoop on your server. Next, access the administrative portal with admin as your username and 12345 as your password. You can now access the Dashboard and configure it to add your email servers.