Installation au CR@NS
Le but n'est pas ici de donner un manuel d'installation de roundcube mais de dire ce qui a été fait au CRANS.
On utilise un rôle Ansible qui va tirer les paquets de roundcube dont les plugins et les dépendances PHP.
Pour la base de données, c'est configuré par Ansible dans /etc/roundcube/debian-db.php, si vous ne voyez pas de mot de passe c'est parce que l'on utilise une authentification ident avec la base de données et l'utilisateur www-data.
La base de données
Ajouter un utilisateur dans la base postgresql et lui donner une base de données :
sudo su postgres -c "psql template1" Bienvenue dans psql 7.4.7, l'interface interactive de PostgreSQL. Tapez: \copyright pour les termes de distribution \h pour l'aide-mémoire sur les commandes SQL \? pour l'aide-mémoire sur les commandes internes \g ou terminez avec un point-virgule pour exécuter une requête \q pour quitter template1=# CREATE user roundcube; CREATE USER template1=# CREATE database roundcube with owner roundcube; CREATE DATABASE template1=#
Ajouter dans /etc/postgresql/pg_ident.conf :
webmail www-data roundcube
Ajouter dans /etc/postgresql/pg_hba.conf (attention à l'ordre des lignes dans le fichier) :
host roundcube roundcube 127.0.0.1 255.255.255.255 ident webmail
Redémarrer posgresql :
sudo /etc/init.d/postgresql restart
Initialiser la base de données :
sudo su www-data "psql -U roundcube -h 127.0.0.1 roundcube < /var/www/roundcube/SQL/postgres.initial.sql"
Le serveur web
Un site NGINX est déployé par Ansible qui va pointer vers PHP FPM pour servir l'application PHP.
Le fichier de configuration
/etc/roundcube/defaults.inc.php est un fichier donnant toutes les options, il ne faut pas éditer ce fichier ! En réalité il faut override ce que l'on souhaite dans config.inc.php.
Ajout de plugins
Copier le plugin dans /etc/roundcube/plugins/
Faire un lien symbolique de ce dossier dans /usr/share/roundcube/plugins/ puis /var/lib/roundcube/plugins/
Ajouter le nom de votre plugin dans le fichier /etc/roundcube/config/config.inc.php dans le array $config['plugins']