LoginSignup
2
2

More than 5 years have passed since last update.

MacにVagrantでCentOS+FuelPHPの環境を作成する(その4(おまけ). ローカルのFuelPHPを使う)

Posted at

CentOS側でFuelPHPをダウンロード(インストール)すると編集するのが面倒なので、ローカルに用意したFuelPHPを使う
ディレクトリ構成等はその3で作成したものをベースにする

実施環境

  • OS: OS X Yosemite (10.10.5)
  • Vagrant: 1.7.4
  • Virtualbox: 5.0.10 r104061
  • Ansible: 1.9.4

今回のゴール

ローカルのFuelPHPに加えた変更がVagrant側に反映される

今回の成果物

こちらに置いてあります

negibouze/vagrant-fuelphp_part4

1. ローカルにFuelPHPを用意する

今回は公式サイトからダウンロードしたzipをVagrantfileと同じ階層に展開
また、ディレクトリ名を「fuelphp-1.7.3」から「fuelphp」に変更

2. Vagrantfileを編集する

step1. ローカルのFuelPHPを同期させる

下記2行を追加

host.vm.synced_folder ".", "/vagrant"
host.vm.synced_folder "./fuelphp", "/srv/example/fuelphp", mount_options: ['dmode=777','fmode=666']

編集前

Vagrant.configure(2) do |config|

  config.vm.box = "puppetlabs/centos-6.6-64-nocm"
  config.vm.box_url = "https://vagrantcloud.com/puppetlabs/boxes/centos-6.6-64-nocm/versions/1.0.2/providers/virtualbox.box"

  config.vm.define :"web1" do |host|
    host.vm.hostname = "web1"
    host.vm.network :private_network, ip: "192.168.100.11", netmask: "255.255.255.0"
  end

  config.vm.provision "ansible" do |ansible|
    ansible.playbook = "provisioning/site.yml"
    ansible.inventory_path = "provisioning/hosts"
    ansible.limit = 'all'
  end
end

編集後

Vagrant.configure(2) do |config|

  config.vm.box = "puppetlabs/centos-6.6-64-nocm"
  config.vm.box_url = "https://vagrantcloud.com/puppetlabs/boxes/centos-6.6-64-nocm/versions/1.0.2/providers/virtualbox.box"

  config.vm.define :"web1" do |host|
    host.vm.hostname = "web1"
    host.vm.network :private_network, ip: "192.168.100.11", netmask: "255.255.255.0"
    host.vm.synced_folder ".", "/vagrant"
    host.vm.synced_folder "./fuelphp", "/srv/example/fuelphp", mount_options: ['dmode=777','fmode=666']
  end

  config.vm.provision "ansible" do |ansible|
    ansible.playbook = "provisioning/site.yml"
    ansible.inventory_path = "provisioning/hosts"
    ansible.limit = 'all'
  end
end

3. AnsibleのPlaybookを編集する

step1. webtier/tasks/fuelphp.ymlの編集

  • FuelPHPのダウンロード、および解凍は不要なので削除
  • example/fuelphpの存在有無によるチェックは使えないので削除

編集前

---
# install FuelPHP
- stat: path=/usr/local/src/fuelphp-1.7.3.zip
  register: fuelphp_zip
- name: download fuelphp1.7.3
  get_url: url=http://fuelphp.com/files/download/34 dest=/usr/local/src/fuelphp-1.7.3.zip
  when: not fuelphp_zip.stat.exists
- stat: path=/srv/example/fuelphp
  register: fuelphp
- name: create target directory
  command: mkdir -p /srv/example
- name: unzip fuelphp
  command: unzip -o /usr/local/src/fuelphp-1.7.3.zip -d /srv/example
  when: not fuelphp.stat.exists
- name: rename unzip directory
  command: mv fuelphp-1.7.3 fuelphp
  args:
    chdir: /srv/example/
  when: not fuelphp.stat.exists
- name: install oil
  shell: get.fuelphp.com/oil | sh
  when: not fuelphp.stat.exists
- name: refine install
  command: php oil refine install
  args:
    chdir: /srv/example/fuelphp
  notify: restart httpd
  when: not fuelphp.stat.exists

編集後

---
# install FuelPHP
- name: create target directory
  command: mkdir -p /srv/example
- name: install oil
  shell: get.fuelphp.com/oil | sh
- name: refine install
  command: php oil refine install
  args:
    chdir: /srv/example/fuelphp
  notify: restart httpd

4. 動作確認

step1. 仮想マシンを作成する

$ vagrant up

step2. 動作確認(編集前)

ブラウザで「192.168.100.11」を開いて下記画面が表示されればOK

welcome.png

step3. ローカルのFuelPHPを編集する

試しにfuelphp/fuel/app/views/welcome/index.phpを適当に編集

編集前

<div class="jumbotron">
  <h1>Welcome!</h1>
  <p>You have successfully installed the FuelPHP Framework.</p>
  <p><a class="btn btn-primary btn-lg" href="http://docs.fuelphp.com">Read the Docs</a></p>
</div>

編集後

<div class="jumbotron">
  <h1>ようこそ!</h1>
  <p>あなたはFuelPHPフレームワークのインストールに成功しました。</p>
  <p><a class="btn btn-primary btn-lg" href="http://docs.fuelphp.com">ドキュメントを読む</a></p>
</div>

step4. 動作確認(編集後)

ブラウザを更新して下記画面が表示されればOK
welcome2.png

2
2
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
2
2