in Server, Vagrant

コマンドライン初心者のためのぶっ壊して学ぶ環境をVagrantでつくってみる

こんにちは。コマンドライン大好き@srockstyleです。

Linux初心者のときはぶっ壊してしまうのが怖くてコマンドライン使えませんでした。そこで、僕と同じような気持ちのみんなにVagrantで壊していい環境を作れるようにします。

とか威勢良くいってみたけれど、やっぱりハードル高いですよね。

Vagrantって「開発者のための壊せる開発環境を提供」や「非常にプログラマブルな環境」とうたっているので、こういう使い方はないかもしれないんですが、でも壊してすぐ戻せる環境があるということは重要です。

先日とあるWEBなスクールをやっている方と飲む機会があったのですが、その方いわく、

「みんなLinuxにはいるとき、壊すのが怖いからターミナルいじれないって言う」

ということを聞きました。じゃあVagrantで準備してしまえばいいじゃない。というわけです。

でも。

やっぱりVagrantはあくまで「開発者向け」なのであって「初学者向け」ではないわけです。初めてのひとはGemとかよくわからないと思うしね。

なので初心に返ってVagrantのインストールから「vagrant up」までをやって、壊していい環境を用意してみましょう。

対象OSはOS Xで。これから開発者なりWEBやりたいならMac使っとくのが近道だよ!

ではいきます。

準備編

ここはみんな大好きGemでの

[bash]

gem install vagrant

[/bash]

なんですが、その前にgemを使うためにはRubyとVirtualBoxが必要です。最近のOS XならRubyはデフォルトで入っているんですが入ってないものもありますよね。ではRubyをインストールしましょう。で、その前にXcodeが必要という……。

ではOS XのDockから「App Store」を開いて、Xcodeをインストールしましょう。確かGB単位だったのでダウンロードに時間がかかります。そしてインストールにも時間がかかります。第一関門ですね。。

次にXcodeインストールしただけではだめで、Xcodeから「Command Line Tools」が必要です。これはターミナル上で開発するためのツールが一式はいったパッケージで、こいつがないとRubyのビルドができないです。

なので、いれます。Xcodeの左上のメニューにあるところから「Xcode」「Preferences」「Downloads」そしてCommand Line Toolsの隣にあるInstallをクリックしましょう。これでコマンドライン一式が入ります。多分これ忘れるひと多いので第二関門。

VirtualBoxを入れましょう。いれかたはこちら参照。

次にRubyを入れます。デフォルトの使っていてもいいですが、後々のためにrvmいれておきましょう。で、ここで初めてターミナルを起動するわけですがOS Xのターミナルわかりづらいですよね。まあ普通Mac買う人はWindowsと同じものもとめてくるので当然っちゃ当然なんですが。

Finderを開いて「アプリケーション」「ユーティリティ」「ターミナル」でいけます。手っ取り早くいくならトラックパッドをピンチしてLaunchpadを開き、「その他」からターミナルでも大丈夫です。

でましたよターミナル。第三関門。

ここからはコマンドライン行きます。

まずRubyいきましょう。

[bash]

curl -L https://get.rvm.io | bash-s stable –ruby

[/bash]

理解できなくてもとりあえずこれうってください。これで行けるはずです。なんかうまくとおらんなあ、という場合は先にhomebrewを入れましょう。homebrewはパッケージを管理する云々のものですがここでは深く考えなくて大丈夫です。

[bash]
ruby -e “$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)”
[/bash]

さて長くなりましたが準備OK。

インストール

やっとインストールいきます。一度ターミナルを閉じて、また開いておきましょう。rvmいれたばかりだと忘れがち。

[bash]

gem install vagrant

[/bash]

これでVagrantが入りました。あとは環境を立てるだけです。

壊してもいい環境をたてる

この場合二つあると思います。

1:まっさらなLinux上に1から環境を作って行く(失敗したらやり直し)

2:あらかじめセットアップされた環境を用意しておいて、触ってみながら覚えて行く(失敗したら立て直し)

Vagrantはどっちもできるからいいですね。僕だったら2のほうがやりやすいと思います。「ここをいじったらどうなるんだろう」とか「ここを変更したらどう変わるんだろう」と思いながらやるほうが、初めてのときはやりやすいかもです。もちろん参考となるソースはそれなりに綺麗なほうがいいですが。

なので勉強会とかでVagrantをLinux初めてのみんなに使ってもらう場合は、専用のBoxファイルを用意してあげたほうがいいですね。Apache + PHP + MySQLが入ってて、せめてWordPressが動く程度にはなっているものがよいでしょう。

たてかたはこちらのエントリで説明した通りです。

[bash]

vagrant box add [boxのタイトル/好きな名前] [boxのダウンロード先]

[/bash]

boxのダウンロード先はGithubでもなんでもいいと思いますが、専用のものを用意してあげたほうが勉強会とかはいいと思います。

あとはvagrant initかーらーのーvagrant upです。ここのvagrant initで設定ファイルができますがそれも用意してあげましょう。Githubとかにあげておけばよいと思います。

ポートフォワーディングの設定を書いておけば「http://localhost:8888」とかでVagrantのWordPressにアクセスしたりできます。このへんの詳細な書き方はまた次回で。

もし途中で「うごかなくなった!」ってなったらvagrant destroyかーらーのvagrant upです。簡単ですね。

まとめ

もちろんなんですが、初めてのひとにはcd mv cp pwd mkdir  rm とかは教えてあげたいですね。rmなんかは使い方注意しないとそれこそぶっ壊れるので。そのためにVagrantがあるわけで。

でもXcodeやRubyのインストールなど、挫折する要素はいっぱいあるので、勉強会で使うときはあらかじめ準備してきてもらうか、こちらである程度準備してあげるほうがよいでしょうね。

Linux環境さわりたいけど怖いって言う人、ぜひ使ってみてください。