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/
今回は環境を作るところまで。
次回は公式のチュートリアル+αできればと思います。