今日は我が家でRuby on Rails 勉強会を行いました。内容はRuby on Railsの開発環境の構築が中心でした。
まずは、仮想環境の構築から。
自分のPC上にソフトウェア開発環境を構築する際、新しい開発環境は古いバージョンとの相性が悪くて一部アンインストールしなければならない、そしたらこちらが動かなくなる。。。。全体が不安定になっちゃった!なんてことが起こりえます。そんなことを避けるため、PC上に仮想環境を構築し、その上に開発環境を構築します。
今回は仮想環境としてCentOSを立ち上げ、そこにRuby on Railsの開発環境を構築しました。
VirtualBoxとVagrantを使って仮想環境CentOSの構築を行います。バージョンは下記の通り。
- VirtualBox 5.0.18 for OS X hosts
- Vagrant 1.8.1
- CentOS 6.7
以下、手順です。
1. VirtualBoxのインストール
VirtualBoxは、無料の仮想化ソフトウェアです。PC上に仮想的なPCを作成し、別のOSをインストールして動かすことができます。MacでWindowsを動作させたり、Windows上でLinuxを動作させたりできます。
VirtualBoxを使う利点は、ハードウェアとソフトウェアの相性を気にせず環境構築ができること、マシンのリソースをオンデマンドで操作できること、作成した環境が配布しやすくなることです。
VirtualBoxのダウンロードサイトからダウンロードしてインストールします。私のPC環境はMac OS Xなので、今回はVirtualBox 5.0.18 for OS X hostsをインストールしました。
2. Vagrantのインストール
Vagrantは、簡単に言うと、仮想環境を操作するためのツールです。Vagrantでは設定ファイルVagrantfileを使って仮想環境の構築が行われます。そのため、とても簡単に仮想環境の構築、管理、配布が行えます。今回は、Vagrantを使って、VirtualBox上にCentOSを起動します。
VagrantはVagrant公式サイトのDownloadボタンから。今回はMac OS X向けをダウンロードし、Vagrant 1.8.1をインストールしました。
3. VagrantでVirtualBox上にCentOSを立ち上げる
PC上でターミナルを起動します。ホームディレクトリにVagrant用のディレクトリ(Vagrant)を作り、その中にCentOS用のディレクトリ(CentOS)を作ります。
mkdir -p Vagrant/CentOS
次に、Vagrantの初期化を行います。ディレクトリVagrant/CentOSに移動し、下記のコマンドを入力します。vagrant initは初期化コマンドです。bento/centos-6.7はBoxの名前です。Vagrantでは仮想環境をBoxとして管理します。ここでは構築したい環境とそのバージョン(bento/centos-6.7)を指定しています。bentoと付加することで、仮想環境のイメージのダウンロード、vagrantの初期化を行ってくれます。
cd Vagrant/CentOS
vagrant init bento/centos-6.7
初期化が成功すると、ディレクトリ内にファイルVagrantfileが作成されています。このファイルを開いて29行目のコメントアウトを解除します。これは、仮想環境のIPアドレスを固定するために行います。
ここまでで、仮想環境の立ち上げ準備の完了です。
下記のコマンドで、VirtualBox上にCentOSが起動します。
vagrant up
起動完了したら、仮想環境へsshログインしてみましょう。Vagrantからの場合、下記のコマンドでログインできます。
vagrant ssh
ログインできました。
仮想環境へのログインは先ほど設定した固定IPを指定してもログインできます。この時、ユーザ名はvagrant、パスワードも同じです。
ssh 192.168.33.10 -l vagrant
起動した仮想環境をシャットダウンするコマンドはvagrant halt。仮想環境の状態を確認するコマンドはvagrant statusです。
4. CentOS上に自分のアカウントを作る
ここから先は、必要な人だけ。立ち上げたCentOS上で開発を行う際に、ユーザ名vagrantで行う場合は必要ありません。
CentOSにログインし、下記のコマンドで、スーパーユーザになり、アカウントの作成(ここではyukaをusersグループに追加)、パスワードの設定を行います。
su -
adduser yuka -g users
passwd yuka
visudoで設定ファイルsudoersを変更します。これは、後々RubyとRailsの環境インストールの際にユーザyukaがroot権限を持てるようにするために行います。
visudo
下記はファイルの編集箇所です。
User_Aliasで先ほど作ったユーザ(yuka)を指定します。ADMINSにrootと同等の権限を付与します。
5. 仮想環境の構築は完了!
次はRuby on Railsの環境構築。これについては河野義広氏が記事にまとめてくれました。「CentOS 6.7にRails 4.2.6をインストールする手順」をご参照ください。