cakePHP3開発環境を作る

cakePHP3でWEBサイト開発をしよう!とするとまずは自分のところに開発環境をつくるところから始めないといけません。通常、windows環境で作るケースも多いのかもしれませんが、WEB以外の処理などを考えるといろいろと難しいことも多いためLinux環境での開発がおすすめです。windowsのPCからは、vagrantで仮想環境を自分のPCに作ってしまうのが便利だと思いますので、今回はその辺のことをまとめていきます。

インストールなどの準備が必要なもの

  1. Oracle VirtualBOX
  2. vagrant
  3. teraterm

あとは設定です。

1.VirtualBoxインストール

Oracle Virtualboxは以下からダウンロードできます(英語サイトです)
[browser-shot url=http://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html?ssSourceSiteId=otnjp width=250 height=180 link=http://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html?ssSourceSiteId=otnjp
target=_brank]
http://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html?ssSourceSiteId=otnjp

2.Vagrantインストール

こちらも以下からダウンロードできます
[browser-shot url=https://www.vagrantup.com/downloads.html width=250 height=180 link=https://www.vagrantup.com/downloads.html target=_brank]https://www.vagrantup.com/downloads.html

3.teratermインストール

[browser-shot url=https://osdn.jp/projects/ttssh2/releases/ width=250 height=180 link=https://osdn.jp/projects/ttssh2/releases/ target=_brank] https://osdn.jp/projects/ttssh2/releases/

ここまできたら、windowsシェルを開いて設定をします

c: mkdir c:\usr
c: cd c:\usr
c:\usr vagrant init

これにより、Vagrantfileのデフォルトが作成されます。これをさらに追記します
以下は、私の例

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure(2) do |config|
  config.vm.box = "chef/centos-7.0"
  config.vbguest.auto_update = false

  config.vm.network :forwarded_port, guest: 22,   host: 2010, id: "ssh"
  config.vm.network :forwarded_port, guest: 44445, host: 4445, protocol: 'tcp'
  config.vm.network :private_network, ip: "192.168.33.15"
  config.vm.synced_folder "./", "/vagrant", mount_options: ['dmode=777', 'fmode=666']

  config.vm.provider "virtualbox" do |vb|
    vb.memory = "1024"
  end
  config.vm.provision :shell, :path =>"script.sh"
end

同じディレクトリにscript.shを作成して配置しておきます

#!/bin/sh

echo '--------------------------------------------'
echo 'set up start!'
echo '--------------------------------------------'
yum update
yum install epel-release
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
yum check-update
yum update
timedatectl set-timezone Asia/Tokyo

# SELinux
sudo setenforce 0
sudo getenforce

yum -y install gcc
yum -y install httpd vim
yum -y install mariadb mariadb-server
yum -y install php php-gd php-intl php-mbstring php-devel php-pdo php-xml php-pear php-mysql php-pdo
yum -y install git
yum -y install samba
yum -y install tmux

pecl install xdebug
pear install PHP_CodeSniffer-1.4.8
pear channel-discover pear.cakephp.org
pear install cakephp/CakePHP_CodeSniffer

echo '--------------------------------------------'
echo 'please set your ssh key file
echo 'and login centos7'
echo 'cake_install.sh'
echo '--------------------------------------------'

さらに、cake_install.shとして、以下を準備

#!/bin/sh

# DB
sudo systemctl enable mariadb.service
sudo systemctl start  mariadb.service
sudo mysql_secure_installation
systemctl enable httpd.service
systemctl start  httpd.service

cd /var/www
curl -s https://getcomposer.org/installer | php

mddir /var/www/adminer
cd /var/www/adminer
wget  http://downloads.sourceforge.net/project/adminer/Adminer/Adminer%204.2.1/adminer-4.2.1.php?r=http%3A%2F%2Fwww.adminer.org%2F&ts=1435924889&use_mirror=jaist
mv adminer-4.2.1.php?r=http:%2F%2Fwww.adminer.org%2F index.php

echo "-----------------------------------------------"
echo "Git flow install"
echo "-----------------------------------------------"
cd ~/
wget -q -O - --no-check-certificate https://github.com/nvie/gitflow/raw/develop/contrib/gitflow-installer.sh | bash

ここまで準備したら、再びwindowsのコンソールにて、

c:\> cd c:\usr
c:\usr> vagrant up

これで設定が始まります。最初はダウンロードに時間がかかります。

teratermからログインします。上記、vagrantfileの設定にて、ip=192.168.33.15にしてあります。ユーザー名とパスワードはvagrantです。こちらでログインできると思います。

コンソール上から、

~$ cp /vagrant/cakeinstall.sh ~/
~$ ./cakeinstall.sh

これで環境構築は終わり。
本当は、cakeinstall.shの中で、いろいろとやっているのですが、個別の設定情報なので省略です。

コメント

タイトルとURLをコピーしました