CakePHP3をインストールしてみる

CakePHP3をインストールしてみる。

サーバーの準備

VagrantでCentOS7を用意する。

mac$ vi Vagrantfile
Vagrant.configure(2) do |config|
  config.vm.box = "bento/centos-7.1"
  config.vm.network "private_network", ip: "192.168.33.10"
  config.vm.network "forwarded_port", guest: 80, host: 8080
  config.vm.synced_folder ".", "/vagrant", mount_options: ['dmode=777', 'fmode=666']
end
mac$ vagrant up
mac$ vagrant ssh

ルートになって必要そうなパッケージをインストールしていく。

$ su -
# yum -y install epel-release

Apacheをインストール。

# yum -y install httpd
# rm -df /var/www/html
# ln -s /vagrant /var/www/html
# sed -i -e 's/AllowOverride None/AllowOverride All/g' /etc/httpd/conf/httpd.conf
# systemctl enable httpd
# systemctl start httpd

PHPをインストール。

# yum -y install php php-pdo php-mysqlnd php-intl php-mbstring
# sed -i -e 's/;date.timezone =/date.timezone = Asia\/Tokyo/g' /etc/php.ini
# systemctl restart httpd

MariaDBをインストール。

# yum -y install mariadb mariadb-server
# systemctl enable mariadb
# systemctl start mariadb

終了。

# exit

CakePHP3のインストール

Composerをインストールする。

$ cd /vagrant
$ curl -sS https://getcomposer.org/installer | php

ComposerでCakePHP3をインストールする。 しかし、なぜか途中で止まってしまう。

$ php composer.phar create-project --prefer-dist cakephp/app sample
・・・
> Cake\Composer\Installer\PluginInstaller::postAutoloadDump

よく分からないが、とりあえずComposerで続きをインストールし、app.phpの作成とsaltの設定を行う。

$ cd /vagrant/sample
$ php ../composer.phar install
・・・
> App\Console\Installer::postInstall
Created `config/app.php` file
Set Folder Permissions ? (Default to Y) [Y,n]? y
Updated Security.salt value in config/app.php

データベースを用意し、

$ mysql -u root -e "CREATE DATABASE sample;"
$ mysql -u root -e "CREATE DATABASE test_sample;"

app.phpに設定する。

$ vi config/app.php
・・・
   'Datasources' => [
        'default' => [
            ・・・
            'username' => 'root',
            'password' => '',
            'database' => 'sample',
        ・・・
        'test' => [
            ・・・
            'username' => 'root',
            'password' => '',
            'database' => 'test_sample',
・・・

以上で、 http://localhost:8080/ にアクセスすると、CakePHP3のページが表示される。