主に技術的なことを書くブログ

浅めにマークアップ&フロントエンドの技術的なことをメモしていましたが、ざっくばらんに書いています。

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

sshログインして、yumアップデート

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 が表示されました。

Vagrant 仮想マシンに SFTP 接続

サーバ   : 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起業日記