R-ShinyServerのインストール

  1. IoTデータ、アンケートデータの可視化に使えないかと考えています。

  2. AWSへのインストールについては、以下のサイトが参考になります。

  3. 独自のサーバーへのインストール

  • 新規のVPSへShiny Severを構築しますのでLinuxの最初から始めます。
  • 注意点は、Ubuntu22.04-jammyで構築するところです。

1. Ubuntuの各種設定と基本のアプリのインストール

  • WSLは、「Ubuntu22.04」を使います。
1-1. User関係
  • rootのpasswd
    passwd root
    xxxxx
    
  • userの追加&sudoユーザー
    adduser xxxx
    xxxx
    
    gpasswd -a user_name sudo
    
1-2. OSとディスク、メモリの確認
  • Ubuntuの確認
    $ lsb_release -a
    
    No LSB modules are available.
    Distributor ID: Ubuntu
    Description:    Ubuntu 22.04 LTS
    Release:        22.04
    Codename:       jammy
    
  • directoryの確認
    $ df -h
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sdc        251G  1.5G  237G   1% /
    ...
    
  • メモリーの確認
    $ free -m
                  total        used        free      shared  buff/cache   available
    ...
    
1-3. Ubuntuの日本語化等の設定
  • パッケージ情報の更新
    sudo apt update && sudo apt upgrade
    
  • 日本語言語パックのインストール
    sudo apt -y install language-pack-ja
    
  • ロケールを日本語に設定
    sudo update-locale LANG=ja_JP.UTF8
    
  • ここでいったん終了してから、Ubuntuを再起動
    WindowsTwerminalから
    PS C:\Users\hp> wsl --shutdown
    
  • タイムゾーンをJSTに設定
    sudo dpkg-reconfigure tzdata
    
  • 日本語マニュアルのインストール
    sudo apt -y install manpages-ja manpages-ja-dev
    
  • tree のインストール
    sudo apt-get install tree
    
  • .bashrcの設定
    コマンド追加:
    alias cl='clear'
    
    VSCode起動コマンド追加
    /# ADD 20220623 by Matsu
    /# export PATH=$PATH:"/mnt/c/Users/ユーザー名/AppData/Local/Programs/Microsoft VS Code/bin"
    export PATH=$PATH:"/mnt/c/Program Files/Microsoft VS Code/bin"
    
1-4. gitの設定
  • git config –global user.email xxxx@mydomain
  • git config –global user.name xxxx
  • passwd : xxxxxxx
  • username,passwdは、pushの際毎回求められます。
1-5. node.jsのインストール
  1. nodenvのインストール
    $ git clone https://github.com/nodenv/nodenv.git ~/.nodenv
    $ echo 'export PATH="$HOME/.nodenv/bin:$PATH"' >> ~/.bashrc
    $ echo 'eval "$(nodenv init -)"' >> ~/.bashrc
    $ source ~/.bashrc
    $ nodenv -v
    nodenv 1.4.0+5.acf64b3
    
  2. nodenv-yarn-install を導入して、 nodenv install コマンドの実行と同時に yarn もインストールします。
  • nodeのバージョンは、16.15.0をインストールします。
    $ git clone https://github.com/nodenv/node-build.git $(nodenv root)/plugins/node-build
    $ git clone https://github.com/pine/nodenv-yarn-install.git "$(nodenv root)/plugins/nodenv-yarn-install"
    $ nodenv install --list
    $ nodenv install 16.15.0
      #Output
      Installing Yarn...
      npm notice
      npm notice New minor version of npm available! 8.5.5 -> 8.12.2
      npm notice Changelog: https://github.com/npm/cli/releases/tag/v8.12.2
      npm notice Run npm install -g npm@8.12.2 to update!
      npm notice
      Installed Yarn 1.22.19
    $ nodenv global 16.15.0
      #確認
    $ curl -fsSL https://github.com/nodenv/nodenv-installer/raw/master/bin/nodenv-doctor | bash
    $ nodenv versions
    $ nodenv version
    $ yarn -v
    
1-6. Goのインストール
  • なんと簡単になりました
  • go env :こちらも現在はデフォルトから変える必要性はないです。
    $ sudo apt-get update
    $ sudo apt install golang-go
    $ go version
    go version go1.18.1 linux/amd64
    
1-7. Pythonのインストール
  • Ubuntuにデフォルトではいているバージョン確認
    $ python3 --version
    Python 3.10.4
    
1-8. 本番サーバーの準備
  • VSCodeのSSH設定

  • VPS-Indigoのprivate.keyを配置します。

  • windowsの設定ファイル C:\Users\RYZEN.ssh\config

    Host LocalSNS_Indigo_4cpu-4GB
        HostName xxx.xx.xx.xx
        User ubuntu
        Port 22
        IdentityFile ~/.ssh/indigo_LocalSNS_private_key.txt
    
  • OS

    $ lsb_release -a
    No LSB modules are available.
    Distributor ID: Ubuntu
    Description:    Ubuntu 22.04.1 LTS
    Release:        22.04
    Codename:       jammy
    
  • メモリー

    $ free -m
                  total        used        free      shared  buff/cache   available
    ...
    

2. R, RStudio, Shinyのインストール

2-1. 前提 条件
  • sudo非rootユーザーとファイアウォールを備えたUbuntu 22.04サーバーで、Ubuntu 22.04の初期サーバーセットアップガイドに従ってセットアップできます。

  • Ubuntu 22.04にRをインストールする方法のステップ1でインストールできるRの最新バージョン。

  • Nginxは、ポートと.Nginxをインストールする方法に従ってください Ubuntu 22.04にNginxをインストールする。ステップ 2 では、ポート 80 のみを開く ではなく、ポート 80 とポート 443 の両方を開くコマンドを使用します。80443sudo ufw allow ‘Nginx Full’sudo ufw allow ‘Nginx HTTP’

  • 登録済みドメイン名。このチュートリアルでは、全体を通して使用します。

  • 次の両方のDNSレコードがサーバー用にセットアップされています。追加方法の詳細については、DNS クイック スタートを参照してください。

  • サーバーのパブリック IP アドレスを指す A レコード。example.com

  • サーバーのパブリック IP アドレスを指す A レコード。www.example.com

  • ドメインの SSL 証明書を暗号化しましょう。これは、Certbot スタンドアロン モードを使用して SSL 証明書を暗号化する方法に従ってインストールできます。ステップ 2 では、その記事で指定されているコマンドの代わりにコマンドを使用して SSL 証明書を取得します。sudo certbot –nginx -d example.com -d www.example.comcertbot certonly

2-2. Ubuntuの設定
  • sudo ユーザーの作成:matsu
2-3. RとRStudioのインストール
  • Rのインストールの参考URL

  • Rの最新バージョンをインストールします。

  • 前提 条件

    • 少なくとも1GBのRAM
    • 特権を持つ非 root ユーザーsudo
  1. ステップ1 - Rのインストール
  • まず、関連するGPGキーを追加します。
    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9
    
    Output
    Executing: /tmp/apt-key-gpghome.cul0ddtmN1/gpg.1.sh --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9
    gpg: key 51716619E084DAB9: public key "Michael Rutter <marutter@gmail.com>" imported
    gpg: Total number processed: 1
    gpg:               imported: 1
    
  1. ステップ2 - CRANからRパッケージをインストールする
  • 最新のバージョンが自動的に選択されます。
  • jammy-cran40の表示を確認します。
    sudo add-apt-repository "deb https://cloud.r-project.org/bin/linux/ubuntu $(lsb_release -cs)-cran40/"
    
    ...
    Get:7 https://cloud.r-project.org/bin/linux/ubuntu jammy-cran40/ InRelease [3622 B]                  
    Get:8 https://cloud.r-project.org/bin/linux/ubuntu jammy-cran40/ Packages [15.6 kB]
    ...
    
  • 新しいリポジトリからパッケージマニフェストを含めます。
  • コマンドの出力に下記の行が表示された場合は、リポジトリを正常に追加しています。(jammy-cran4
    sudo apt update
    
    Output
    ...
    Hit:5 https://cloud.r-project.org/bin/linux/ubuntu jammy-cran40/ InRelease
    ...
    
  1. Rをインストール
  • 準備が整いましたのでRをインストールします。

    sudo apt install r-base
    
  • Rのバージョンを確認し、CRANからRパッケージをインストールして表示を確認します。

    sudo -i R
    
    R version 4.2.1 
    >install.packages('txtplot')
    >library('txtplot')
    >txtplot(cars[,1], cars[,2], xlab = 'speed', ylab = 'distance')
    > txtplot(cars[,1], cars[,2], xlab = 'speed', ylab = 'distance')
          +----+-----------+------------+-----------+-----------+--+
      120 +                                                   *    +
          |                                                        |
    d 100 +                                                   *    +
    i     |                                    *                *  |
    s  80 +                          *         *                   +
    t     |                                       * *    *    *    |
    a  60 +                          *  *      *    *      *       +
    n     |                        *         * *  * *              |
    c  40 +                *       * *    *  *    * *              +
    e     |         *      *  * *  * *  *                          |
      20 +           *    *  * *       *                          +
          |  *      *    *                                         |
        0 +----+-----------+------------+-----------+-----------+--+
              5          10           15          20          25   
                                    speed         
    
  • Shinyを使うので、With Shiny and rmarkdown installed, you should see a Shiny doc above.

    >install.packages("rmarkdown")
    
  1. Ubuntu 22.04にRstudio Serverをインストール
  • Rstudio Serverはブラウザからアクセスし操作します。
  • Rstudioのダウンロードとインストール
  • gdebi-coreは、Rstudioのインストーラーです。
  • Download RStudio Server for Debian & Ubuntu
  • サイズ:73.43メガバイト|SHA-256: bf89d25e |バージョン: 2022.07.1+554|公開日: 2022-07-25
  • Ubuntu22:jammyを確認します。
    sudo apt update
    sudo apt-get install gdebi-core
    wget https://download2.rstudio.org/server/jammy/amd64/rstudio-server-2022.07.1-554-amd64.deb
    sudo gdebi rstudio-server-2022.07.1-554-amd64.deb
    
    output
    ● rstudio-server.service - RStudio Server
        Loaded: loaded (/lib/systemd/system/rstudio-server.service; enabled; vendor preset: enabled)
        Active: active (running) 
    ポートの解放
    sudo ufw allow 3838
    
  • VPSでファイアウォールの設定をします。
  1. RStudio でルート アカウントを使用することはお勧めできません。RStudio 専用の通常のユーザー アカウントを作成してください。アカウントには任意の名前を付けることができ、アカウントのパスワードはWebインターフェイスで使用するパスワードになります。
  2. RStudio はユーザー名とパスワードの入力を求め、サーバーのユーザー名とパスワード データベースをチェックしてユーザーを認証します。
  3. ユーザー認証に関連するいくつかの注意事項:
    • RStudio Serverは、システム ユーザー (ユーザー ID が 100 未満のユーザー) によるログインを許可しません。
    • ユーザーの資格情報は、ネットワーク上を移動するときにRSAを使用して暗号化されます。
    • useradd、userdelなどの標準のLinuxユーザー管理ツールを使用してユーザーを管理できます。
    • 各ユーザーは、ホームディレクトリを使用して作成する必要があります。
  • Ubuntuでは、adduserでは、デフォルトでホームディレクトリを作ります。
    sudo adduser rstudio
    sudo passwd rstudio
    確認
    cat /etc/passwd
    rstudio❌1003:1003:Xxxxx Xxxx,1,xxxx,:/home/rstudio:/bin/bash
    rstudio-server❌999:999::/home/rstudio-server:/bin/sh
    
    sudo usermod -aG sudo rstudio
    
  1. ブラウザからアクセス
  • user:rstudio
  • password:xxxxxxx
    http://xxxx.xx:8787
    
    http://xx.xx.xxx.xx:8787
    
2-4. Nginxのインストール
  1. Nginxをインストールします。
  • sudo apt update
    sudo apt install nginx
    
  1. ファイアウォールの調整
  • アプリケーションプロファイルのリストを表示します。
    sudo ufw app list
    
    Available applications:
      Nginx Full
      Nginx HTTP
      Nginx HTTPS
      OpenSSH
    
  1. ポート 80 のみを開く ではなく、ポート 80 とポート 443 の両方を開くコマンドを使用します。
  • sudo ufw allow 'Nginx Full'
    sudo ufw allow 'Nginx HTTP'
    
  1. 確認します。
  • $ sudo ufw status
    Status: active
    
    To                         Action      From
    --                         ------      ----
    OpenSSH                    ALLOW       Anywhere                  
    Nginx HTTP                 ALLOW       Anywhere                  
    Nginx Full                 ALLOW       Anywhere             
    OpenSSH (v6)               ALLOW       Anywhere (v6)             
    Nginx HTTP (v6)            ALLOW       Anywhere (v6)             
    Nginx Full (v6)            ALLOW       Anywhere (v6) 
    
  1. ウェブサーバーの確認
  • systemctlで状況を確認します。**Active: active (running) **ならOKです。
    systemctl status nginx
    
    ● nginx.service - A high performance web server and a reverse proxy server
       Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
       Active: active (running) since Mon 2022-08-29 21:41:14 JST; 3h 36min ago
    
  1. IPを検索
  • curl -4 icanhazip.com
    xxx.xx.xx.xx
    
  1. サイトへアクセスしNginxを確認します。 http://xxx.xx.xx.xx

  2. Nginxプロセスの管理

  • 設定の変更のみを行う場合、Nginxは接続を切断せずにリロードできることがよくあります。これを行うには、次のように入力します。 sudo systemctl reload nginx

  • デフォルトでは、Nginxはサーバーの起動時に自動的に起動するように設定されています。これが望ましくない場合は、次のように入力してこの動作を無効にすることができます。 sudo systemctl disable nginx

  • 起動時にサービスを起動できるように再度有効にするには、次のように入力します sudo systemctl enable nginx

  1. サーバーブロックの設定
  • Nginx Webサーバーを使用する場合、サーバーブロック(Apacheの仮想ホストに似ています)を使用して、構成の詳細をカプセル化し、単一のサーバーから複数のドメインをホストできます。your_domainというドメインを設定しますが、これを独自のドメイン名に置き換える必要があります。

  • Ubuntu 22.04のNginxには、 のディレクトリからドキュメントを提供するように設定された1つのサーバーブロックがデフォルトで有効になっています。これは単一のサイトではうまく機能しますが、複数のサイトをホストしている場合は扱いにくくなる可能性があります。を変更する代わりに、your_domainサイト内にディレクトリ構造を作成し、クライアント要求が他のサイトと一致しない場合に提供されるデフォルトのディレクトリとしてそのままにしておきましょう。/var/www/html/var/www/html/var/www/var/www/html

  • your_domainのディレクトリーを次のように作成し、フラグを使用して必要な親ディレクトリーを作成します。-p

2-5. 登録済みドメイン
  • GoogleDomainで事前に準備したxxxxx.xxxを使います。
  • DNSの設定は、以下の通りです。
    • サーバーのパブリック IP アドレスを指す A レコード。example.com
    • サーバーのパブリック IP アドレスを指す A レコード。www.example.com
2-6. SSL証明書を暗号化
  1. 前提 条件
  • Ubuntu 22.04サーバーセットアップチュートリアルで詳述されているように、ルート以外のsudo対応ユーザーと基本的なファイアウォールが設定されたUbuntu 22.04サーバー。
  • サーバーを指すドメイン名。DigitalOcean Dropletを使用している場合は、ドメインとDNSのドキュメントに従ってこれを実現できます。このチュートリアルでは、全体を通して使用します。your_domain
  • ポート 80 または 443 は、サーバー上で使用されていない必要があります。セキュリティで保護しようとしているサービスが、これらのポートの両方を占める Web サーバーを持つマシン上にある場合は、Certbot の webroot モードなど、別のモードを使用する必要があります
  1. Certbotのインストール
  • スナップ・パッケージを管理するには、snapdを最初にインストールします。
    $ sudo snap install core; sudo snap refresh core
    core 16-2.56.2 from Canonical✓ installed
    snap "core" has no updates available
    
  1. 古いバージョンの certbotの確認と削除とインストール
  • 以前に古いバージョンの certbot がインストールされていたサーバーで作業している場合は、先に進む前に削除する必要があります。
    sudo apt remove certbot
    sudo snap install --classic certbot
    output
    certbot 1.29.0 from Certbot Project (certbot-eff✓) installed
    
    sudo ln -s /snap/bin/certbot /usr/bin/certbot
    
  1. 証明書の取得
  • Certbot は、ドメインを管理していることを証明するために、Let’s Encrypt API によって発行された暗号化の課題に回答する必要があります。これを実現するには、ポート (HTTP) または (HTTPS) を使用します。ファイアウォールで適切なポートを開きます。
    sudo ufw allow 443
    
    Output
    Rule added
    Rule added (v6)
    
  • Certbot を実行して証明書を取得できるようになりました。このオプションを使用して、独自の組み込み Web サーバーを使用してチャレンジを処理するように Certbot に指示します。最後に、このフラグを使用して、証明書を要求するドメインを指定します。複数のオプションを追加して、1 つの証明書で複数のドメインをカバーできます。
    Nginxを先に止めておきます。
    sudo systemctl status nginx
    
    sudo certbot certonly --standalone -d xxxxx.xx
    
     mail設定: xxxxx.xx@xxxxx.xx
    output
    Successfully received certificate.
    証明書を正常に受け取りました。
    証明書は次の場所に保存されます: /etc/letsencrypt/live/xxxxx.xx/fullchain.pem
    キーは次の場所に保存されます: /etc/letsencrypt/live/xxxxx.xx/privkey.pem
    この証明書の有効期限は 20221127 日です。
    これらのファイルは、証明書が更新されると更新されます。
    Certbot は、バックグラウンドでこの証明書を自動的に更新するスケジュールされたタスクを設定しました。
    
  1. アプリケーションの構成
  • ディレクトリー内のファイルには、これらの各ファイルに関する詳細情報が含まれています。ほとんどの場合、次のファイルのうち 2 つだけが必要です。

    sudo ls /etc/letsencrypt/live/xxxxx.xx
    
    output
    README  cert.pem  chain.pem  fullchain.pem  privkey.pem
    
    • privkey.pem: これは証明書の秘密キーです。これは安全かつ秘密にしておく必要があるため、ほとんどのディレクトリは非常に制限の厳しい権限を持ち、rootユーザーのみがアクセスできます。ほとんどのソフトウェア構成では、これを または に似たものとして参照します。/etc/letsencryptssl-certificate-keyssl-certificate-key-file
    • fullchain.pem:これはすべての中間証明書にバンドルされている証明書です。ほとんどのソフトウェアは、このファイルを実際の証明書に使用し、設定で ‘ssl-certificate’ のような名前で参照します。
  • Cerbot:公式ガイド

  1. サートボットの自動更新の処理
  • Let’s Encryptの証明書は90日間しか有効ではありません。これは、ユーザーが証明書の更新プロセスを自動化することを奨励するためです。インストールしたパッケージは、 に更新スクリプトを追加することで、これを処理します。このスクリプトは 1 日に 2 回実行され、有効期限が切れてから 30 日以内の証明書を更新します。certbot/etc/cron.d

  • 証明書が自動的に更新されるため、更新後に他のタスクを実行する方法が必要です。新しい証明書を取得するには、少なくともサーバーを再起動またはリロードする必要があり、手順3で述べたように、使用しているソフトウェアで動作させるために何らかの方法で証明書ファイルを操作する必要があります。これが Certbot のオプションの目的です。renew_hookを追加するには、Certbot の更新設定ファイルを更新します。Certbot は、最初に証明書をフェッチした方法の詳細をすべて記憶し、更新時に同じオプションを使用して実行されます。フックを追加するだけです。お気に入りのエディタで設定ファイルを開きます。renew_hook

  • sudo vi /etc/letsencrypt/renewal/xxxx.xx.conf

  1. 自動更新のテスト
  • OK
    sudo certbot renew --dry-run
    
    output
    デバッグ ログを /var/log/letsencrypt/letsencrypt.log に保存する
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    /etc/letsencrypt/renewal/xxxxx.xx.conf の処理中
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    アカウントが登録されました。
    xxxxx.xx の既存の証明書の更新をシミュレートする
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    おめでとう、シミュレートされたすべての更新が成功しました:
      /etc/letsencrypt/live/xxxxx.xx/fullchain.pem (成功)
    
  1. nginxへ変更
  • 変更するとOK
    sudo certbot --nginx
    
    1: Attempt to reinstall this existing certificate
    2: Renew & replace the certificate (may be subject to CA rate limits)
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 1
    Deploying certificate
    Successfully deployed certificate for xxxxx.xx to /etc/nginx/sites-enabled/default
    Congratulations! You have successfully enabled HTTPS on https://xxxxx.xx
    
2-7. Certbotのインストール
  1. Shiny R パッケージを公式リポジトリからインストールして、すべてのユーザーが使用できるようにするには、次のコマンドを使用します。
  • インストールが完了したことが示され、ダウンロードされたソースパッケージの場所が特定されます。
    sudo su - -c "R -e \"install.packages('shiny', repos='http://cran.rstudio.com/')\""
    
    Output
    ...
    * DONE (shiny)
    
    The downloaded source packages are in
      ‘/tmp/RtmpPCeOoz/downloaded_packages’
    
    注意:warningあり
      CC       src/unix/libuv_la-thread.lo
    src/unix/thread.c: In function ‘thread_stack_size’:
    src/unix/thread.c:194:24: warning: comparison of integer expressions of different signedness: ‘rlim_t’ {aka ‘long unsigned int’} and ‘long int’ [-Wsign-compare]
      194 |       if (lim.rlim_cur >= PTHREAD_STACK_MIN)
          |                        ^~
    src/unix/thread.c: In function ‘uv_thread_create_ex’:
    src/unix/thread.c:242:20: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘long int’ [-Wsign-compare]
      242 |     if (stack_size < PTHREAD_STACK_MIN)
    
2-8. Shiny Serverのインストール
  • このステップでは、Shiny Server をインストールし、Shiny Server がリッスンするポートを経由するトラフィックを許可するようにファイアウォールを調整します。
  • https://www.rstudio.com/products/shiny/download-server/ubuntu/ サイズ:91.08メガバイト|SHA-256: 90b1ba6f |バージョン: 1.5.19.995|公開日: 2022/07/27
    wget https://download3.rstudio.org/ubuntu-18.04/x86_64/shiny-server-1.5.19.995-amd64.deb
    
  1. 次に、次のコマンドを使用して、RStudio Shiny Server のダウンロード ページに一覧表示されている Sha256 チェックサムを使用して、ダウンロードしたファイルの整合性を確認します。
  • $ sha256sum shiny-server-1.5.19.995-amd64.deb
    90b1ba6f015e2a83a234c9ccd22ec988992d558224108a63f769e7ac75fda24c  shiny-server-1.5.19.995-amd64.deb
    
    90b1ba6f015e2a83a234c9ccd22ec988992d558224108a63f769e7ac75fda24cを確認OK
    
  1. パッケージリストを更新し、パッケージをインストールします
  • sudo apt install gdebi-coreは、Rstudio Serverでinstallしている場合は不要です。
    sudo apt update
    sudo apt install gdebi-core
    
  1. 次のコマンドでShiny Serverをインストールします。
  • sudo gdebi shiny-server-1.5.19.995-amd64.deb
    
    output:
    Shiny Server
    Shiny Server is a server program from RStudio, Inc. that makes Shiny applications available over the web. Shiny is a web application framework for the R statistical computation language.
    Do you want to install the software package? [y/N]:y
    /usr/bin/gdebi:113: FutureWarning: Possible nested set at position 1
      c = findall("[[(](\S+)/\S+[])]", msg)[0].lower()
    Selecting previously unselected package shiny-server.
    (Reading database ... 118836 files and directories currently installed.)
    Preparing to unpack shiny-server-1.5.19.995-amd64.deb ...
    Unpacking shiny-server (1.5.19.995) ...
    Setting up shiny-server (1.5.19.995) ...
    Creating user shiny
    Adding LANG to /etc/systemd/system/shiny-server.service, setting to C.UTF-8
    Created symlink /etc/systemd/system/multi-user.target.wants/shiny-server.service → /etc/systemd/system/shiny-server.service.
    ● shiny-server.service - ShinyServer
        Loaded: loaded (/etc/systemd/system/shiny-server.service; enabled; vendor preset: enabled)
        Active: active (running) since Mon 2022-08-29 23:31:06 JST; 13ms ago
      Main PID: 52978 (shiny-server)
          Tasks: 1 (limit: 4661)
        Memory: 604.0K
            CPU: 9ms
        CGroup: /system.slice/shiny-server.service
                └─52978 /opt/shiny-server/ext/node/bin/shiny-server /opt/shiny-server/lib/main.js
    
    Aug 29 23:31:06 i-16100000406869 systemd[1]: Started ShinyServer.
    
  1. 次のコマンドを使用して、ポートでリッスンしていることを確認します。
  • $ sudo ss -plut | grep -i shiny
    tcp   LISTEN 0      511                *:3838              *:*    users:(("shiny-server",pid=52978,fd=18))   
    
  1. ポートでリッスンしていることを確認したら、ファイアウォールを変更して、Shiny Serverへのトラフィックの通過を許可します
  • sudo ufw allow 3838
    
  1. Webブラウザで訪問してデフォルトのShiny Serverホームページを表示し、Shiny Serverへようこそ、インストールを祝福します。画面の右側に小さなボックスが表示され、エラーが発生しましたというメッセージが表示されます。手順 4 でインストールすると、エラー メッセージは対話型の Shiny Doc に置き換えられます。
  1. rmarkdownのインストトール
  • rmarkdownをインストールせよとエラーが出るため。

    sudo su - -c "R -e \"install.packages('rmarkdown', repos='http://cran.rstudio.com/')\""
    
    sudo systemctl restart shiny-server
    
  • http://xxxxx.xx:3838

  • OK!

  • Mastering Shiny

以上