Des statistiques libres avec Rstudio, déployé en quelques minutes
R est un puissant outil et langage d'analyse statistique. S'il est possible d'installer tout le nécessaire à l'utilisation de R sur un poste, Rstudio est une plaisante alternative avec une utilisation via le navigateur des outils hébergés sur un serveur. Cela peut se révéler pratique pour éviter un déploiement sur des postes clients et permettre aux utilisateurs de travailler sur leurs données en tout lieu.
Nous allons voir ici comment installer Rstudio en quelques étapes faciles.
Installation de base
On considère être sur une version de Debian stable (par ex. actuellement Jessie).
apt install r-base apt install gdebi-core wget https://download2.rstudio.org/srtudio-server-0.99.902-amd64.deb gdebi rstudio-serveur-0.99.902-amd64.deb
Il est possible que la version la plus récente de rstudio-server ne soit pas celle donnée ici. C’est pourquoi il est conseillé de visiter https://www.rstudio.com/products/rstudio/download-server/.
À l'issue de cette étape, le serveur Rstudio doit être actif et accessible sur le port 8787 : http://localhost:8787 (on remplacera localhost par le nom d'hôte ou l'adresse IP routable de la machine si elle est distante).
Plaçons Apache en reverse proxy devant
On considère ici qu'Apache est déjà présent sur la machine, sinon on l'installera par apt install apache2.
Dans le fichier /etc/apache2/sites-available/rstudio.conf, on place le contenu suivant :
<VirtualHost *:80> ServerName rstudio.domaine.tld <Proxy *> Allow from localhost </Proxy> ProxyPassMatch ^/p/([0-9]+)/(websocket|.*/websocket)/$ ws://localhost:8787/p/$1/$2/ ProxyPass / http://localhost:8787/ ProxyPassReverse / http://localhost:8787/ ProxyRequests Off </VirtualHost>
On active alors le module proxy d'Apache puis le site :
a2enmod proxy_http service apache2 restart a2ensite rstudio.conf
Et dans /etc/rstudio/rserver.conf, on place la ligne suivante :
www-address=127.0.0.1
Un petit coup de certbot pour l'HTTPS
Récupérons maintenant un certificat HTTPS via Certbot :
certbot –apache
Le tour est joué, rstudio est désormais accessible derrière https://rstudio.domaine.tld
Autorisations d'accès à Rstudio
Pour la gestion des profils, Rstudio utilise les utilisateurs locaux de la machine. Nous allons ajouter la ligne suivante dans /etc/rstudio/rserver.conf :
auth-required-user-group=rstudio-users
Ainsi, seuls les utilisateurs faisant partie du groupe rstudio-users pourront utiliser Rstudio. Il ne reste plus qu'à créer les utilisateurs et les placer dans le bon groupe !
P.S. Merci à Brendan qui m'a aidé pour ce déploiement et cet article !