02. 우분투(Ubuntu) 서버에 R + R Studio + Shiny 설치

- Step-by-step 따라하기 -


이 글은 '데이터 분석 결과를 웹에 반응형으로 시각화하기 (Ubuntu Server + R + Shiny)' 의 연속 포스트입니다.

데이터 분석 결과를 웹에 반응형으로 시각화하는 과정을 정리하고 있습니다.




R Studio 서버 설치

지난 포스트에 이어 본격적으로 우분투 서버에 R Studio를 설치해 보겠습니다.

먼저 발급받은 가상서버, VPS에 접속을 합니다.다.


#. R 설치

R Studio를 설치하기 전, 먼저 R을 설치해야 합니다.

R Studio는 R 언어의 IDE (Integrated Development Environment, 통합개발환경) 이기 때문이죠.

아래와 같이 명령어를 입력합니다.

$ sudo apt-get install r-base


-- 생략 --

Do you want to continue? [Y/n] [Y 입력 후 Enter]


처음 설치하는 것이라면, 시간이 다소 걸릴 수 있습니다.


설치가 잘 됐는지 R의 버전을 확인하는 명령을 내려봅시다.


$ R --version


R version 3.2.3 (2015-12-10) -- "Wooden Christmas-Tree"

Copyright (C) 2015 The R Foundation for Statistical Computing

Platform: x86_64-pc-linux-gnu (64-bit)


R is free software and comes with ABSOLUTELY NO WARRANTY.

You are welcome to redistribute it under the terms of the

GNU General Public License versions 2 or 3.

For more information about these matters see

http://www.gnu.org/licenses/.


위와 같이 R 버전이 출력된다면 정상입니다.


#. R Studio 서버 설치

다음으로는 R Studio 서버를 설치합니다.

포스팅 시점에 64bit 최신 버전이 1.1.456 이었네요. 지금 이 글을 읽고 계신 시점에는 더 최신버전이 나왔을 수 있습니다.

https://www.rstudio.com/products/rstudio/download-server/

위 페이지 하단부에 R Studio 설치 Section 을 참조하셔서 최신 버전의 명령어를 사용하시면 좋을 것 같습니다.

$ sudo apt-get install gdebi-core

$ wget https://download2.rstudio.org/rstudio-server-1.1.456-amd64.deb

$ sudo gdebi rstudio-server-1.1.456-amd64.deb


-- 생략 --

Do you want to install the software package? [y/N] [y 입력 후 Enter]


설치가 잘 됐는지 R Studio 서버의 상태를 확인해봅시다.


rstudio-server status


rstudio-server.service - RStudio Server

   Loaded: loaded


-- 생략 --


systemd[1]: Starting RStudio Server...

systemd[1]: Started RStudio Server.


보안을 위해 내용을 생략했지만, 'Started' 이라는 문구가 있다면 정상일 것입니다.


만약 문제가 있다면, 아래 설치 점검 명령어로 추가적인 지시사항을 따르면 됩니다.

( 아무런 반응이 없으면 정상입니다. )


sudo rstudio-server verify-installation


다음으로 앞 포스팅처럼 우분투 방화벽을 잘 설정했다면,

외부에서 R Studio가 접속이 되지 않을 것입니다. 확인해봅시다.


http://<server-ip>:8787


위 URL이 웹 브라우저로 접속이 되지 않아야 좋은 상태입니다. ( <server-ip> 부분을 자신의 VPS 서버 IP 로 변경해야 합니다 )

방화벽에 R Studio가 사용하는 Port인 8787을 허용하지 않았기 때문이죠.


아래와 같이 방화벽에 8787번 포트를 허용해 봅시다.


$ sudo ufw allow 8787


다시 접속해보면 잘 되는 것을 확인할 수 있습니다.


아이디 비밀번호는 앞 포스트에서 생성한 리눅스 계정으로 접속하시면 됩니다.




Shiny 서버 설치

다음으로는 Shiny 서버를 설치하겠습니다.

먼저 아래 명령어로 R에 Shiny 패키지를 설치합니다.


$ sudo su - \

-c "R -e \"install.packages(c('shiny', 'rmarkdown'), repos='https://cran.rstudio.com/')\""


위 명령어는 R을 Root 권한으로 실행한 다음,

shiny 패키지를 rstudio repository에서 다운받아 설치하는 과정입니다.


포스팅 시점에 64bit 최신 버전이 1.5.7.907 이었네요. 지금 이 글을 읽고 계신 시점에는 더 최신버전이 나왔을 수 있습니다.

https://www.rstudio.com/products/shiny/download-server/

위 페이지 하단부에 설치 Section 을 참조하셔서 최신 버전의 명령어를 사용하시면 좋을 것 같습니다.

$ wget https://download3.rstudio.org/ubuntu-14.04/x86_64/shiny-server-1.5.7.907-amd64.deb

$ sudo gdebi shiny-server-1.5.7.907-amd64.deb


-- 생략 --

Do you want to install the software package? [y/N] [y 입력 후 Enter]


Shiny 데몬(서버)을 시작하고, 서버가 부팅될 때마다 자동으로 실행되게끔 설정합니다.

그 다음, 잘 시작됐는지 확인합니다.


$ sudo systemctl start shiny-server

$ sudo systemctl enable shiny-server


shiny-server.service - ShinyServer


-- 생략 -- Started ShinyServer.


보안을 위해 내용을 생략했지만, 'Started' 이라는 문구가 있다면 정상일 것입니다.


외부에서 Shiny를 통한 Interactive Visualization을 사용하기 위해, 필요한 3838번 포트를 허용합시다.


sudo ufw allow 3838


웹 브라우저에서 잘 접속이 되는지 확인합니다.


http://<server-ip>:3838





마치며

지금까지 우분투 서버에 R이랑 R Studio IDE, Shiny 까지 세팅을 마쳤습니다.
이제부터는 Shiny 튜토리얼을 보면서 직접 나만의 Interactive 하게 분석 결과를 시각화 해봅시다.

포스팅 내용에 오류가 있거나, 궁금한 사항 등이 있으시면 코멘트 주세요.

읽어주셔서 감사합니다.



참고 문헌

http://docs.rstudio.com/ide/server-pro

http://docs.rstudio.com/shiny-server

https://cran.r-project.org/bin/linux/ubuntu/README.html

+ Recent posts