魔法使いの卵

WEBエンジニアの卵の成長記録

モダンなPHP開発環境を作ってみる

今回用意するもの

目指すべきところ

  • 最新のものを使い開発を行うことができるようにすること
  • アーキテクチャーに関しては自分で考えれるようになること(なりたい)
  • 今回Nginxはリバースプロキシ等の設定は行わない(勉強不足の為)

VirtualboxVagrantを落としてくる

host側で開発用のディレクトリを作る

vagrant box add CentOS7 https://f0fff3908f081cb6461b407be80daf97f07ac418.googledrive.com/host/0BwtuV7VyVTSkUG1PM3pCeDJ4dVE/centos7.box
  • Boxの有無の確認

  • boxから設定ファイルを生成する

    • pwdを使ってCentOS7のディレクトリにいるか確認して以下コマンドを叩く
    • vagrant init CentOS7
    • Vagrantfileが生成されていたら成功
  • Vagrantfileのプライベートネットワークのコメントを外す

    • config.vm.network "private_network", ip: "192.168.33.10"
  • Vagrantfileで共通フォルダのパーミッションを切り替える

    • config.vm.synced_folder ".", "/vagrant", mount_options: ['dmode=777','fmode=755']
    • 'dmode'がディレクトリ、'fmode'がファイルのパーミッションのこと。
  • 仮想環境を起動する

  • 共通ファオルダがマウントされない場合は以下で手順で手動起動

  • 仮想環境につなげる

  • windowsの場合はcmdからできないためsshクライアントを用いると幸せになれる

    • その際、172.0.0.1の2222で接続する(up時に流れてくる。設定次第では変わってこともある。)
    • ID,Passともにvagrant

ゲストOS側の設定を行っていく

$ sudo rpm -Uvh http://ftp.iij.ad.jp/pub/linux/fedora/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
$ sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
  • PHP5.6のインストール
$ sudo yum install --enablerepo=remi --enablerepo=remi-php56 php php-opcache php-devel php-mbstring php-mcrypt php-mysqlnd php-phpunit-PHPUnit php-pecl-xdebug php-pecl-xhprof php-fpm
  • インストール後の確認

  • Vagrantfileでhostの設定を行う

raichel.hatenablog.com

  • Nginxを入れる

raichel.hatenablog.com

  • php-fpmの設定を行う

raichel.hatenablog.com

  • Nginxとphp-fpmを使いバーチャルホストの設定を行う

raichel.hatenablog.com

  • mysqlを入れて初期設定からユーザの作成までを行う

raichel.hatenablog.com

  • Laravel5.1が表示できない時はselinuxを殺す raichel.hatenablog.com

  • git-flowを入れる

raichel.hatenablog.com

以上で、とりあえず動かして開発することができるようになるよ。

感想

  • CentOS7からコマンドが変わってなれるまで発狂しそうだった
  • CentOS7とNginxを組み合わせる方法が知ってること前提の情報しかなくて禿げた
  • 環境を作って学んだことはソースを書いてる時はイメージしなかった全体を知るきっかけになった
  • ネットワークとかサーバとか。Serviceを載せて配信している裏側を知ることができた
  • モノを作る上で必要な知識が全体的に広く浅く知見としてたまった

CentOS6.x系は以下参照

raichel.hatenablog.com