vagrant
Pocket

今更感ありますが、ちょいちょい調べてるのでまとめ。

1. VirtualBoxのインストール

Virtual Box

2. Vagrant

Vagrant

3. Box追加

ここのサイトで公開されているいろんなBoxの中から選びます。

そして以下のコマンドでBoxを追加できます

vagrant box add 名前 URL

今回は以下のコマンドを打ってみます

vagrant box add centos64 http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v20130427.box

ちょっと時間かかりますが、box addが完了したら以下のコマンドを打って追加されたか確認します。

vagrant box list

4. Vagrant up

環境づくりの準備をすすめていきます。

まずは適当に作業をしていくフォルダを作り移動ます。

mkdir phptest && cd phptest

先ほど追加したbox名でvagrant initします。

vagrant init centos64

するとvagrantfileが作られます。

29行目あたりの以下のコメントを外します。

config.vm.network "private_network", ip: "192.168.33.10"

5. ssh接続・PHPの環境構築

まず、vagrant upします。

vagrant up

以下のコマンドでssh接続

vagrant ssh

apacheをインストール

sudo yum install httpd

PHPをインストール

sudo yum install php

起動時にWebサーバが自動で立ち上がるように設定

sudo service httpd start
sudo chkconfig httpd on

htmlを表示してみる

ssh接続したままの状態で以下のコマンドを打ちます。

cd /var/www/html

htmlファイルを作成・編集します。

sudo vi index.html

以下を書いてみます。

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  
</body>
</html>

書いたら「esc」→「:w」を打ってエンターで上書き、「:q」で終了できます。

そして以下にアクセスします。

http://192.168.33.10/

するとアクセスできませんと表示されるかと思います。

その場合はiptablesが外部からの通信を遮断しているのをストップします。

sudo service iptables stop

これでHello World!と表示されるはず。

毎回vagrant upのたびに遮断されるのを防ぐため以下のコマンドを打っておきます

sudo chkconfig iptables off

一旦以下のコマンドでssh接続を切っておきます。

exit

共有フォルダをつくる

このままだといちいちssh接続して編集しないとダメなので、ちょっと設定を変えます。

再びssh接続

vagrant ssh

以下のコマンドでvar以下をごっそり消します。

sudo rm -rf /var/www/html

以下にアクセスすると404になります。

http://192.168.33.10/

以下でシンボリックリンクの設定をします。

sudo ln -fs /vagrant /var/www/html

今度はVagrantfileがあるディレクトリにhtmlファイルを作ります。

再び以下にアクセスするとまた見れるようになっています。

http://192.168.33.10/

PHPを試してみる

先ほど作ったhtmlファイルの拡張子をphpに変更してみます。

以下にアクセスすると特に変わらずページを見れると思います。

http://192.168.33.10/

ちょっとPHPをつかってみます。

index.php

<?php
$msg = "Hello, PHP!";
?>


<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <h1><?php echo $msg; ?></h1>
</body>
</html>

Hello,PHP!と表示されるはず。

最後はssh接続を切って

exit

以下で終了

vagrant halt

PHPを動かすとこまで完了です。あとはMySQLとかも入れてみます。

Pocket

カテゴリー: タグ: