CakePHP4の環境を作ってみる

CakePHP4の環境を作ってみる

こんにちわ。kyamashitaです。

最近触ってなかったですが、CakePHPが4になっていたので、環境作ってみようと思いました。

前回 はDockerで作りましたが、今回はVirtualBoxのCentOS8に作ってみます。

CentOS8

まずはVirtualBoxにCentOS8を こちら からダウンロードしてインストールします。

初回起動時にアップデートとSELINUXを無効にして再起動します。

# dnf -y update

# vim /etc/selinux/config
SELINUX=disabled

# reboot

MariaDB

MariaDBをインストールしCake用のデータベースとユーザーを作っておきます。

# dnf -y install mariadb-server mariadb

# vim /etc/my.cnf.d/mariadb-server.cnf
...
[mysqld]
character-set-server = utf8mb4
...

# vim /etc/my.cnf.d/client.cnf
...
[client]
default-character-set = utf8mb4
...

# systemctl start mariadb
# systemctl enable mariadb

ルートユーザーのパスワード設定

# mysql_secure_installation
 enter > Y > passowrd > enter > enter > enter > enter

Cake用のデータベースとユーザー作成

# mysql -uroot -p
> CREATE DATABASE cake;
> CREATE USER cake@localhost IDENTIFIED BY "cake";
> GRANT ALL PRIVILEGES ON cake.* TO cake@localhost;

以下で接続できることを確認します。

# mysql -uroot -p
password

# mysql -ucake -Dcake -p
cake

Apache、PHP

Apache、PHPをインストールします。

# dnf -y install httpd php php-mbstring php-intl php-xml php-json php-pdo php-mysqlnd

# systemctl start httpd
# systemctl enable httpd

# firewall-cmd --list-all
# firewall-cmd --get-services
# firewall-cmd --add-service=http --zone=public --permanent
# firewall-cmd --reload
# firewall-cmd --list-all

CakePHP

CakePHPをインストールします。

まずはcomposerをインストールします。

# php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
# php -r "if (hash_file('sha384', 'composer-setup.php') === 'e0012edf3e80b6978849f5eff0d4b4e4c79ff1609dd1e613307e16318854d24ae64f26d17af3ef0bf7cfb710ca74755a') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
# php composer-setup.php --install-dir=/usr/local/bin
# mv /usr/local/bin/composer.phar /usr/local/bin/composer
# php -r "unlink('composer-setup.php');"
# composer self-update

Cakeのアプリを作成します。

# cd /var/www/html/
# composer create-project --prefer-dist cakephp/app:4.* myapp

設定ファイルを変更します。

# cd myapp
# vim config/app.php
'Datasources' => [
  'default' => [
    'className' => 'Cake\Database\Connection',
    'driver' => 'Cake\Database\Driver\Mysql',
    'persistent' => false,
    'host' => 'localhost',
    'username' => 'cake',
    'password' => 'cake',
    'database' => 'cake',
    'encoding' => 'utf8mb4',
    'timezone' => 'UTC',
    'cacheMetadata' => true,
  ],
]

# vim config/app_local.php
'Datasources' => [
  'default' => [
    'host' => 'localhost',
    'username' => 'cake',
    'password' => 'cake',
    'database' => 'cake',
    'url' => env('DATABASE_URL', null),
  ],
]

以下にアクセスしCakePHPアプリが作成されていることを確認します。

http://{ゲストOSのIP}/myapp/

今回は環境を作るところまで。

次回は公式のチュートリアル+αできればと思います。

  • このエントリーをはてなブックマークに追加

この記事を読んだ人にオススメ