2014-11-07 4 views
54

나는 달리거나 R을 설치하지 않고도 직장 동료가 반짝이는 앱을 사용할 수 있도록 노력하고 있습니다. 반짝이는 서버없이 자신 만의 반짝이는 앱을 호스팅하고 설정하기

그래서 나는 this webpage 를 읽고이 문장을 발견 : 당신은 웹이 IT 부서에 호스팅하거나 액세스 할 수 있습니다에 익숙하다면

, 당신은 당신의 빛나는 자신을 애플 리케이션을 호스팅 할 수 있습니다.

'웹 페이지로 공유'섹션입니다.

누군가이 주제와 관련하여 도움이 될지 궁금합니다. 최소한의 요구 사항 (또는 튜토리얼). 문제는 우리 회사가 웹 호스팅 및 보안과 관련된 특정 제한 사항에 구속되어 있으며 (현재는) 반짝이는 서버 프로를 지불하지 않을 것입니다.

위의 문장은 나에게 그들 자신을 설득하기 위해 뭔가를 설정할 희망을 제공합니다.

+1

[반짝이는 서버로 시작] (https://github.com/rstudio/shiny-server)? – hrbrmstr

답변

55

PC와 동료 PC가 동일한 LAN에 속하는 경우 매우 쉽게 달성 할 수 있습니다. 그냥 응용 프로그램을 통해 실행

runApp(host="0.0.0.0",port=5050) 

host 인수를 통해 설정 값은 모든 연결을 허용하도록 말한다 (단지 로컬 호스트에서). port 인수는 원하는 모든 값을 취할 수 있습니다 (ssh 또는 http과 같은 다른 서비스에서 사용하는 포트를 선택하는 것을 피하십시오). 그런 다음 로컬 IP를 기록해 두십시오 (Linux를 사용하는 경우 ifconfig 통해 확인할 수 있음). 귀하의 IP가 192.168.1.70이라고합시다. 동료의 브라우저 주소창에 192.168.1.70:5050 즉, : 뒤에 IP를 입력하고 선택한 포트 번호를 삽입하여 앱을 사용할 수 있습니다.

LAN 외부에서 액세스하려는 경우 누군가가 5050 포트를 통해 공용 IP에 연결할 때 라우터를 PC에 연결할 수 있습니다.

+2

감사합니다. 월요일에 시도해 볼게. 하지만 다른 사람들이 액세스하는 동안 R과 앱을 실행시켜야한다는 것을 의미합니까? – schlusie

+1

예. 응용 프로그램이 PC에서 실행 중이어야합니다. – nicola

+5

오케이. 나는 지금 그것을 시험해 보았다. 하지만 내 컴퓨터에서 앱을 실행하지 않고도 가능성이 있습니까? 말했듯이 우리는 IT 부서와 일부 서버에 액세스 할 수 있으며 인용문은이를 수행 할 가능성을 나타냅니다. – schlusie

11

LAN을 통해 앱을 공유하는 것은 매우 멋지지만 해킹 같은 일입니다. 저는 몇몇 동료들과 함께 시도해 보았지만 작동하지만 지속 가능한 솔루션보다 사무용품에 가깝습니다.

정확한 문제 (예 : 회사가 Shiny Server를 지불하지 않거나 클라우드 서비스에 보안 문제가있는 경우)를 위해 RInno 패키지 개발이 끝났습니다.

는 시작하려면 :

install.packages("RInno") 
require(RInno) 
RInno::install_inno() 

그런 다음 당신은 그냥 설치 프레임 워크를 만들기 위해이 함수를 호출해야합니다 당신은 당신의 동료에 대한 연구를하고 싶으 시다면

create_app(app_name = "myapp", app_dir = "path/to/myapp") 
compile_iss() 

누가 돈 'T는, 그것은 설치되어 추가 include_R = TRUEcreate_app에 :

create_app(app_name = "myapp", app_dir = "path/to/myapp", include_R = TRUE) 

기본값은 shiny, magrittr 및 jsonlite를 포함하므로 ggplot2 또는 plotly와 같은 다른 패키지를 사용하는 경우 pkgs 인수에 추가하십시오.

다른 기능에 관심이 있다면
create_app(
    app_name = "myapp", 
    app_dir = "path/to/myapp" 
    pkgs  = c("shiny", "jsonlite", "magrittr", "plotly", "ggplot2"), 
    remotes = c("talgalili/installr", "daattali/shinyjs")) 

, 나는 최근에 우리는 로컬 가지고 CentOS의 7 리눅스 OS 서버에 반짝를 설치 한 FI Labs - RInno

+2

Windows 전용 ^^ – Pawamoy

+0

그래, 리눅스 노트북을 사서 다음에 우분투를 지원할 방법을 찾고있다. –

0

를 체크 아웃 : 당신은 remotes 인수 GitHub의 패키지를 포함 할 수 있습니다. 우리는 아래 가이드를 대부분 사용했습니다. https://www.vultr.com/docs/how-to-install-shiny-server-on-centos-7

가이드를 사용하는 다른 사용자가 답변을 볼 수 있도록 여기에서 설정 문제에 대해 질문 할 수 있습니다.

우리는 AWS 서버에서 내용을 세밀하게 분석하여 내용이 민감한 것으로 판단했습니다. 그렇지 않으면 두 가지 해결책이 비슷하게 보입니다. Linux와 Shiny 시스템은 가볍습니다. 무료 Amazon 서버에서 실행할 수 있습니다!