Table of Contents
Was this article helpful?

0  out of  1 found this helpful

Try Vultr Today with

$50 Free on Us!

Want to contribute?

You could earn up to $600 by adding new articles.

Install RainLoop on Ubuntu 20.04

Last Updated: Wed, Nov 24, 2021
System Admin Ubuntu


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.

1. Install Required Packages

  1. SSH to your server as a non-root user with sudo access.

  2. Update system package list to update all packages to the latest available versions.

    $ sudo apt update
  3. 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
  4. List available time zones and choose your preference.

    $ sudo timedatectl list-timezones
  5. 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
  6. Restart Apache2 service for all changes made to take effect.

    $ sudo systemctl restart apache2

2. Install RainLoop

  1. Create the installation directory /var/www/rainloop.

    $ sudo mkdir /var/www/rainloop
  2. Navigate to the installation directory.

    $ cd /var/www/rainloop
  3. Download and install the latest RainLoop community edition.

    $ sudo wget -qO- | sudo php
  4. Change ownership of the installation directory.

    $ sudo chown -R www-data:www-data /var/www/rainloop
  5. Change access permissions for the installation directory.

    $ sudo chmod -R 755 /var/www/rainloop

3. Configure Apache2

  1. 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>
        DocumentRoot /var/www/rainloop/
        <Directory />
            Options +Indexes +FollowSymLinks +ExecCGI
            AllowOverride All
            Order deny,allow
            Allow from all
            Require all granted
        <Directory /var/www/rainloop/data>
            Require all denied
        ErrorLog /var/log/apache2/rainloop_error_log
        TransferLog /var/log/apache2/rainloop_access_log
  2. Disable Apache default configuration file.

    $ sudo a2dissite 000-default.conf
  3. Enable RainLoop Apache configuration file.

    $ sudo a2ensite rainloop.conf
  4. Enable Apache rewrite mode.

    $ sudo a2enmod rewrite
  5. Restart Apache service.

    $ sudo systemctl restart apache2

4. Access RainLoop Web Interface

To access the RainLoop Web Interface, go to your browser and visit http://Server_IP/?admin. For example:


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.

Want to contribute?

You could earn up to $600 by adding new articles.