• 投稿日:2023年06月09日 10時43分44秒
  • 更新日:2023年06月09日 10時43分45秒
CakePHPの環境を構築する

CakePHPの環境を構築する

詳細

Composerをインストール

cakePHPの環境構築に推奨(?)されているComposerというPHPのパッケージ管理システムをインストールします。

composerのインストール方法は公式からコピペします。

apt install php8.0-cli php8.0-mbstring php8.0-xml php8.0-intl php8.0-mysql

cd ~

#これ以降はcomposerの公式を参考に
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '906a84df04cea2aa72f40b5f787e49f22d4c2f19492ac310e8cba5b96ac8b64115ac402c8cd292b8a03482574915d1a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

途中のcdコマンドは、composerからファイルをダウンロードするのでわかりやすくするためです。不要な方であれば好きに変えてください。

上記コマンドを実行し終わると「composer.phar」ファイルが出来上がっています。
これをphpと同じ場所に置いてコマンド実行できるようにします。

mv ./composer.phar $(dirname $(which php))/composer && chmod +x "$_"

composer --version

これでバージョン情報などが返ってきたらOKです。

トピック:古いphpを既定にしていたのでエラーが出た

環境構築しているサーバは、分け合ってphp7.1を既定にしていました。そのためcomposerがインストールできませんでした。

そこで一旦新しいphpに切り替えましたので、切替コマンドを紹介します。

update-alternatives --config php

composerを使いcakePHP4.Xでプロジェクトを作成

cd [プロジェクトディレクトリを作成するディレクトリ]
composer create-project --prefer-dist cakephp/app:4.* [プロジェクト名]

上記コマンドを打つと色々聞かれます。ここでは(よくわからなかったので)全てyとしました。

ここまででプロジェクトが作成されました。cakePHPサーバを実行することで確認できます。

cakePHPサーバは既定ではlocalhoat:8765です。

bin/cake server

curl http://localhost:8765

使用するDBをMySQLにする

標準がsqLiteっぽいです。
MySQLが使い慣れているので変更します。

cd [プロジェクト名]

nano config/app.php

DBに関する記述を以下のようにします。
当然ですがusernameなども環境に合わせてものに変更してください。

'Datasources' => [
    'default' => [
        'className' => Connection::class,
        'driver' => Mysql::class,

Nginxをproxyサーバとして利用する

confファイルを作成します。
プロジェクト名のところはドメイン(サブドメイン)名だったりもしますが、この時は開発環境だったのでこうなっています。

sudo nano /etc/nginx/sites-available/[プロジェクト名].conf
upstream backend {
    server localhost:8765 weight=1;
}

server {
	listen 50601;
	server_name _;
	root [プロジェクトディレクトリ]/webroot;
	index index.html index.html index.nginx-debian.html index.php;

	location / {
	    #try_files $uri $uri/ =404;
	    proxy_pass http://backend;
	}


	location ~ \.php$ {
	    try_files $uri =404;
	    include fastcgi_params;
	    fastcgi_pass unix:/var/run/php/php8.0-fpm.sock;
	    fastcgi_index index.php;
	    fastcgi_intercept_errors on;
	    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
	}
}

最後にconfファイルを有効にしてNginxを再起動します。

ln -s /etc/nginx/sites-available/[プロジェクト名].conf

systemctl reload nginx.server

SPECIAL THANKS

  1. CakePHPでプロジェクト作成〜Webサーバを起動するまでの手順 -Zenn-
  2. ubuntuでのComposerインストール方法を簡潔に -Qiita-
  3. -COMPOSER-
  4. -CakePHP-
無料でサイトをSSL化する
CakePHPの環境を構築する
UbuntuにNginx, MySQL, php をインストールする
Ubuntuに古いphp7.1をインストールする
UbuntuにNodejsとComposerをインストール
Nginx環境でWordPressのパーマリンクを変更したら404になる対応