リモートサーバーにRStudio Serverをインストール & sshアクセス

R環境構築ノート 2/N

公開日: 2023-08-13
更新日: 2024-02-21

  Table of Contents

はじめに

  • Client: MBP
  • Remote Server: Ubuntu 22.04 LTS

にて, Remote Server側にRStudio Serverをインストールし, Clientのブラウザからアクセスできるか 試してみます.

Prerequisites

  • ssh設定
  • Remote Serverでのsudo privileges
  • Remote Server側でRはインストール済み

Rの設定が完了していない場合は, Ryo’s Tech Blog > How To Install R on Ubuntu 22.04 and set-up Renvを参照してください.

Remote ServerへのRstudio Serverのインストール

手順

  1. Rstudio-serverのdebファイルダウンロード
  2. Rstudio-serverのインストール
  3. rstudio-server.serviceの起動状態の確認
  4. Rstudio Serverへのアクセス確認


Prerequisites

gdebi-core deb ファイルインストール用のツール, ローカルの deb パッケージをその依存関係を解決しながらのインストールが可能になる
1
$ sudo apt-get install gdebi-core

(1) Rstudio-serverのdebファイルダウンロード

Remote Serverへアクセス後以下のコマンドを入力します

1
2
3
4
5
$ mkdir ~/deb_packages
$ cd ./deb_packages
$ wget https://download2.rstudio.org/server/jammy/amd64/rstudio-server-2023.12.1-402-amd64.deb
$ ls
rstudio-server-2023.12.1-402-amd64.deb

debファイルをダウンロードするのでdeb_packagesという格納ディレクトリに移動していますが, これは好みの問題です.

(2) Rstudio-serverのインストール

1
$ sudo gdebi rstudio-server-2023.12.1-402-amd64.deb

(3) rstudio-server.serviceの起動状態の確認

Rstudio-serverインストール後は自動的にrstudio-server.serviceが起動しているはずです. 以下のコマンドでactive (running)となっているか確認できます.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
hoshinokirby@HOSTSERVERNAME$  systemctl status rstudio-server.service
● rstudio-server.service - RStudio Server
     Loaded: loaded (/lib/systemd/system/rstudio-server.service; enabled; vendo>
     Active: active (running) since Thu 2023-08-12 00:54:57 JST; 20min ago
    Process: 166643 ExecStart=/usr/lib/rstudio-server/bin/rserver (code=exited,>
   Main PID: 166645 (rserver)8000:localhost:8787
      Tasks: 12 (limit: 154163)
     Memory: 80.5M
        CPU: 5.050s
     CGroup: /system.slice/rstudio-server.service
             ├─366645 /usr/lib/rstudio-server/bin/rserver
             └─366748 /usr/lib/rstudio-server/bin/rsession -u hoshinokirby --ses>
Aug 12 00:54:57 HOSTSERVERNAME systemd[1]: Starting RStudio Server...
Aug 12 00:54:57 HOSTSERVERNAME systemd[1]: Started RStudio Server.
Aug 12 00:57:15 HOSTSERVERNAME svn[166771]: DIGEST-MD5 common mech free

(4) Rstudio Serverへのアクセス確認

8787ポートがRStudio Serverが使用するポートです. これが空いていることがsudo ufw status等で確認出来たのち, Client側からsshアクセスを以下のコマンドで試みます.

1
2
## ssh -L local-port:remote-host:remote-port
% ssh username@hostname -L 8787:localhost:8787

実行後, Clientのブラウザでlocalhost:8787を開くとRstudio serverにアクセスできます. ssh username@hostname -L 8000:localhost:8787とするとlocalhost:8000でアクセスできるようになります.

なおLANGUAGEを日本語や英語に変更したい場合は, サーバー側のlocale設定を変更した後, systemctl restart rstudio-server.serviceとすれば修正することが出来ます.

ssh configの設定(任意)

アクセスのたびにssh username@hostname -L 8787:localhost:8787を入力するのは, 補完機能があったとしても少し長すぎます.

Client側で~/.ssh/configファイルでssh接続設定を管理するのが一つの対策となります.

configファイルの主な設定項目

ディレクティブ 説明
Host 任意の接続名
HostName 接続先ホスト名 or IPアドレス
User ユーザー名
Port 接続先ポート番号, -pに対応
IdentityFile 秘密鍵のパス, -iに対応
LocalForward ポートフォワーディングの設定, -L, -Rに対応

ssh username@hostname -p 2222 -L 8000:localhost:8787ssh testでアクセスできるようにする場合, 以下のように記述します

1
2
3
4
5
Host test
    HostName hostname
    User username
    Port 2222
    LocalForward 8000 localhost:8787

REMARKS

ユーザーごとの設定ファイルである~/.ssh/configの他に, システムの設定ファイルとして/etc/ssh/ssh_configもあります

References



Share Buttons
Share on:

Feature Tags
Leave a Comment
(注意:GitHub Accountが必要となります)