3
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

vagrantでPHPのローカル開発環境を構築する

Last updated at Posted at 2019-10-05

#はじめに
初めて記事を更新します。文章を書くのはあまり得意ではないので
分かりにくいところが多々あると思いますがご容赦ください。

現在、Webエンジニアを目指してスクールで勉強しています。
今回はvagrantでPHPの動作環境を一から構築したので
備忘録の意味もこめて投稿します。

#環境について

  • windows10
  • VirtualBox バージョン 6.0.12
  • Vagrant バージョン 2.2.5
  • box追加済み(os名:centos64)

参考:
ドットインストールのvagrant入門:Vagrantとはなにか?
[ドットインストールのvagrant入門:vagrantbox.esを使ってみよう]
(https://dotinstall.com/lessons/basic_vagrant/24103)

#vagrant立ち上げまで
コマンドプロンプトを立ち上げて、以下のコマンドを実行します。
作成したフォルダ内でOSを立ち上げます。

コマンドプロンプト
mkdir [フォルダ名]
cd [フォルダ名]
vagrant init centos64
vagrant up
vagrant ssh

#httpインストールとおまじない
何をしているか、正直ちゃんと理解していないためおまじないと書きました。
ただ試したところ、おまじないを打たないと正しく動かなかったので必須です。

ssh接続中
sudo yum -y install httpd
sudo service httpd start
sudo chkconfig httpd on
sudo service iptables stop
sudo chkconfig iptables off

参考:
ドットインストールのvagrant入門:仮想マシンに接続してみよう

#共有フォルダを作る
開発をしやすくするために必ず実行しましょう。
本来は、sshでOSに乗り込んで(表現が間違っているかもしれません。すみませんがニュアンスで書きます)
フォルダ「var」配下の「www」配下の「html」内に「index.php」等のファイルを配置することで
ブラウザから参照することができるようになります。
しかし、いちいちコマンド内でファイルを編集するもしくは
テキストエディタで編集したのち、ファイルを指定配下に上書き保存するのは大変面倒です。
以下のコマンドを実行することでテキストエディタで編集したものを保存するだけでブラウザから参照することができるようになります。

ただし編集するファイルは指定の箇所に配置します。
先ほどOSを立てたフォルダ内で、「Vagrantfile」というファイルが存在するフォルダ内に保存してください。

ssh接続中
sudo rm -rf /var/www/html
sudo ln -fs /vagrant /var/www/html

参考:
ドットインストールのvagrant入門:共有フォルダを使ってみよう

#PHPもインストールする

ssh接続中
sudo yum -y install php

#Vagrantfileを編集する
sudo vi [ファイル名]で編集モードになりますが
上書き保存する際は、「esc」押下 → ":wq"入力 →「enter」押下をします。

ssh接続中
cd /vagrant
sudo vi Vagrantfile

「config.vm.network "private_network", ip: "192.168.33.10"」という一行がコメントアウトされているかと思います。
以下の通り、コメントアウトを外します。

Vagrantfile
  # config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1"

  # Create a private network, which allows host-only access to the machine
  # using a specific IP.
  config.vm.network "private_network", ip: "192.168.33.10"

#httpd.confを編集する

以下のコマンドでhttpd.confの編集モードに入ります。
私はこのファイルをなかなか見つけることができなかったので、頑張って探しましょう。
一度ルートディレクトリまでのぼってから以下のコマンドを実行するなど、試してみてください

ssh接続中
sudo vi /etc/httpd/conf/httpd.conf

下記の通り記述されている箇所を探してください。結構下のほうです。

http.conf
# If the AddEncoding directives above are commented-out, then you
# probably should define those extensions to indicate media types:
#
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz

下の通り、二行を追加してください。
最後は、「esc」押下 → ":wq"入力 →「enter」押下で上書き保存します。

http.conf
# If the AddEncoding directives above are commented-out, then you
# probably should define those extensions to indicate media types:
#
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

#vagrantを再起動する
とても大切なので忘れずに実行しましょう。

ssh接続中
exit

SSH接続を抜けたあとに、そのまま以下のコマンドを実行します。

コマンドプロンプト
vagrant reload

#ブラウザで表示してみる
OSを立てたフォルダのVagrantfileの存在する場所に、「index.php」を作成し、
下画像の通り、phpを記述します。
キャプチャ_1.PNG

ブラウザで「192.168.33.10/index.php」を開きます。
キャプチャ.PNG

みごと開くことができました。

#最後に
ドットインストールを参考にして構築したため、内容がだいぶ似ていますが
PHPで記述してブラウザに表示させるのは大変苦労しました。

ぜひ参考にしてもらえると嬉しいです。

3
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?