sakura VPSにRStudio Server/Shiny SErver を立てる

GDAtoolsでspeMCA

Author
Affiliation

津田塾大学 数学・計算機科学研究所

Published

April 18, 2023

1 概要

  • VPSをつかって、RStudio Server/ Shiny Serverをうごかしたい。

    • WordPressを動かしているさくらインターネットを使うことにする。4/7。1Gモデル。
    • 月曜日の勤め先の所内サーバーと同じubuntu20.04で構築。
    • MCA関係のパッケージのインストールでプロセスがkillされる事態に遭遇

本稿は、その時の試行錯誤を経て作成された。

1.1 履歴

  • ver0.5 2023/04/18

2 全体(試行錯誤)の流れ

  • 問題解決に試行錯誤の一週間
    • 最初は、RStudioやRのversionの関係をうたがう。R3.6.3、R4.1.3、R4.2.3、皆同じ。
    • 次は、ubuntuのversionを試す。22.04、20.04。同じ。
    • エラーメッセージを読むと、メモリがなくなっている、ということらしいことがわかる。
    • free -h でプロセスがkillされるあたりを確認。1Gほぼ振り切れていた。
    • この間、何度もOSの再インストール。
    • さくらVPSのお試し期間では、二つもでるを試せることがわかったので、2Gモデルも試すことにした。
    • そのセットアップをする際に、スタートアップスクリプトに、スワップファイルに関するものがあることを発見。初期設定は、使用せず。サイズは1Gから8Gまであった。
    • まずは、スワップ設定なしで2G。問題なくコンパイルできた。
    • 次に、1Gで、スワップファイルを1G設定して構築。これでも、問題なくコンパイルできた。
  • 以上から、1Gモデル+3Gスワップファイルで運用を開始することにした。
    • メモリの増設やドライブ容量の増加は、本契約後でも可能らしいので、これでスタートする。(ダウングレード」は不可とのこと。)

3 sakuraVPSの設定

3.1 スワップファイルの設定

3.2 パケットフィルタの設定

  • 初期設定としては、port22だけあいている。これに以下のものを追加

    • 80/443
    • 8787
    • 3838

4 sshでサーバーに接続してやること

4.1 常用するユーザを作成し、そのユーザがsudoできるようにする

sudo adduser kazuo
sudo gpasswd -a kazuo sudo

4.2 その常用ユーザでloginしなおして、あれこれインストール

tidyverse をインストール時にもとめられたので、それをまとめてインストールしておく。※1

sudo apt install cmake libxml2-dev libcurl4-openssl-dev libssl-dev libfontconfig1-dev libharfbuzz-dev libfribidi-dev libfreetype6-dev libpng-dev libtiff5-dev libjpeg-dev

5 Rをインストールする

  • CRANの以下のページをみながら最新版をインストールする

https://cran.r-project.org/bin/linux/ubuntu

Shiny Server のインストール解説(https://posit.co/download/shiny-server/)にあるリンクでRをインストールすると、3.6.3のように昔のものが入ってしまうので、CRANのubuntuリンクから 最新版をインストールする。

また、このながれで、r-base-devもインストールしておく。

インストールがおわったら、ユーザをrootに切り替えてからRを起動し、そこで、パッケージshinyとパッケージrmarkdownをインストールする。

ここでrootのパッケージ保存場所にインストールされるのだが、ユーザshinyが使える場所にインストールする必要がある。(個別ユーザがpackageをインストールすると、そのユーザしか使えないところに保存される。環境変数を確認しておくこと。)

二つのpackageをインストールしたら、一度q()で終了しておく。

5.1 メモリを消費するパッケージをインストールする:RcppEigen

私が、当初ぶつかったインストールエラーは、このpackageのインストールでのメモリ不足。ここで、インストールを試みて、エラーが起こらないことを確認しておく。

どうように、tidyverseをインストールしようとすると、※1に列挙したlib***がない、というエラーに遭遇する。

6 RStudio Server をインストールする

インストール手順は以下にある。

https://posit.co/download/rstudio-server/

7 Shiny Server

ubuntu22.04とそれ以前18.04~20.04までとインストールパッケージが異なるので注意。Shinyの方は、18.04以降は同じパッケージ。

インストールを、コマンドラインから行うが、そのユーザ、PWでloginするように設定がされる。

8 Shiny Serverをインストールする

インストール手順は、以下にある。

https://posit.co/download/shiny-server/

この中の、r-base のインストールまでは終了しているので、package Shinyをrmarkdownのインストールを行う。

コマンドラインを切り貼りしてペーストしてもエラーになってしまったので、内容を分解して実行する。すなわち、

  • ユーザrootになる

  • Rを起動する

  • install.packagesでShinyとrmarkdownをインストールする。

である。

これがおわったら、以下のコマンドを実行する。

sudo apt-get install gdebi-core

wget https://download3.rstudio.org/ubuntu-18.04/x86_64/shiny-server-1.5.20.1002-amd64.deb

sudo gdebi shiny-server-1.5.20.1002-amd64.deb

最後の行を実行すると、Shiny Serverが起動し、ブラウザで、サーバーアドレス:3838を開くと以下の画面現れる。

右の上のグラフは、package Shinyのインストールがうまくいっていれが表示される。右下のグラフは、package rmarkdon のインストールがうまくいっていれば表示される。

最初に表示されるサンプルオブジェクトは、以下の場所にある。

また、以下にサンプルページが用意されている。

ここまでくれば、次はユーザエリアに展開したShiny object を表示させる設定をするだけである。その方法は、以下にある。

http://docs.rstudio.com/shiny-server/#quick-start