2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

R Shiny-server を使って、パブリックなBIツールの構築は可能だろうか

Posted at

はじめに

shiny server を使って、パブリックなBIダッシュボードをプログラミングできないか、と考えた。ShinyServerってマルチユーザーアクセスできるのかどうか、が後々ポイントにもなりそうだが、まずは黙ってサーバー構築してみる。

方法

こちらの手順に従い、Rをセットアップする。
https://ciksiti.com/ja/chapters/11357-how-to-install-r-and-rstudio-on-ubuntu-22-04

・・・が、記事の一部が間違っているのではないだろうか。この記事はFocal(20.04)のリポジトリからインストールしているが、本稿執筆時点では Jammy(22.04)のリポジトリがすでに存在している。

よって、次のコマンドでレポジトリを追加するほうが、より適切。

$sudo add-apt-repository "deb https://cloud.r-project.org/bin/linux/ubuntu $(lsb_release -cs)-cran40/"

次に Shiny と Shiny Server をインストールする。公式サイトを参考に。Ubuntu 18.04+ を選べばよい。

なお、合わせて R に rmarkdown パッケージをインストールしておく。

$ sudo su - -c "R -e \"install.packages(‘rmarkdown’, repos='https://cran.rstudio.com/')\""

ShinyServerの設定

公式サイトの説明等で確認。重要なのは、サイトのポート番号(listen)とルートディレクトリ(site_dir)がどこであるか、ということ。
https://docs.posit.co/shiny-server/#default-configuration

$ cat /etc/shiny-server/shiny-server.conf

<AWSを使っている場合>
サイトの listen ポートをセキュリティグループの設定ルールでアクセス可能にする。(AWSのセキュリティルール入力方法に従うこと)

接続テスト

http://(EC2インスタンスのパブリックIPアドレス):(サイトの listenポート番号)/

次のように表示されれば、構築成功。
Screenshot from 2023-01-06 21-09-10.png

shiny-appをサイトのルートディレクトリに設置する。

サイトのルートディレクトリ(site_dir)を開くと、サンプルがつぎのように配置されているはず。
Screenshot from 2023-01-06 18-15-13.png

index.html を読むと、その中で <iframe src=”./sample-apps/hello”> および <iframe src=”./sample-apps/rmd/”>で呼び出していることがわかる。src=””で呼び出せるのであれば、このリンクに直アクセスして画面が描画できるはず、とわかる。

そこで、サイトのルートディレクトリに 自分の shiny-app 用のフォルダを作ってファイルを配置し、そのリンクを公開すればよい。

shiny-app の作り方はここでは触れないが、ローカル環境など別環境で開発してファイルをアップロードするのが普通だろう。当然、開発環境で必要としたライブラリのインストールを構築したサーバーに行い、Rの動作環境を同じにしなければ、shiny-app は動作しない。この環境整備のほうが大変かもしれない。

おわりに

shiny-server の構築を行った。shiny-serverのセットアップよりも、Rの動作環境構築のほうが面倒かもしれない。
しばらくshiny-serverへの複数ユーザー同時アクセス時の動作状況などをみながら、パブリックなBIツールの構築ができるかどうか検証してみることとする。

2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?