Ubuntu ServerにRStudio Serverをインストールしてみた

投稿者: | 2017/06/03

研究部門の人からUbuntu ServerにRStuido Serverを入れてブラウザでRを操作したいと要望があったのでRStuido Serverをインストールしました。その時に操作した内容を紹介します。また、OpenLDAPを使っているので、RStudioにLDAPアカウントでログインできるようにしました。

動作環境

  • Ubuntu 16.04.02 LTS

  • RStudio Server v1.0.143

インストール

ここに書いてある通りにすすめていきます。

デフォルトで8787ポートが使われているようです。

LDAPとの連携

RStudio Serverはデフォルトではサーバ上のユーザ情報を使って認証します。今回はLDAPアカウントで認証をできるようにしたいので、pam_ldapを使えばLDAP認証が可能になります。
しかし、SSHに未ログインだとホームディレクトリ(/home/__USER__)が存在せず、RStdio Serverにログインする際に、/home/__USER__.rstudio が作成できずログインに失敗してしまう問題がありました。

__USER__はご自身のユーザ名に置き換えてください。

以下は、ログイン失敗時のログです。

pam_mkhomedir を使ってホームディレクトリを自動作成しようと試みたのですが、それでも上手くいきませんでした。どうやらPAMの認証後の時点で/home/__USER__/.rstudioを作成しようとしているのが原因のようです。そこで、認証時点でホームディレクトリを自動作成してみました。

以下のようなスクリプト(/usr/local/bin/mkhomedir.sh)を用意します。

実行権限を付与します。

PAMの設定

LDAP認証に加え、ローカルで作成したアカウントでの認証もしたいという要望だったので次のように設定しました。

認証のテスト

正しく認証が通るかテストします。pamtesterというのをインストールします。

successfullyと表示されて、/home/__USER__が作成されていればダイジョブです。

nginx

http://<IPアドレス>:7878でRStdio Serverにアクセスできるのですが、 セキュリティと利便性の観点からnginxをリバースプロキシとて前段に置くことにします。

設定

nginxの基本設定は要件やお好みに合わせて設定してください。
VirtualHostとして/etc/nginx/conf.d/rstudio.confを新規に作成します。
HTTP(ポート80番)で設定していますが、よりセキュアにするにはHTTPS(ポート443番)で設定してください。
その際には、SSL証明書が必要です(こちらの方法で無料のSSL証明書を取得できます)。

http://rstudio.example.com にアクセスするとRStudioのGUIが表示されるはずです。(ドメインはご自身で取得されてDNSの設定なども済ませてください)
LDAPアカウントもしくはサーバ内のローカルアカウントのユーザ名とパスワードを入力してログインできれば完了です!

rstudio_login

参考

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*