読者です 読者をやめる 読者になる 読者になる

WebEngine

web、プログラミング関係について書いていきます。あなたの優しい眼差しがブログの成長につながりますのでどうぞよろしく。

Vagrant + Ubuntu14.04 でLAMP環境構築

追記(2017.1.7)

  • 久々に見直したところ、step.5の工程が必要ないことに気づきました。必要ない方は飛ばしてもらって結構です。

Step.0 前提条件


Step.1 Vagrant上にUbuntuを導入

ターミナルから作業ディレクトリに移動。なければmkdirでつくります。

Vagrantbox.esから 使えそうなUbuntuを探しましょう。今回はこの

f:id:web-engine:20160618123238p:plain

https://github.com/kraksoft/vagrant-box-ubuntu を使用(MITライセンス)。Copyのボタンを押して、ターミナル(コマンドプロンプト)に戻ります。

vagrant box add ubuntu-test https://github.com/kraksoft/vagrant-box-ubuntu/releases/download/14.04/ubuntu-14.04-amd64.box

と打ち込んで実行。Copyボタンを押しているので、URL部分はコピーの方が早いです。
ubuntu-testの部分はボックスの名前ですが、自分のわかるものであれば好きな名前で 構いません。2、3個であれば問題ないですが、多くなってくると混乱します。間違えて違うボックスを 消してしまったりしないようにしましょう。

ボックスが追加されているか確認するには

vagrant box list

と打ち込みます。ubuntu-testと追加されていれば成功です。

続いて、作業用のディレクトリを作成し、その中に移動します。もちろん自分のつけたい名前でオーケイです。

mkdir ubuntu-test
cd ubuntu-test

そこまでできたら

vagrant init ubuntu-test

と入力。ubuntu-testの部分は自分のつけたディレクトリ名を打ち込ましょう。
ディレクトリ内にVagrantfileというファイルが作成されれば成功です。

次に、このVagrantfileを編集します。好みのエディタで開いて

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

という部分の#を外しましょう。
たいていは192.168.33.10だと思いますが、もし、ipの数字部分が違う人がいればメモするなり しておきましょう。

いよいよ仮想マシンを起動します。起動するには、Vagrantfileが存在するディレクトリ下で

vagrant up

と入力するだけです。起動したか確認するには

vagrant status

と打ち込みます。runningと表示されれば無事起動しています。

Macならばvagrant sshを使い、WindowsならばPuTTYかTeraTarmを 使って仮想マシンに接続します。このとき、ipの番号が書かれていたものと違っていた人は、書かれていた 番号を使って接続しましょう。

接続に成功するとユーザ名を聞かれます。ユーザ名はデフォルトでvagrantとなっています。 次にパスワードを聞かれますが、パスワードも同じくvagrantです。

無事入ることができたら少し休憩でもしましょう。
仮想マシンを切断するにはexit
仮想マシンを止めるにはvagrant suspendvagrant haltを使います。


Step.2 UbuntuLAMP環境を整える

ぼくもちょっと前まではapachePHPというふうに一個一個入れていたんですが、ubuntu では少量のコマンドでLAMP環境を整えることができることを最近知りました。ちょっとショック。

sudo apt-get update
sudo apt-get install tasksel
sudo tasksel install lamp-server

途中MySQLのrootユーザのパスワード入力を求められるので、入力します。

インストールが終わったら、次のコマンドで本当に入っているか確認します。

apache2 -v
php -v
mysql --version

Step.3 apache2の動作確認

sudo /etc/init.d/apache2 start

とコマンドを入力し、ブラウザのアドレスバーに192.168.33.10 を打ち込みます。It works!と書かれたページが表示されれば apache2が問題なく動作している証拠です。

ちなみに終了するときは
sudo /etc/init.d/apache2 stop です。


Step.4 MySQLの動作確認

mysql -u root -p と入力して、インストールのときに入力したパスワードを打ち込みます。 ログインできればMySQLのインストールにも成功しています。


Step.5 PHP動作確認の前に

※ step.5は別にやらなくても良いです
ただ、これをやっておくと、mac上から仮想環境ををいじれるようになります。

仮想マシンapacheが探索するのは/var/www/htmlです。 いちいちsudoを打っていてはたまらないのでシンボリックリンクを作成します。シンボリックリンク とはターミナル上のショートカットのようなものです。

やり方としては、最初に/var/www/に移動して、存在するhtmlを削除します。
追記:これもいらない。htmlを削除する必要はありません。シンボリックリンクを張るだけで良いです。

cd /var/www
sudo rm -r html

次に/vagrant上にhtmlディレクトリを作成し、シンボリックリンクをつくります。

mkdir html
sudo ln -s /vagrant/html /var/www/html

さあ、いよいよ最後にPHPの動作チェックをして終わりです。


Step.6 PHPの動作確認

htmlディレクトリ(つくってない方は /home/vagrant下で良いです)にもぐって、適当なPHPファイルを作成します。今回は test.phpというファイルを作成しました。

<?php
  echo "Hello,PHP!";
?>

続いて以下のコマンドでPHPサーバを立ち上げます。

php -S 192.168.33.10:8000

ポート番号(:8000の部分)は予約されたものでなければ好きな番号で いけるはずです。

ブラウザから

192.168.33.10/test.php

でアクセスして表示されれば、きちんと動作しています。


これまでの過程が面倒くさいと思った方

上はScotch Box、下はchefを利用しています。


参考サイト