はじめに
ここでは以下の最短手順を紹介する。作業環境は、全てターミナル or コマンドプロプトで行う。
- Vagrantのセットアップ
- LAMP環境のインストール
- ブラウザで表示を確認
前提
以下がマシンに既にインストール済みであること。
僕の環境は、virtualBox(5.0.32)、Vagrant(1.9.1)だが、最新バージョンでも手順は変わらないはず。
- VirtualBox
- Vagrant
1. Vagrant Setup
ここでは、Ubuntsu 16.04を使う。
Ubuntsu 16.04のBoxを追加
vagrantにUbuntsu 16.04を登録。
vagrant box add xenial64 https://atlas.hashicorp.com/ubuntu/boxes/xenial64/versions/20160521.0.0/providers/virtualbox.box
Boxに追加されているか確認
Ubuntsu 16.04が追加されていたら、xenial64 (virtualbox, 0)
が出力される。
vagrant box list
仮想環境を構築したいディレクトリへ移動
cd なんとか
ディレクトリをvagrantで初期化
仮想環境を構築するディレクトリへ移動が終わったら、Ubuntsu 16.04で初期化。(フロントエンドでいう、npm initみたいなイメージ)
vagrant init xenial64
が完了すると、Vagrantfileという設定ファイルが生成されていることが確認できる。
vagrant init xenial64
OSを起動する
その後、Vagrantfileと同じディレクトリで、vagrant up
コマンドを打つと、Vagrant上のUbuntsuOSが立ち上がる。
vagrant up
これでPCの中にUbuntsuの仮想環境ができた。
しかし、この状態はOSが立ち上がっただけで、中身は空っぽ。(初めて買ったばかりのPCに、chromeやAdobeが入っていないのと同じイメージ)
このままでは、Webサーバーとしては使えないため、ApacheやPHP, MySQL等(LAMP環境)をインストールする。
2. LAMP環境の構築
ここからは立ち上げたUbuntsuで作業をする。
Vagrantfileがあるディレクトリまでターミナル or コマンドプロンプトで移動
sshログイン
vagrant ssh
LAMP(Apache, MySQL, PHP)環境をインストール
MySQLのパスワードを聞かれるので、任意のパスワードを指定。
sudo apt-get install tasksel
sudo tasksel install lamp-server
CURLとPHPの拡張をインストール
sudo apt-get install curl php-curl php-mcrypt php-mbstring php-gettext
sudo apt-get install zip
PHPの拡張を有効化
sudo phpenmod mcrypt
sudo phpenmod mbstring
sudo a2enmod rewrite
Apacheの再起動
sudo systemctl restart apache2
ここまでやると、LAMP環境が構築できた。設定の更新するため、sudo systemctl restart apache2
を行う。いったんexit
コマンドでsshログインから抜ける。
ブラウザからアクセスして確認する。
そのままでは、ブラウザから確認できない。
Vagrantfileを編集する
Vagrantfileの以下をコメントアウトして、ブラウザからのアクセスを許可する設定に変更
# config.vm.network "private_network", ip: "192.168.33.10"
↓ コメントアウト
config.vm.network "private_network", ip: "192.168.33.10"
Vagrantfileを更新したので、更新を反映させる
vagrant reload #Vagrantの設定をリロード
以下でもOK。
vagrant halt #Vagrant停止
vagrant up #Vagrant起動
ブラウザからhttp://192.168.33.10 へアクセス
成功していたら、以下のようなページが表示される。