MacにVagrantでローカル開発環境構築
Vagrantとは、違う環境に移行可能な開発環境を簡単に構築・管理し、配布することができる開発環境作成ツール。「ほんの数行書くだけで開発用の仮想マシンを構築できる」という優れものだ。
引用元:"Vagrant開発者 Mitchell Hashimoto氏に聞いた:「Vagrant」って何ぞ?(・o・) - @IT
インストール
Box(テンプレート)のインストール
A list of base boxes for Vagrant - Vagrantbox.esからインストールしたいboxをコピー
vagrant box list
とうつと、なにもなかったら下記のように表示されます。
There are no installed boxes! Use `vagrant box add` to add some.
今回はRelease CentOS 6.5 x86_64 Minimal (2014-01-16) · 2creatives/vagrant-centosをコピーしてみたいとおもいます。
vagrant box add centos65-x86_64-20140116 https://github.com/2creatives/vagrant-centos/releases/download/v6.5.3/centos65-x86_64-20140116.box
vagrant box add の後の名前は、init や listのときに自分がわかればなんでもいいっぽいです。 vagrant box listで追加されているか確認。
仮想マシンを初期化
仮想マシンを作成したいディレクトリに移動し、さっき付けたBoxの名前でvagrant init、 vagrantfileを作成します。
vagrant init centos65-x86_64-20140116
仮想マシンの起動
vagrant up
仮想マシンに接続する
vagrant ssh
sudo yum update
MySQLのインストール
sudo yum -y install mysql-server sudo service mysqld start sudo chkconfig mysqld on
httpdをインストール
sudo yum -y install httpd sudo service httpd start sudo chkconfig httpd on
ファイヤーウォールがあるといろいろめんどくさいらいいので切っておく。(よくわかってない)
sudo service iptables stop
再起動したときに立ち上がらなくする
sudo chkconfig iptables off
PHPのインストール
sudo yum -y install php
PHP5.4以上をインストールする場合 (※やろうとしたけどうまくいかなかったので、そういうBox選んだ方が吉)
yum install wget
参考:CentOS6のPHP5.3をPHP5.4に入れ替える - Qiita
exitして、下記のコマンドでvagrantの設定を確認できる。
vagrant ssh-config
ネットワークの設定
一旦、exitして、Vagrantfileを開きます。
# config.vm.network "private_network", ip: "192.168.33.10"
29行目ののコメントは外して、vagrant reloadで再起動。
vagrant reload
再度、vagrant ssh でログインして、http://192.168.33.10/をブラウザで見ると、Apacheの画面になっているかと思います。
Mac上で仮想マシンを作成したディレクトリにファイルを置いても表示されないのは、サーバーに反映されてないからのようで、Mac上でファイルを編集したらサーバーに反映されるように、/var/www/html へシンボリックリンクというものを貼ります。
vagrant ssh sudo rm -rf /var/www/html sudo ln -fs /vagrant /var/www/html
これで、仮想マシンを作成したディレクトリ直下に(Vagrantfileがある場所)に作成した index.html が表示されました。
サーバ : 192.168.33.10
ユーザ名 : vagrant
パスワード : vagrant
ドキュメントルート : /var/www/
実際にSFTP接続してファイルの関係を目視するとなんとなく理解できた気はします。
ひとまずここまでで、vagrant init したディレクトリに置いたファイルが、http://192.168.33.10/ でブラウザで確認できました。
Hostsの設定
ローカルで管理するサイトが増えてきたらHostを設定して、ドメインみたいにしておくと良いかと思います。
参考:Macのhosts編集はHostsが良さげ【Mac】 | Sou-Lablog
以上、しばらく経ってから読み返すともうなにをやってるのか意味がわかりません。
何回かupとかhaltしてるとエラーで立ち上がらなくなったりしたときの対処法
VBox一覧を表示
VBoxManage list -l hostonlyifs
いらなさそうなものを削除
VBoxManage hostonlyif remove vboxnet番号
するとupできたりします。
参考:vagrant - ローカル開発環境構築メモ1 - Qiita
参考:【Macで】 Vagrantで作った仮想マシンにPHP+MySQL+phpMyAdminの環境を導入する手順!(備忘録) | 偏差値35が挑戦するWEB業界への道
参考:Vagrant: + VirtualBox で仮想マシンを作成する | deadwood
参考:VagrantとVirtualBoxでの仮想環境構築(Windows版) - Qiita
参考:Vagrantのport forwardは普通に80 → 80に転送すればよいのでは - DQNEO起業日記