お正月はLinuxの勉強しようと思ってubuntuを触ってみたところ、Vagrantなるものを経由したほうが楽だということを知り、チャレンジしてみました。
Vagrant・VirtualBoxで仮想マシン内のubuntuに接続、ブラウザに表示させるまでの一連の流れをまとめます(けっこうハマったので・・・)。
前提
VagrantとVirtualBoxのインストールは終わっている状態からスタートします。
また、任意のBOX(今回はubuntu/trusty64)もインストールされている状態です。
ホストOS:手持ちのPC(今回はMac)
ゲストOS:仮想マシン
では、いきましょう!
ホストOS側
任意のディレクトリを作成
まずは好きな場所にディレクトリを作成し、ターミナルでそこに移動します。
mkdir //フォルダを作成
cd //移動
初期化
ディレクトリ内でVagrantを初期化しましょう。
vagrant init ubuntu/trusty64
vagrant init + 使用するboxの名前 とターミナルに入力することで、あらかじめインストールしてあるBOXを使うことができます。
Vagrantfileを編集
ここまででVagrantfileがディレクトリ内に作成されます
vi Vagrantfile
でファイルを編集。
config.vm.network :private_network, ip: "192.168.33.10" //コメントアウトを外す
編集が終わったら保存(read onlyだと言われたら :q!
)
起動させる
下準備ができたのでいよいよ動かしてみましょう。
コマンドは
vagrant up
です。
他のコマンドは以下の通り。
- vagrant status //稼働状況確認
- vagrant suspend //一時停止
- vagrant reload //再起動
- vagrant destroy //削除(仮想環境を削除。ローカルのVagrantfileは残る)
グローバルなVagrantのステータスを見る
vagrant global-status
このコマンドを使えば、どのディレクトリにいてもvagrantの稼働状況を見ることができます。
destroyしたいときも上記コマンドでidを確認できます。
仮想マシンに接続
vagrant ssh
で仮想マシンに接続!
仮想マシン内で
ここまでで仮想マシン内に入れたはずですので、次に進みましょう。
apacheサーバーインストール
sudo apt install apache2
コマンドでapacheをインストールします。途中 yes/noをきかれるのでyを入力。
サーバー スタート
無事インストールが終わったら
sudo service apache2 start
でサーバー をスタート。
この段階でVagrantfileでコメントアウトを外したポート(今回は192.168.33.10)に接続すると、Apache2 Ubuntu Default Page というデフォルトのページが表示されます。
サーバー 停止をするときは sudo service apache2 stop
ページを編集
htmlファイルは
cd /var/www/html
cdコマンドで階層(仮想マシン 内の)に移動。
sudo vi index.html
で編集できます。
ファイルの共有
仮想マシン内の共有ファイルの場所は、 /vagrant にあるので
cd /vagrant
で移動します。
ls で中を見てみると、init時に作成したVagrantfileが入っているのがわかります。
なので、この /vagrantをドキュメントルートに設定してゆきます。
デフォルトのhtmlファイルを削除
sudo rm -rf /var/www/html
シンボリックリンクを張る
sudo ln -fs /vagrant /var/www/html
/vagrant と、/var/www/htmlをリンクさせる。
これで、mac側でVagrantfileがあるディレクトリにindex.htmlファイル等を作成すると反映されます。
お疲れ様でした〜