
Introduction
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.
Prerequisites
- 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
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 updateInstall 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 -yList available time zones and choose your preference.
$ sudo timedatectl list-timezonesEdit the PHP configuration file.
$ sudo nano /etc/php/7.4/apache2/php.iniChange the following values, and replace
Africa/Nairobiwith 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/NairobiRestart Apache2 service for all changes made to take effect.
$ sudo systemctl restart apache2
2. Install RainLoop
Create the installation directory
/var/www/rainloop.$ sudo mkdir /var/www/rainloopNavigate to the installation directory.
$ cd /var/www/rainloopDownload and install the latest RainLoop community edition.
$ sudo wget -qO- https://repository.rainloop.net/installer.php | sudo phpChange ownership of the installation directory.
$ sudo chown -R www-data:www-data /var/www/rainloopChange access permissions for the installation directory.
$ sudo chmod -R 755 /var/www/rainloop
3. Configure Apache2
Create Apache virtual host file
rainloop.conf.$ sudo nano /etc/apache2/sites-available/rainloop.confAdd 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.confEnable RainLoop Apache configuration file.
$ sudo a2ensite rainloop.confEnable Apache rewrite mode.
$ sudo a2enmod rewriteRestart 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:
http://192.0.2.10/?adminConclusion
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.