Rainloop (Serveurt webmail)

Logo Rainloop

Environnement

Installation

Installer Apache et PHP :

apt install apache2 php7.2 php7.2-curl php7.2-json php7.2-xml php7.2-sqlite3

Activer le module Apache Rewrite :

a2enmod rewrite

Configuration

Autoriser le téléversement d'un fichier de 128 Mio avec PHP :

cp -p /etc/php/7.2/apache2/php.ini /etc/php/7.2/apache2/php.ini.bak
cp -p /etc/php/7.2/cli/php.ini /etc/php/7.2/cli/php.ini.bak
sed -i s'/upload_max_filesize = 2M/upload_max_filesize = 128M/' /etc/php/7.2/apache2/php.ini
sed -i s'/post_max_size = 8M/post_max_size = 128M/' /etc/php/7.2/apache2/php.ini
sed -i s'/upload_max_filesize = 2M/upload_max_filesize = 128M/' /etc/php/7.2/cli/
php.ini
sed -i s'/post_max_size = 8M/post_max_size = 128M/' /etc/php/7.2/cli/php.ini

Activer le Optimizer Plus Cache dans PHP :

sed -i s'/;opcache.enable=1/opcache.enable=1/' /etc/php/7.2/apache2/php.ini
sed -i s'/;opcache.enable_cli=0/opcache.enable_cli=1/' /etc/php/7.2/apache2/php.ini
sed -i s'/;opcache.memory_consumption=128/opcache.memory_consumption=128/' etc/php/7.2/apache2/php.ini
sed -i s'/;opcache.interned_strings_buffer=8/opcache.interned_strings_buffer=8/' /etc/php/7.2/apache2/php.ini
sed -i s'/;opcache.max_accelerated_files=10000/opcache.max_accelerated_files=10000/' /etc/php/7.2/apache2/php.ini
sed -i s'/;opcache.revalidate_freq=2/opcache.revalidate_freq=1/' /etc/php/7.2/apache2/php.ini
sed -i s'/;opcache.save_comments=1/opcache.save_comments=1/' /etc/php/7.2/apache2/php.ini

Sauvegarder le virtualhost par défaut:

mv /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/000-default.conf.bak 

Éditer le virtualhost par défaut et le modifier de la manière suivante (/!\ à adapter à son besoin) :

nano /etc/apache2/sites-available/000-default.conf
<VirtualHost *:80>  
    ServerName rainloop.domaine.lan
    ServerAdmin admin@domaine.lan
    DocumentRoot /var/www/rainloop/
    AllowEncodedSlashes NoDecode

    <Directory /var/www/rainloop/>
        Options -Indexes -FollowSymLinks -MultiViews
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog  /var/log/apache2/error.log
    CustomLog /var/log/apache2/access.log combined
</VirtualHost> 

Redémarrer Apache :

systemctl restart apache2

Créer le dossier /var/www/rainloop/ :

mkdir /var/www/rainloop

Se placer dans /var/www/rainloop/ et télécharger Rainloop :

cd /var/www/html/rainloop
wget https://www.rainloop.net/repository/webmail/rainloop-community-latest.zip

Décompresser l'archive, la supprimer et attribuer la propriété du dossier à l'utilisateur Apache (www-data) :

unzip rainloop-community-latest.zip
rm /var/www/rainloop/rainloop-community-latest.zip
chown -R www-data:www-data /var/www/rainloop

Attribuer les droits suivants aux fichiers et dossiers :

cd /var/www/rainloop
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;

Créer le fichier ".htaccess" suivant s'il n'existe pas, afin d'interdire l'accès au dossier "data" :

nano /var/www/rainloop/data/.htaccess
Deny from all
    <IfModule mod_autoindex.c>
Options -Indexes

Redémarrer Apache :

systemctl restart apache2

Dans un navigateur Web, se connecter à l'adresse du serveur pour configurer Rainloop (identifiant/mot de passe : admin/12345) : http://rainloop.domaine.lan/?admin

Se déconnecter de la session administrateur et se connecter avec un compte email du domaine précédemment configuré : http://rainloop.domaine.lan/

Sources

https://www.rainloop.net/docs/

https://www.rainloop.net/docs/permissions/

https://www.howtoforge.com/tutorial/how-to-install-rainloop-webmail-on-ubuntu-1804/