Install RainLoop on Ubuntu 20.04

Updated on November 24, 2021
Install RainLoop on Ubuntu 20.04 header image


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 Control+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.