ShinyServer Administrator¢â‚¬â„¢sGuide Contents 1 GettingStarted 8 1.1 Introduction. . . . . . . . .

  • View
    0

  • Download
    0

Embed Size (px)

Text of ShinyServer Administrator¢â‚¬â„¢sGuide Contents 1...

  • Shiny Server Administrator’s Guide

    Shiny Server Professional v1.5.9

    Copyright © 2018 RStudio, Inc.

  • Contents

    1 Getting Started 8

    1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

    1.2 System Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    1.3 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    1.3.1 Ubuntu (14.04+) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    1.3.2 RedHat/CentOS (6+) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

    1.3.3 SUSE Linux Enterprise Server 12 . . . . . . . . . . . . . . . . . . . . . . . . . 11

    1.3.4 Install Shiny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

    1.3.5 R Installation Location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

    1.4 Stopping and Starting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

    1.4.1 systemd (RedHat 7, Ubuntu 15.04+, SLES 12+) . . . . . . . . . . . . . . . . 13

    1.4.2 Upstart (Ubuntu 14.04, RedHat 6) . . . . . . . . . . . . . . . . . . . . . . . . 14

    2 Server Management 16

    2.1 Default Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

    2.2 Server Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

    2.2.1 Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

    2.2.2 Location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

    2.2.3 Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

    2.3 run_as . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

    2.3.1 :HOME_USER: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    2.3.2 Running Shiny Server with Root Privileges . . . . . . . . . . . . . . . . . . . 21

    2.3.3 :AUTH_USER: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    2.4 PAM Sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    2.4.1 Session Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    2.5 r_path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

    1

  • CONTENTS 2

    2.6 Local App Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

    2.7 Hosting Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

    2.7.1 Host a Directory of Applications . . . . . . . . . . . . . . . . . . . . . . . . . 26

    2.7.2 Host a Single Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

    2.7.3 Host Per-User Application Directories . . . . . . . . . . . . . . . . . . . . . . 27

    2.8 Redirecting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

    2.9 Virtual Hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

    2.10 Custom Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

    2.11 Set Custom Headers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

    2.12 Server Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

    2.12.1 Access Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

    2.13 Environment Variable Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

    2.13.1 SHINY_LOG_LEVEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

    2.13.2 R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

    2.13.3 SHINY_DATA_DIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

    3 Deploying Applications 36

    3.1 Schedulers & Application Restarts . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

    3.1.1 Restarting an Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

    3.1.2 Simple Scheduler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

    3.1.3 Utilization Scheduler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

    3.2 R Markdown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

    3.3 Application Timeouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

    3.4 Session Timeouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

    3.5 Logging and Analytics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

    3.5.1 Application Error Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

    3.5.2 Log File Permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

    3.5.3 Google Analytics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

    3.6 Program Supervisors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

    3.7 Reactivity Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

    3.8 Specifying Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

    3.8.1 Disabling WebSockets on the Server . . . . . . . . . . . . . . . . . . . . . . . 42

  • CONTENTS 3

    4 Authentication & Security 44

    4.1 Authentication Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

    4.2 Auth Duration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

    4.3 Flat-File Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

    4.3.1 sspasswd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

    4.4 Google Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

    4.4.1 Create a Google Application . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

    4.4.2 Configure Shiny Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

    4.4.3 Securing the Client Secret . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

    4.4.4 Email Address Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

    4.5 PAM Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

    4.5.1 PAM Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

    4.5.2 Default PAM Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

    4.5.3 PAM and Kerberos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

    4.6 LDAP and Active Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

    4.6.1 base_bind . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

    4.6.2 Securing the LDAP password . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

    4.6.3 user_bind_template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

    4.6.4 group_search_base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

    4.6.5 group_filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

    4.6.6 group_name_attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

    4.6.7 trusted_ca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

    4.6.8 check_ssl_ca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

    4.6.9 user_filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

    4.6.10 user_search_base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

    4.7 Proxied Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

    4.8 Required Users & Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

    4.8.1 User Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

    4.8.2 Group Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

    4.9 SSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

    4.10 Proxied Headers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

    4.11 Clickjacking Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

  • CONTENTS 4

    5 Monitoring the Server 62

    5.1 Admin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

    5.1.1 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

    5.1.2 Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

    5.1.3 Killing Processes and Connections . . . . . . . . . . . . . . . . . . . . . . . . 64

    5.2 Graphite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

    5.3 Health Check Endpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

    5.3.1 Customizing Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

    5.3.2 Providing Multiple Health-Check Endpoints . . . . . . . . . . . . . . . . . . . 66

    6 Licen