cakePHP3でWEBサイト開発をしよう!とするとまずは自分のところに開発環境をつくるところから始めないといけません。通常、windows環境で作るケースも多いのかもしれませんが、WEB以外の処理などを考えるといろいろと難しいことも多いためLinux環境での開発がおすすめです。windowsのPCからは、vagrantで仮想環境を自分のPCに作ってしまうのが便利だと思いますので、今回はその辺のことをまとめていきます。
インストールなどの準備が必要なもの
- Oracle VirtualBOX
- vagrant
- 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の中で、いろいろとやっているのですが、個別の設定情報なので省略です。
コメント