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のインストール
手順
- Rstudio-serverのdebファイルダウンロード
- Rstudio-serverのインストール
rstudio-server.service
の起動状態の確認- 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:8787
をssh 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
(注意:GitHub Accountが必要となります)