데이터 과학

한글처리 가능한 RStudio 개발환경

학습 목표

  • 한글처리 RStudio 개발환경을 구축한다.
  • 고성능 개인용컴퓨터 혹은 클라우드 환경에 개발환경을 설정한다.
  • 윈도우 환경에 가상상자(Virtualbox)와 부랑자(Vagrant) + RStudio 서버를 설치한다.
  • 리눅스와 맥환경에는 RStudio IDE를 설치한다.
  • 클라우드 환경에 가상 컴퓨터를 주문하여 RStudio IDE를 바로 설치한다.
  • 소프트레이어 API를 사용해서 가상 컴퓨터를 코드로 주문한다.
  • Shiny 앱 개발을 위한 RStudio를 설치한다.
  • 데이터 과학 응용프로그램 운영 Shiny 서버를 설치한다.

RStudio 개발 환경 설정

R과 RStudio를 설치하여 데이터과학을 위한 개발환경을 구축하는 방법이 크게 세가지로 정리된다. 각 방법에 대한 장단점이 존재하는 만큼 충분히 숙지한 후에 최적의 방안을 찾아도 되지만, 라즈베리파이 등 저렴한 하지만 강력한 하드웨어와 더불어 오픈 소프트웨어가 많은 만큼 날 잡고서 몇일 나름의 최적 R설치방안을 찾아보기 바란다. 특히, 데이터과학을 인생에 중요한 전환점이라고 생각한다면 꼭 한번 도전해볼 가치가 있다고 생각된다.

  1. 한국인 90% 이상이 아마도 이 범주에 해당된다고 보인다. 윈도우를 깔고 있는 상태에서 가상상자(virtualbox)부랑자(Vagrant)를 설치하고 그 위에 R 즉 r-base 와 더불어 RStudio 서버를 설치한다. 그리고 나서 http://localhost:8787/ 8787포트를 통해서 웹브라우져를 통해 개발을 한다.
    • 가상상자와 더불어 부랑자라는 도구를 새로 배워야하고 Type II 가상화 개념도 이해하고 있어야 한다.
    • 컴퓨터와 컴퓨터간 통신 프로토콜을 이해해야 하고, 컴퓨터간 응용프로그램 통신을 위한 포트 개념도 알고 있어야 한다.
    • 개인용 컴퓨터에 가상컴퓨터를 띄워 R과 RStudio를 웹브라우져를 통해 돌리는만큼 현저한 속도저하를 경험할 수도 있다.
  2. 개인용 컴퓨터에 운영체제로 리눅스를 설치한다. 혹은 맥을 구입한 후에 R 즉 r-base 와 더불어 RStudio 서버를 설치한다.
    • 리눅스의 경우 대한민국 정부에서 서비스하는 대부분의 전자정부서비스를 비롯한 금융서비스 등 불편한점을 많이 경험할 수 있다.
    • 이런 경우 가상상자와 부랑자를 사용해 윈도우를 설치하고 은행업무나 마이크로소프트 서비스가 필요한 경우 그때 그때 가상컴퓨터를 띄워 사용한다.
  3. 클라우드 서비스 제공자(아마존웹서비스, IBM 소프트레이어, 구글웹엔진, 마이크로소프트 애져등)에서 가상 유닉스계열 컴퓨터를 생성하고 난 후 R 즉 r-base 와 더불어 RStudio 서버를 설치한다.
    • 종량제 개념으로 컴퓨터를 사용한만큼 과금을 하는 방식이라 비용이 발생할 수 있다.
    • 유닉스 계열 가상컴퓨터를 원하는 사양에 맞춰 갖을 수 있다.

한글처리 문제로 기승전 유닉스로 가다!!!

  • 결국, 윈도우를 버리고 R과 RStudio를 유닉스 컴퓨터에 설치하는 결론에 도달했다.
  • 시작은 윈도우에서 한글처리를 R과 RStudio에서 처리하는 소박한 소망에서 시작했다.
  • 한글 인코딩이 발목을 잡고, 이에 대한 근본적인 처리는 결국 Type I, Type II 가상화를 통해 유닉스를 설치하고 그 위에 R과 RStudio를 설치하는 것이다.
  • 처음 R과 RStudio를 유닉스에 설치하는 것이 망설여지고, 몇일 고생할 수도 있지만, 장기적으로 보면 올바른 선택이라고 보여진다.
  • 근본적인 원인중의 하나는 대부분의 R 팩키지가 유니코드 utf-8으로 개발되기 때문에 팩키지에 인코딩을 맞춰 넣으려면 CP949, EUC-KR와 인코딩을 맞추는 것은 개발자에게 있어 상당한 낭비다. 또한, 웹환경에 배포를 하고 협업하는 국내외 환경을 생각하면 utf-8을 사용하는 것이 장기적으로 시간을 크게 절약하는 현명한 접근법으로 보여진다.

RStudio 개발 환경 설정

1. 윈도우 환경 R 개발환경 설정

윈도우 환경 가상상자와 부랑자에 대한 설치는 윈도 가상 개발환경 구축을 참조한다.

R과 RStudio를 설치할 경우 포트번호를 8787 포트포워딩해서 가상컴퓨터와 호스트컴퓨터 응용프로그램간 통신을 할 수 있게 조정을 해야 한다. 더불어, config.vm.synced_folder 설정으로 호스트 윈도우 환경과 리눅스 환경 사이 폴더를 동기화하여 scp, sftp같은 번거로운 복사 작업을 최소화한다. devtools, Rcpp등 일부 덩치가 크고 중요한 팩키지의 경우 메모리를 1024 즉, 1GByte로 설정한 경우 오류를 내는 경우가 있어 최소 2GB이상 설정한다.

Vagrant.configure(2) do |config|
# 우분투 리눅스를 설치한다.
  config.vm.box = "ubuntu/trusty64"
# RStudio 서버를 설치한 후 포트번호 8787을 설정해야 향후 localhost:8787 로 접속하여 RStudio를 사용한다.
  config.vm.network "forwarded_port", guest: 8787, host: 8787
# 호스트 윈도우 파일시스템과 가상컴퓨터 우분트 파일시스템을 동기화시켜 scp, sftp 등을 사용할 필요를 없앤다.
  config.vm.synced_folder  "C:/Users/KwangChun/docs/rstudio", "/home/vagrant"

  config.vm.provider "virtualbox" do |vb|
# devtools, Rcpp등 일부 덩치가 크고 중요한 팩키지의 경우 메모리가 적어 오류를 내는 경우가 있어 최소 2GB이상 설정한다.
     vb.memory = "2048"
  end
end

vagrant up 명령어를 입력하면 RStudio 서버가 구동하게 되고 vagrant ssh 명령어를 입력하고 들어가서 R과 RStudio 서버를 설치한다.

최신버젼 R을 설치하는 경우 다음 명령어를 터미널에서 입력한다. 1 2

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9
$ sudo add-apt-repository 'deb [arch=amd64,i386] https://cran.rstudio.com/bin/linux/ubuntu xenial/'
$ sudo apt-get update
$ sudo apt-get install r-base
$ sudo -i R
R version 3.4.2 (2017-09-28) -- "Short Summer"
Copyright (C) 2017 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 certain conditions.
Type 'license()' or 'licence()' for distribution details.

  Natural language support but running in an English locale

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

>

최신버젼 R을 설치한 경우 RStudio 서버다운로드받아 설치한다.

$ sudo apt-get install gdebi-core
$ wget https://download2.rstudio.org/rstudio-server-1.1.383-amd64.deb
$ sudo gdebi rstudio-server-1.1.383-amd64.deb

wget이 막힌 경우 curl -O https://download2.rstudio.org/rstudio-server-1.1.383-amd64.deb 명령어를 사용한다.

KwangChun@paris MINGW64 ~/docs/rstudio
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'ubuntu/trusty64' is up to date...
==> default: `vagrant box update` to update.
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 8787 (guest) => 8787 (host) (adapter 1)
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Warning: Remote connection disconnect. Retrying...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
    default: Guest Additions Version: 4.3.34
    default: VirtualBox Version: 5.0
==> default: Mounting shared folders...
    default: /vagrant => C:/Users/KwangChun/docs/rstudio
    default: /home/vagrant => C:/Users/KwangChun/docs/rstudio
==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision`
==> default: flag to force provisioning. Provisioners marked to run always will still run.

vagrant up 명령어를 실행하면 먼저 설정된 Vagrantfile을 읽어 이를 차례로 실행한다. 웹브라우져를 열고 localhost:8787을 입력하면 로그인 창이 뜬다. RStudio 서버의 경우 보안상의 이유로 root로 로그인이 금지되어 있고, /home 디렉토리에 사용자를 생성하고 그 사용자를 사용하여야만 되지만, vagrant 사용자가 이미 설정되어 있기 때문에 동일한 비밀번호를 입력하고 들어가면 RStudio를 바로 사용할 수 있게 된다.

RStudio 개발 환경 설정

R 팩키지를 설치할 때 XML 관련 오류가 생겨나는 경우 터미널에서 해당 프로그램을 설치한다. vagrant ssh 명령어를 통해서 윈도우 쉘에서 바로 작업이 가능한다. 지도 관련 오류가 나는 경우 libgdal-dev 팩키지를 추가로 설치한다.

# XML누락 관련
$ sudo apt-get -y build-dep libcurl4-gnutls-dev
$ sudo apt-get -y install libcurl4-gnutls-dev
# 지도 관련 팩키지 설치 시 오류가 나는 경우
$ sudo apt-get install libgdal-dev
$ sudo apt-get install libgdal1-dev libproj-dev

2. 리눅스나 맥에서 R 개발환경 설정

리눅스나 맥에서 R 개발환경을 설정하는 것은 매우 직관적이다. RStudio IDE를 다운로드 받아 GUI를 사용할 경우 다음 버튼을 여러번 누르면 바로 개발환경 설정이 된다. 명령라인 인터페이스를 사용하는 경우 다음 클라우드 환경에서 R개발환경 설정을 참고하기 바란다.

2.1. 가장 최신 R 설치

윈도우에서 부랑자(Vagrant)를 설치하고 R을 설치하는 과정과 동일하다.

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9
$ sudo add-apt-repository 'deb [arch=amd64,i386] https://cran.rstudio.com/bin/linux/ubuntu xenial/'
$ sudo apt-get update
$ sudo apt-get install r-base
$ sudo -i R

2.2. 가장 최신 RStudio 서버 설치

최신 버젼 R을 설치한 후에 RStudio 서버다운로드받아 설치한다.

$ sudo apt-get install gdebi-core
$ wget https://download2.rstudio.org/rstudio-server-1.1.383-amd64.deb
$ sudo gdebi rstudio-server-1.1.383-amd64.deb

rstudio를 사용자로 등록하고 나서 웹브라우져를 열고 http://localhost:8787에 접속하고 나서, rstudio 계정으로 로그인한다.

$ parallels@ubuntu:~/spark-1.6.1$ sudo useradd -m rstudio
$ parallels@ubuntu:~/spark-1.6.1$ sudo passwd rstudio
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully

3. 클라우드 환경 R 개발환경 설정

소프트레이어(SoftLayer) 웹인터페이스를 사용하는 것도 가능하지만, API를 사용해서 계정(Account) 주소정보 중 도시를 읽어오고 가장컴퓨터 주문도 가능하다.

먼저, 소프트레이어 계정정보에 악의적인 사용을 막기위해서 계정정보 API Access Information 아래 Allowed IPsifconfig 명령을 통해서 등록한다. 다음 소프트레이어 API 문서를 참고해서 다음과 같이 파이썬 코드를 작성하고 실행한다.

# SoftLayer API를 사용해서 계정(Account) 주소정보 중 도시를 읽어오는 프로그램
import SoftLayer
client = SoftLayer.create_client_from_env(username="SLXXXXXX", api_key="7c769b8...")
resp = client['Account'].getObject()
print 'Account city info : ', resp['city']

먼저 SoftLayer 모듈을 가져오고, client 객체를 생성하고, getObject() 메쏘드를 통해서 resp에 Account 계정정보를 가져오고, 계정정보 중 도시정보를 다음과 같이 출력한다.

root@shiny:~# python python-start.py
Account city info :  Seoul

3.1. 데이터 과학 응용프로그램 개발 가상 컴퓨터 주문

데이터 과학 응용프로그램 개발을 위한 가상 컴퓨터를 파이썬 프로그램을 작성해서 주문한다. 컴퓨터 호스트 이름은 shiny-sl이고 프로세서는 1개, 주기억장치는 1GB, 보조기억장치는 25GB를 달러스 데이터센터에 우분투 최신 버젼 OS를 가지고 비용절감을 위해서 공용으로 주문한다.

구성항목 명칭 선택 사양
호스명 hostname shiny-sl
도메인명 domain xwmooc.net
데이터센터 datacenter dal09
프로세서갯수 cpu 1
주기억장치 memory 1024
운영체제 os UBUNTU_LASTEST
보조기억장치 disk 25
공용/전용 public/private public
요금 청구단위 billing hourly
import SoftLayer
client = SoftLayer.create_client_from_env(username="SLXXXXXX", api_key="7c7xxxxxxxxxxxxxxxxxxxxxxxxx")

shiny_object = client['Virtual_Guest'].createObject({
    'hostname': 'shiny-sl',
    'domain': 'xwmooc.net',
    'startCpus': 1,
    'maxMemory': 1024,
    'hourlyBillingFlag': 'true',
    'operatingSystemReferenceCode': 'UBUNTU_LATEST',
    'localDiskFlag': 'true'
    'datacenter': {"name": 'dal09'},
    'local_disk': 25
})

for key, value in shiny_object.iteritems():
    print key, " : ", value
root@shiny:~# python shiny-create.py
domain  :  xwmooc.net
maxMemory  :  1024
uuid  :  ed82caeb-xxxxxxx
maxCpu  :  1
metricPollDate  :
createDate  :  2015-05-22T01:36:51-06:00
hostname  :  shiny-sl
startCpus  :  1
lastPowerStateId  :
lastVerifiedDate  :
statusId  :  1001
globalIdentifier  :  a24e018e-xxxxxxxx
provisionDate  :
maxCpuUnits  :  CORE
modifyDate  :
accountId  :  xxxxxxx
id  :  xxxxxxxxx
fullyQualifiedDomainName  :  shiny-sl.xwmooc.net

3.1.1. 주문한 가상 컴퓨터 생성 확인

slcli vs list 명령어를 통해서 새로운 가상 컴퓨터 shiny-sl이 생성된 것을 확인할 수 있다.

root@shiny:~# slcli vs list
:.........:..........:.................:................:............:........:
:    id   : hostname :    primary_ip   :   backend_ip   : datacenter : action :
:.........:..........:.................:................:............:........:
: 9535091 : shiny-sl :  169.53.232.11  : 10.121.217.205 :   dal09    :   -    :
:.........:..........:.................:................:............:........:

3.1.2. 주문한 가상 컴퓨터 삭제

파이썬 프로그램으로 가상컴퓨터를 간단히 삭제할 수 있다. 삭제하는 방법은 idcancel_instance() 메쏘드에 인자로 넣어주면 끝이다.

import SoftLayer
client = SoftLayer.create_client_from_env(username="SLXXXXXX", api_key="7c7xxxxxxxxxxxxxxxxxxxxxxxxx")

mgr = SoftLayer.VSManager(client)
mgr.cancel_instance(9535091)

주문한 shiny-sl 컴퓨터를 주문취소하여 진행되는 과정이 보여지고 있다.

root@shiny:~# slcli vs list
:.........:..........:.................:................:............:.....................:
:    id   : hostname :    primary_ip   :   backend_ip   : datacenter :        action       :
:.........:..........:.................:................:............:.....................:
: 9535091 : shiny-sl :  169.53.232.11  : 10.121.217.205 :   dal09    : Cloud ISO Tear Down :
:.........:..........:.................:................:............:.....................:

SoftLayer REST에 대한 자세한 사항은 http://sldn.softlayer.com/article/rest 기사를 참조한다.

root@shiny:~# curl -s https://SLXXX:API-KEY@api.softlayer.com/rest/v3/SoftLayer_Account.json | python -m json.tool
{
    "accountManagedResourcesFlag": false,
    "accountStatusId": 1XXX,
    "address1": "XXXXX",
    "allowedPptpVpnQuantity": X,
    "brandId": XX,
    "city": "XXXX",
    "claimedTaxExemptTxFlag": false,
    "companyName": "xwMOOC",
    "country": "KR",
    "createDate": "xxx",
    "email": "xxxxxx@gmail.com",
    "firstName": "xxxxx",
    "id": xxxxxx,
    "isReseller": 0,
    "lastName": "Lee",
    "lateFeeProtectionFlag": null,
    "modifyDate": "2014-11-11T17:55:18-06:00",
    "officePhone": "XXXXXXXXX",
    "postalCode": "XXX",
    "state": "OT",
    "statusDate": null
}

클라우드 가상 컴퓨터 위에 Shiny 웹서버와 RStudio IDE 설치

3.2. Shiny 서버 설치

3.2.1. 가상 컴퓨터 사양 확인

Shiny R을 설치하기에 앞서 클라우드 데이터 과학 분석을 위한 가상 컴퓨터를 살펴보자. 데이터 과학용 클라우드 가상 컴퓨터가 준비되었으면 ssh root@169.53.232.11를 이용해서 lshw 명령어를 통해서 하드웨어 기본 사양을 확인한다.

$ ssh root@169.53.232.11
Password:
Welcome to Ubuntu 14.04.2 LTS (GNU/Linux 3.13.0-51-generic x86_64)

 * Documentation:  https://help.ubuntu.com/

The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law.

root@shiny-sl:~#
root@shiny-sl:~# lshw
shiny-sl
    description: Computer
    width: 64 bits
    capabilities: vsyscall32
  *-core
       description: Motherboard
       physical id: 0
     *-memory
          description: System memory
          physical id: 0
          size: 989MiB
     *-cpu
          product: Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz
          vendor: Intel Corp.
          physical id: 1
          bus info: cpu@0
          width: 64 bits
... 중략...
     *-network:1
       description: Ethernet interface
       physical id: 2
       logical name: eth1
       serial: 06:2c:2b:b1:43:ed
       capabilities: ethernet physical
       configuration: broadcast=yes driver=vif ip=169.53.232.9 link=yes multicast=yes

하드웨어 사양을 확인했으니, 운영체제 사양도 확인한다. 우분투의 경우 lsb_release -a 명령어를 콘솔에 타이핑하면 된다.

root@shiny-sl:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.2 LTS
Release:        14.04
Codename:       trusty

3.2.2. Shiny 서버 설치

기본적으로 R 라이선스가 GPL을 따르기 때문에 Shiny 서버도 동일한 라이선스를 따르니 리눅스를 이용하는 기분으로 소프트웨어를 사용한다. 이제 Shiny 서버를 클라우드에 구축하기 위해서 Shiny 서버를 다운로드하여 설치한다. 우분투 기준 Shiny Server v1.3.0.403 버젼 기준으로 설치해 나간다. 자세한 내용은 영어 설치페이지http://www.rstudio.com/products/shiny/download-server/를 참조한다.

운영체제 버젼 확인 결과 우분투 14.04 버젼으로 Rstudio 에서 설치시 권장하는 우분투 12.04보다 상위버젼으로 바로 R부터 설치를 진행해 나갈 수 있다. r-base를 설치하고 난 다음에는 Shiny 서버를 설치하기 전에 Shiny R 팩키지를 설치해야한다. 물론 R로 들어가서 install.packages('shiny', repos='http://cran.rstudio.com/')를 해서 shiny 팩키지를 설치해도 된다.

root@shiny-sl:~# sudo apt-get install r-base
root@shiny-sl:~# $ sudo su - -c "R -e \"install.packages('shiny', repos='http://cran.rstudio.com/')\""

RShiny 패키지를 설치한 다음에 gdebi를 다음에 설치해야 한다. 그리고 나서 gdebi를 통해서 Shiny 서버를 설치할 수 있다.

wget을 통해서 Shiny 서버 설치 파일을 다운로드받고, gdebi를 통해서 Shiny 서버를 설치한다.

root@shiny-sl:~# sudo apt-get install gdebi-core
root@shiny-sl:~# wget http://download3.rstudio.org/ubuntu-12.04/x86_64/shiny-server-1.3.0.403-amd64.deb
root@shiny-sl:~# sudo gdebi shiny-server-1.3.0.403-amd64.deb

Shiny 서버가 잘 실행되고 있는지 status shiny-server 명령어를 통해서 확인해보고, 만약 서비스가 시작되지 않았다면, sudo start shiny-server 명령어로 실행시킨다.

root@shiny-sl:~# status shiny-server
shiny-server start/running, process 14553

root@shiny-sl:~# sudo start shiny-server
start: Job is already running: shiny-server

이제 웹브라우져를 열고 포트번호(port, 3838)를 뒤에 :3838을 붙여 http://169.53.232.11:3838/와 같이 입력하면 브라우져 상단에 다음과 같은 메시지가 출력되면 설치가 완료되고 사용준비가 완료된 것이다.

Shiny 서버 설치 화면

첫 설치 페이지 우측 하단에 rmarkdown 설치가 되지 않아 생기는 오류사항은 R에서 install.packages("rmarkdown")를 통해서 rmarkdown 팩키지를 설치해서 해결할 수 있고 다음과 같은 메시지가 보이면 설치가 모두 완료된 것이다.

With Shiny and `rmarkdown` installed, you should see a Shiny doc above.

3.2.3. shinyapp.io 공용 Shiny 서버 설정

Tools –> ShinyApps –> Manage Accounts...를 통해 RStudio에서 바로 https://www.shinyapps.io/ 공용 Shiny 서버로 응용프로그램을 배포할 수 있다. 먼저 https://www.shinyapps.io/ 웹사이트에 접속해서 계정을 생성한다.

https://www.shinyapps.io/ 웹사이트에 로그인한 뒤에 사용자명(우측상단)을 클릭하고 Tokens를 클릭하면 토큰과 비밀키 정보가 함께 볼 수 있다.

shinyapps::setAccountInfo(name='xwmooc',
        token='C9CXXXXXXXXXXXXXXXXXXXXX',
        secret='<SECRET>')

토큰 정보를 Tools –> ShinyApps –> Manage Accounts...에 등록한다.

RStudio IDE에서 shinyapp.io에 바로 연결하기 위한 토근 환경설정

주의: Shiny 응용프로그램을 배포하기 위해서 ui.R, server.R로 응용프로그램이 나눠줘야 한다.

RStudio IDE에서 shinyapp.io에 개발한 응용프로그램을 바로 배포(Publish App...)

3.3. RStudio 서버 설치

Shiny 서버를 설치한 다음에 RStudio 개발환경을 설치한다. gdebiShiny 서버 소프트웨어를 설치할 때 설치했기 때문에 바로 최신 버전을 wget을 통해 다운로드하고 나서 설치한다.

root@shiny-sl:~# wget http://download2.rstudio.org/rstudio-server-0.98.1103-amd64.deb

--2015-05-22 03:42:29--  http://download2.rstudio.org/rstudio-server-0.98.1103-amd64.deb
Resolving download2.rstudio.org (download2.rstudio.org)... 54.192.7.233, 54.230.4.176, 54.230.5.20,
...
Connecting to download2.rstudio.org (download2.rstudio.org)|54.192.7.233|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 36304754 (35M) [application/x-deb]
Saving to: 'rstudio-server-0.98.1103-amd64.deb'

100%[==========================================================>] 36,304,754  19.5MB/s   in 1.8s

2015-05-22 03:42:31 (19.5 MB/s) - 'rstudio-server-0.98.1103-amd64.deb' saved [36304754/36304754]

root@shiny-sl:~# sudo gdebi rstudio-server-0.98.1103-amd64.deb

3.3.1 RStudio IDE 접속

이제 웹브라우져를 열고 포트번호(port, 8787)를 뒤에 :8787을 붙여 http://169.53.232.11:8787/와 같이 입력하면 Sign in to RStudio 화면에 사용자명(username:)과 비밀번호(Password:)를 넣고 Sign In하라고 한다. 절대 root권한을 가지고 로그인하면 들어가지 않는다. root권한을 가지고 사용자를 추가한 후에 추가된 사용자명을 가지고 로그인한다. useradd를 통해서 사용자 추가를 추가하고, userdel을 통해서 사용자를 삭제한다. adduser 혹은 useradd 동일한 명령어다. xwmooc 사용자를 sudo useradd -m xwmooc 혹은 sudo adduser -m xwmooc 명령어로 설정했으니, 다음올 비밀번호를 설정한다. sudo passwd xwmooc 비밀번호를 두번 입력하게 되면 설정이 완료되었다.

주의: sudo useradd -m xwmooc 명령어에서 -m 옵션 플래그는 홈디렉토리를 생성하게 만든다. 그래야지만 정상적으로 RStudio 작업이 가능하다.

root@shiny-sl:~# sudo useradd -m xwmooc
root@shiny-sl:~# sudo adduser -m xwmooc
adduser: The user `xwmooc' already exists.
root@shiny-sl:~# sudo passwd xwmooc
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
root@shiny-sl:~#

이제 RStudio를 사용하기 위해서 http://169.53.232.11:8787/ 사이트에서 사용자명 xwmooc를 넣고 비밀번호를 입력하게 되면 RStudio를 사용할 수 있게 된다.

RStudio IDE 서버 설치 화면