
## 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][8595ed87]

  [8595ed87]: http://www.rainloop.net/docs/installation/ "Rainloop: installation"

### 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.

```shell
apt install unzip
```

```shell
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:

```shell
/var/www/html/
```

```shell
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

```shell
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.

```shell
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:

```shell
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):

```shell
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**:

```shell
<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:

```shell
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:

```shell
root@adara:/home/www/rainloop# apt install php7.0-sqlite3
etc...
```
On relance apache:

```shell
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):

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

et suivre les instructions.

Relancez apache:

```shell
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.

![Image du panneau de configuration: les domaines](Images/domain-11.png)

![Image du panneau de configuration: les comptes](Images/domain-12.png)

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