vagrantでcentos7.2-Rails(1)
http://qiita.com/SanoHiroshi/items/892a8516f4a6445e1e05
の通りに。
Windows 8.1 Pro
VirtualBox 5.0.14
Vagrant 1.8.1
bento/centos-7.2
Ruby 2.3.0
Rails 4.2.2
●ここから開始。コマンドプロンプトで、
cd /
mkdir vm
cd C:vm
mkdir centos-rails
cd centos-rails
vagrant init bento/centos-7.2
にしたがって、
Vagrantファイルをテキストエディタで開き、
以下のように変更。ただし、//ここの・・・ は書き込まない。
vagrant up
TeraTermで、
127.0.0.1 Port 2222
でSSHで、vagrant , vagrant でログイン。
●共有フォルダ
ホストOS(windows8.1)の、Vagrantファイルがあるフォルダ
(今回では、c:vmcentos-rails)
と、
ゲストOS(Centos7.2)の、/vagrant フォルダ
が共有されている。
例)今回の例では、
ホストOS(CentOS)に、TeraTermでログインして、
cd /vagrant
vi test.txt
で、i を押して、test2 と書き込み、「Esc」wq!「Enter」とすると、
ゲストOS(Windows8.1)のc:vmcentos-rails フォルダに、text.txtが
表示されて、メモ帳でも閲覧、変更できる。
引き続き、
にしたがってやっていく。
●Git, Ruby, Railsのインストール
SSHとかGitとか、いまいち、ほとんどわからないのだが、SSHはvagrantが使える時点で入っているらしい。Gitは、Rubyをインストールするのに必要だし、今後、BitBucketや、Herokuを使う必要が出てきたときにも必要。
TeraTerm(CentOS7.2)で、
$ sudo yum -y install kernel-devel
$ sudo yum -y install gcc make
$ sudo yum -y install update
$ sudo yum -y install gcc-c++ patch readline readline-devel zlib zlib-devel libyaml-devel libffi-devel openssl-devel make bzip2 autoconf automake libtool bison git
git –version すると、私の場合は、なぜか、
git version 1.8.3.1
と出た。(Version2より下だけどいいのかな?わからん。)
とりあえず、
の通りに、Rubyをインストール。
$ rbenv install 2.3.0; rbenv rehash
のところでかなり待つ。10分以上かも、、、
その後、途中で、(Railsチュートリアルにあわせるため、)
gem install rails -v 4.2.2
を行った。この後も、ものすごく時間がかかる。
●Mysqlのインストールと設定
の通りに。
rails s -b 0.0.0.0
してから、ブラウザで、
localhost:3000
に接続すると、
エラー、がっくし。
なお、Gemfileに、
gem ‘mysql2’
はしっかり入っている。。。わからん。。。
bundle update
bundle install
してから、もう一度、
rails s -b 0.0.0.0
やっぱり駄目。同じエラー。
—————-
http://qiita.com/shizuma/items/0f9660d5d46a0012eb9e
を見ると、以下のようにすれば解決するのか?のか?
bundle update
してから、もう一度、
rails s -b 0.0.0.0
そして、ブラウザで、
localhost:3000
を見てみると、うまくいった。
ここまで4時間くらい。。。これをVagrantBoxで保存したい。。。
—————-
●databaseにsqlite3を使用する場合(Vagrant, TeraTerm)
Gemfileを編集してから、「bundle install」すると、なんかRubygemにつながらないとかエラーが出る。
http://qiita.com/roki1801/items/1665709a66ceb94987ea
Vagrant上のRailsプロジェクトでbundle installするとrubygems.orgでエラー
roki1801が2015/03/06に投稿
によると、コマンドプロンプト上で、
vagrant reload
して、Vagrantを再起動すると、動くようになる。しかし、TeerTermでもう一度、bundle install すると、さらに、sqlite-develがどうのこうの言われて、その通りにやると、さらにエラーが出るので、エラーの指示の通りに、
yum -y install sqlite-devel
gem install sqlite3 -v '1.3.9’
このあと、
rails s -b 0.0.0.0
すると、またエラーが出る。
http://qiita.com/pugiemonn/items/11a2bc8403e5947a8f13
rails server で There was an error while trying to load the gem 'uglifier’.と言われる解決方法。
pugiemonnが2015/12/17に投稿(2016/03/15に編集)
を見ながら、Gemfileに、
gem 'therubyracer', platforms: :ruby
を加えて、bundle installしてから、
rails s -b 0.0.0.0
で、Windowsのブラウザで、http://localhost:3000 で、Rails4の最初の画面が出る。
(参考:config/database.yml)
●このときのvagrant boxイメージを保存する。
を参考に。
VirtualBoxを起動し、現在起動しているVMの名前を確認してから、
vagrant package –base [VM名] –output [出力box名]
vagrant package –base "centos-rails_default_1460817053069_12134" –output CentOS72rails002.box
現在起動しているvmが自動的にshutdownされて、Exporting VM… と表示がでて、しばらく待つ。
私の場合は、c:/vm/centos-rails/ の中に、
CentOS72rails002.box
という、約600MBのファイルが作成された。
—————-
●最初の画面の作成
の通りにやってみる。
rails s -b 0.0.0.0
そして、ブラウザで、
localhost:3000
で、無事、以下の画面になった。