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
また、このながれで、r-base-devもインストールしておく。
インストールがおわったら、ユーザをrootに切り替えてからRを起動し、そこで、パッケージshinyとパッケージrmarkdownをインストールする。
二つのpackageをインストールしたら、一度q()で終了しておく。
5.1 メモリを消費するパッケージをインストールする:RcppEigen
私が、当初ぶつかったインストールエラーは、このpackageのインストールでのメモリ不足。ここで、インストールを試みて、エラーが起こらないことを確認しておく。
どうように、tidyverseをインストールしようとすると、※1に列挙したlib***がない、というエラーに遭遇する。
6 RStudio Server をインストールする
インストール手順は以下にある。
7 Shiny Server
インストールを、コマンドラインから行うが、そのユーザ、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 のインストールがうまくいっていれば表示される。
最初に表示されるサンプルオブジェクトは、以下の場所にある。
また、以下にサンプルページが用意されている。
http://133.167.73.14:3838/sample-apps/rmd/
対応するdirectoryは、
/opt/shiny-server/samples/sample-apps/hello
/opt/shiny-server/samples/sample-apps/rmd
である。
ここまでくれば、次はユーザエリアに展開したShiny object を表示させる設定をするだけである。その方法は、以下にある。