## Installation de rainloop (webmail)

Télécharger la version communautaire sur le site, et la décompresser dans votre répertoire web (/home/www/ pour moi.)

### La documentation d'installation est ici:

Documentation de l'installation de rainloop

### Installation des dépendances: librairies et programmes

Partie à améliorer .....

Rainloop repose sur le language PHP et il y a beaucoup de librairies nécessaires à son fonctionnement. J'ai installé la base et regardé les erreurs pour charger au fur et à mesure les paquets nécessaires.

Je vais plutôt faire la liste de tous les paquets installés avec php; ce sera plus simple. Vous aurez aussi besoin de unzip pour dé-archiver rainloop.

    apt install unzip

    root@atom:/var/www/html/yaziknet# dpkg -l | grep php
    ii  libapache2-mod-php7.0        7.0.33-0+deb9u1                i386         server-side, HTML-embedded scripting language (Apache 2 module)
    ii  php-common                   1:49                           all          Common files for PHP packages
    ii  php7.0                       7.0.33-0+deb9u1                all          server-side, HTML-embedded scripting language (metapackage)
    ii  php7.0-cli                   7.0.33-0+deb9u1                i386         command-line interpreter for the PHP scripting language
    ii  php7.0-common                7.0.33-0+deb9u1                i386         documentation, examples and common module for PHP
    ii  php7.0-curl                  7.0.33-0+deb9u1                i386         CURL module for PHP
    ii  php7.0-json                  7.0.33-0+deb9u1                i386         JSON module for PHP
    ii  php7.0-opcache               7.0.33-0+deb9u1                i386         Zend OpCache module for PHP
    ii  php7.0-readline              7.0.33-0+deb9u1                i386         readline module for PHP
    ii  php7.0-sqlite3               7.0.33-0+deb9u1                i386         SQLite3 module for PHP
    ii  php7.0-xml                   7.0.33-0+deb9u1                i386         DOM, SimpleXML, WDDX, XML, and XSL module for PHP
    root@atom:/var/www/html/yaziknet#

### Création du répertoire où sera installé rainloop:

Nous installerons rainloop dans le répertoire par défaut de apache:

    /var/www/html/

    root@atom:/home/www# cd /var/www/html
    root@atom:/var/www/html# mkdir rainloop
    root@atom:/var/www/html# cd rainloop

### Téléchargement du programme et décompression dans son répertoire d'accueil

    wget http://www.rainloop.net/repository/webmail/rainloop-community-latest.zip
    unzip rainloop-latest.zip -d /var/www/html/rainloop

Il existe dans la documentation une approche différente tout en un, qui fait appel à un script qui fait tout. Voyez la documentation correspondante. Remplacez bien sûr repository dans les commandes suivantes par le répertoire dans lequel vous avez installé rainloop.

    url -sL https://repository.rainloop.net/installer.php | php

    ou

    wget -qO- https://repository.rainloop.net/installer.php | php

### Configuration des permissions

Voilà les étapes à suivre:

• Donner les droits de lecture/écriture correspondants et nécessaires à l'application:

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

• Déterminer l'utilisateur (pour nous, www-data du groupe www-data):

    cd /var/www/html/rainloop
    chown -R www-data:www-data .

### Mise en route du webmail dans apache

Un example de site web apache (dans /etc/apache2/sites-available), que j'ai appelé webmail.conf:

    <VirtualHost *:80>

    ServerAdmin webmaster@yojik.net
    ServerName webmail.yojik.net

    DocumentRoot /var/www/html/rainloop/

    <Directory "/var/www/html/rainloop/">
            Options Indexes MultiViews
            AllowOverride FileInfo AuthConfig Indexes
            Order allow,deny
            allow from all
            Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    </VirtualHost>

Le webmail sera accessible sous: webmail.yojik.net

#### Validation du site dans apache et rechargement de apache:

    root@atom:/etc# a2ensite webmail
    root@adara:/home/www/rainloop# service apache2 restart

### Installation de l'interface sqlite de php

Pour certaines parties de rainloop, une base de données est nécessaire; il y a le choix entre plusieurs bases de données, comme mysql, postgresql et sqlite, que j'ai choisie.

Il nous faut donc installer les dépendances php correspondantes:

    root@adara:/home/www/rainloop# apt install php7.0-sqlite3
    etc...

On relance apache:

    root@adara:/home/www/rainloop# service apache2 restart
    root@adara:/home/www/rainloop#

### Ajout de l'accès en https de notre webmail (avec le programme certbot de letsencrypt):

    root@adara:/home/www/rainloop# certbot --apache

et suivre les instructions.

Relancez apache:

    root@adara:/home/www/rainloop# service apache2 restart
    root@adara:/home/www/rainloop#

Votre webmail est maintenant accessible. Il nous reste à le configurer.

### Configuration de notre webmail

Le panneau de configuration est acessible à cette adresse:

    http://webmail.yojik.net/?admin

Les identifiants d'usine sont les suivants:

- login: admin
- password: 12345

Ils ont à changer d'urgence! dans le panneau de configuration.

Vous pouvez ensuite ajouter vos domaines ainsi que les comptes de messagerie. Les images suivantes sont celles de la documentation officielle.

Vous pouvez parcourir le menu gauche pour adapter votre webmail à vos convenance: plugins, thèmes, language d'affichage etc ...