Terminalから所定のディレクトリで以下のコマンドを実行
$ vagrant up
Rは「クロスプラットフォーム」ですね。
でも実際使ってるといろいろ悩みが発生する
悩みなど | |
---|---|
Windows | 文字コードの闇、C++コンパイラ、Gitまわり、等 |
Mac | XCodeでかい、ショートカット、homebrew前提な記事多い、等 |
Ubuntu | RStudioの日本語入力問題、等 |
その他共通 | ファイルパス、環境変数、等 |
ひとりで使う分にはそこまで気にならないが、それでも…
つまり、こういうことです。
こうなります。
詳細は、こちらのQiita記事にまとめました:
Vagrantでローカルの仮想マシンにRStudioServer環境を作る - Qiita
今回はUbuntu公式の14.04をもってきてみます
$ vagrant box add ubuntu1404 https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box
vagrant box add ubuntu1404
のubuntu1404
は、このボックスの名称です。あとで使います。以下、Terminalで実行しています
今回はユーザーのホームディレクトリ下に準備
$ mkdir -p /c/Users/(ユーザー名)/Vagrant/ubuntu1404
作成したディレクトリへ移動
$ cd /c/Users/(ユーザー名)/Vagrant/ubuntu1404/
仮想マシンの初期化
$ vagrant init ubuntu1404
vagrant init
で初期化、ubuntu1404
はボックス名Vagrantfile
が作成ディレクトリへのパスの書き方が変わるだけであとは共通です
$ mkdir -p ~/Vagrant/ubuntu1404
$ cd ~/Vagrant/ubuntu1404/
$ vagrant init ubuntu1404
さあ、準備したディレクトリで以下のコマンドを実行しましょう
$ vagrant up
これで一気にubuntu14.04サーバーがローカルに構築!
先ほどのディレクトリで以下のコマンドを実行
$ vagrant ssh
いじってなければこれでいけるはず
$ ssh -p 2222 vagrant@127.0.0.1
vagrant ssh
で仮想マシンにログインして以下を実行
gpg
は、Webによく転がっている方法とプロコトルが違います
$ echo "deb https://cran.rstudio.com/bin/linux/ubuntu trusty/" | \
sudo tee -a /etc/apt/sources.list.d/cran.list
$ gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys E084DAB9
$ gpg -a --export E084DAB9 | sudo apt-key add -
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install r-base-dev
最新の安定版(0.99.879)を入れます。公式の手順とは少し違いますが大丈夫です。
wget https://s3.amazonaws.com/rstudio-dailybuilds/rstudio-server-0.99.876-amd64.deb
sudo dpkg -i *.deb
sudo apt-get -f install rstudio-server
まずは仮想マシンからでます
(仮想側)$ exit
forwarded_port
設定を書き換える
config.vm.network "forwarded_port", guest: 8787, host: 1111
#
)が入ってます。host
の番号は任意。編集したら仮想マシンを再起動
(ホスト側)$ vagrant reload
以下のURLにアクセス
http://localhost:1111
vagrant
Yeah!!
vagrant up
をする前に、Vagrantfile
に必要事項を編集しておけば、仮想マシンを建てたあとに自動的に色々実行できます
Vagrant.configure(2) do |config|
# 通常はこちらを使って下さい
# config.vm.box = "ubuntu/trusty64"
# この記事の上の方で登録したboxを利用するため"ubuntu1404"としています
config.vm.box = "ubuntu1404"
# 共有ディレクトリ設定(コメントアウトしてます)
# config.vm.synced_folder "../data", "/vagrant_data"
# ポートフォワーディング設定
config.vm.network "forwarded_port", guest: 8787, host: 1111
#仮想マシンのメモリ設定
config.vm.provider "virtualbox" do |vb|
vb.memory = "2048"
end
# 以下プロビジョニング用スクリプト
$script = <<SCRIPT
echo "deb https://cran.rstudio.com/bin/linux/ubuntu trusty/" > /etc/apt/sources.list.d/cran.list
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys E084DAB9
sudo apt-get update
sudo apt-get install -y r-base r-base-dev
## for install devtools, rvest(libxml2)
# sudo apt-get install -y libcurl4-openssl-dev libssl-dev libxml2-dev
## r-packages install
# sudo R -e "install.packages('devtools', repos = 'https://cran.rstudio.com/', dep = TRUE)"
# sudo R -e "install.packages('ggplot2', repos = 'https://cran.rstudio.com/', dep = TRUE)"
# sudo R -e "install.packages('dplyr', repos = 'https://cran.rstudio.com/', dep = TRUE)"
# sudo R -e "install.packages('tidyr', repos = 'https://cran.rstudio.com/', dep = TRUE)"
# sudo R -e "install.packages('stringr', repos = 'https://cran.rstudio.com/', dep = TRUE)"
# sudo R -e "install.packages('rvest', repos = 'https://cran.rstudio.com/', dep = TRUE)"
# sudo R -e "install.packages('rmarkdown', repos = 'https://cran.rstudio.com/', dep = TRUE)"
## rstudio-server install
wget https://s3.amazonaws.com/rstudio-dailybuilds/rstudio-server-0.99.876-amd64.deb
sudo dpkg -i *.deb
sudo apt-get -f install rstudio-server
rm *.deb
SCRIPT
# スクリプト実行
config.vm.provision "shell", inline: $script
end
コメントアウトしてますが、Rのパッケージをインストールする内容も書いてます。
これをVagrantfile
として保存してvagrant up
すればOK
vagrant up
すると相当ながいことターミナルに出力が吐き出されます(特にシェルスクリプト部分)。実際に利用するとなったら、エラーのみ標準出力させるよう修正したほうがいいです。# config.vm.synced_folder "../data", "/vagrant_data"
は自分が管理しやすいところにしておいた方がいいでしょう。OSによってパスの書き方が変わるので注意してググってください。$ vagrant up
を実行これでOK!
参考資料: