LoginSignup
3
4

More than 5 years have passed since last update.

MacにVagrantでCentOS+FuelPHPの環境を作成する(その1. Vagrantfile(shell)で頑張る)

Last updated at Posted at 2015-11-24

実施環境

  • OS: OS X Yosemite (10.10.5)
  • Vagrant: 1.7.4
  • Virtualbox: 5.0.8 r103449

目標

Vagrantを利用して下記環境を構築する

  • OS: CentOS6.6
  • Server: Apache
  • PHP: PHP5.6
  • FuelPHP: FuelPHP1.7.3

今回のゴール

vagrant upだけでFuelPHPのWelcomeが表示できるようにする

今回の成果物

こちらに置いてあります
negibouze/vagrant-fuelphp_part1

1. 各ツールの準備(インストール済みの場合不要)

step1. Homebrewをインストールする

ターミナルで下記を実行

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

step2. Homebrew Caskをインストールする

$ brew install caskroom/cask/brew-cask

step3. VirtualBoxをインストールする

$ brew cask install virtualbox

step4. Vagrantをインストールする

$ brew cask install vagrant

step5. Vagrant-vbguest pluginをインストールする

$ vagrant plugin install vagrant-vbguest

2. Vagrantfileの作成

step1. 対象ディレクトリ配下で下記を実行

$ vagrant init

3. Vagrantfileの編集

step1. vm.boxを設定

今回はpuppetlabsのCentOS 6.6(64-bit)を使用
!Puppetは使わないので「nocm」

config.vm.box = "puppetlabs/centos-6.6-64-nocm"
# boxがない場合、インストール
config.vm.box_url = "https://vagrantcloud.com/puppetlabs/boxes/centos-6.6-64-nocm/versions/1.0.2/providers/virtualbox.box"

step2. $scriptを追記

$script = <<SCRIPT
  # 詳細は後で追加
SCRIPT

step3. provisionを追記

config.vm.provision "shell", inline: $script

ここまででこんな感じ

$script = <<SCRIPT
 # 詳細は後で追加
SCRIPT

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 "shell", inline: $script
end

4. $scriptに処理を追加

step1. Timezoneを変更

# timezone
cp -p /usr/share/zoneinfo/Japan /etc/localtime

step2. iptablesを無効にする

# remove all rules
/sbin/iptables -F
# iptables stop
/sbin/service iptables stop
# iptables off
/sbin/chkconfig iptables off

step3. httpd(apache)をインストールする

httpd.confは事前に用意しておく
!DocumentRoot とか編集しています

### apache install ###
# install httpd
yum install -y httpd
# cp local httpd.conf
cp -a /vagrant/httpd.conf /etc/httpd/conf/
# httpd restart
/sbin/service httpd restart
# enable launch settings
/sbin/chkconfig httpd on

step4. Gitをインストールする(やらなくても良い)

!FuelPHPをgitで持ってくるのをやめたためこの手順は不要でした(ここは時間がかかるのでやらない方が良いです)
* 多少古くても良い場合

yum install -y git
  • 最新版を入れる場合
### git install ###
# install dependency packages (temporariy install old version git)
yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-ExtUtils-MakeMaker git
cd /usr/local/src/
# download latest version
git clone https://git.kernel.org/pub/scm/git/git.git
# remove old version
sudo yum remove -y git
cd git
# make
make prefix=/usr/local all
make prefix=/usr/local install

step5. PHP5.6をインストールする

### php5.6 install ###
# install epel & remi
sudo rpm -Uvh http://ftp.iij.ad.jp/pub/linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
# install php & packages (& dependencies)
sudo yum install -y --enablerepo=remi --enablerepo=remi-php56 php php-common php-cli

step6. php.iniをコピーする

php.iniは事前に用意しておく
!date.timezone とか編集しています

# cp local php.ini
cp -a /vagrant/php.ini /etc/

step7. curlを更新する(やらなくても良い)

### ref: update curl ###
sudo rpm -Uvh http://www.city-fan.org/ftp/contrib/yum-repo/city-fan.org-release-1-13.rhel6.noarch.rpm
sudo yum install -y libcurl

step8. FuelPHPをインストールする

  • gitプロトコルが使える場合はこちらでいけるかも
$ oil create <project_name>
  • gitプロトコルが使えない場合
    !GitHubからcloneするとcomposer実行時にtokenが必要になる場合があるため、今回はzipをdownloadする
### FuelPHP install ###
# oil install
curl get.fuelphp.com/oil | sh

# create target directory
sudo mkdir -p /srv/fuelphp

# fuelphp1.7.3 download
cd /usr/local/src
sudo wget -O fuelphp-1.7.3.zip http://fuelphp.com/files/download/34
sudo unzip fuelphp-1.7.3.zip -d /srv/fuelphp
cd /srv/mercury
sudo mv fuelphp-1.7.3 fuelphp
cd fuelphp
sudo php oil refine install

step9. httpd(apache)を再起動する

# httpd restart
sudo service httpd restart

5. 動作確認

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

$ vagrant up

step2. 動作確認

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

3
4
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
4