エックスサーバーでCakePHP4をcomposerからインストールする方法
XSERVERでのウェブ開発は多くの方に選ばれていますが、CakePHPを始めたばかりの方や、サーバー設定が得意でない方にとっては、少し難しく感じることもあるでしょう。そこで、この記事では、XSERVERにCakePHPをインストールする方法を、わかりやすくゆっくりと説明していきます。
実は、適切な手順で進めば、それほど難しくはありません。記事内では、視覚的にも分かりやすいスクリーンショットや、サンプルコードを交えて、皆さんが迷わず進めるようにサポートします。初心者の方でも、心配せずに取り組むことができる内容となっています。
CakePHP4が動作する環境を準備する
CakePHP4をインストールする前に色々環境を整える必要があります。
どこかのディレクトリに作業用ディレクトリを作成してください。
今回はdeployディレクトリを作成してその中で作業します。
/home/sample/sample.com/deploy
エックスサーバー内のモジュールが古かったりするのでCakePHP4が動作するバージョンのPHPやcomposerをセットアップします。
前提条件
phpのバージョン変更
コマンドラインのPHPのバージョンは、コントロールパネルから設定したPHPのバージョンが適用されません。
現在のPHPバージョンを確認します。
[sample@sv737 ~]$ php -v
PHP 5.4.16 (cli) (built: Nov 1 2019 16:04:20)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
with Zend OPcache v7.0.5, Copyright (c) 1999-2015, by Zend Technologies
PHP5.4.16はCakePHP4はサポートしていません。PHP8.0以上まで上げる必要があります。
下記コマンドを実行してPHP8.xのバージョンのPHPがあるかをチェックします。
[sample@sv737 ~]$ ls -ltr /usr/bin/php8*
lrwxrwxrwx 1 root root 23 9月 5 11:53 /usr/bin/php8.0 -> /opt/php-8.0.30/bin/php
lrwxrwxrwx 1 root root 27 9月 5 11:53 /usr/bin/php8.0-cgi -> /opt/php-8.0.30/bin/php-cgi
lrwxrwxrwx 1 root root 27 9月 5 11:53 /usr/bin/php8.1-cgi -> /opt/php-8.1.22/bin/php-cgi
lrwxrwxrwx 1 root root 23 9月 5 11:53 /usr/bin/php8.1 -> /opt/php-8.1.22/bin/php
lrwxrwxrwx 1 root root 26 9月 5 11:53 /usr/bin/php8.2-cgi -> /opt/php-8.2.9/bin/php-cgi
lrwxrwxrwx 1 root root 22 9月 5 11:53 /usr/bin/php8.2 -> /opt/php-8.2.9/bin/php
PHP8.1とPHP8.2があるようです。今回はPHP8.1をターゲットに設定を進めたいと思います。
デフォルトだとPHP5.4のバージョンを見に行ってしまうので、独自にパスを作成してPHP8.1を見るように設定します。
# ディレクトリ作成
$ mkdir ~/bin
# ディレクトリ移動
$ cd ~/bin
# シンボリックリンク作成
$ ln -s /opt/php-8.1.22/bin/php php
シンボリックリンクが作成できるかlsコマンドで確認します。
[sample@sv737 bin]$ ls -ltr
合計 2796
lrwxrwxrwx 1 sample members 23 10月 15 15:21 php -> /opt/php-8.1.22/bin/php
作成したパスを見てもらう必要があるので「bash_profile 」ファイルを修正します。
優先的に独自の設定を見てもらう必要があるので下記のように修正します。
# ファイルを開く
$ vi ~/.bash_profile
# 修正箇所
#PATH=$PATH:$HOME/bin
PATH=$HOME/bin:$PATH
修正後は必ず設定を更新するコマンドを実行してください。
$ source ~/.bash_profile
PHPのバージョンを確認します。PHP8.1に変更になっていることを確認してください。
[sample@sv737 ~]$ php -v
PHP 8.1.22 (cli) (built: Aug 15 2023 11:02:44) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.22, Copyright (c) Zend Technologies
composerのバージョン変更
次にCakePHP4をインストールするために必要なcomposerの設定をおこないます。
エックスサーバーのデフォルトとしてすでにインストールされていますがバージョン(1.9.1)が古いです。
[sample@sv737 ~]$ composer -V
Composer version 1.9.1 2019-11-01 17:20:17
composerの公式サイトに案内の通りにcomposerをインストールします。
# 公式サイトのコマンドを実行してください
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'e21205b207c3ff031906575712edab6f13eb0b361f2085f1f1237b7126d785e826a450292b6cfd1d64d92e6563bbde02') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
bin配下にcomposerを移動させます。
mv composer.phar ~/bin/composer
composerのバージョンが最新になったか確認します。
[sample@sv737 ~]$ composer -V
Composer version 2.6.5 2023-10-06 10:11:52
version 2.6.5と表示されているのでこれで最新を見るようになりました。
CakePHP4のインストール
準備が整ったのでCakePHP4をインストールします。
# 作業ディレクトリに移動
$ ~/sample.com/deploy
# cakePHP4インストール(プロジェクトフォルダ作成なし)
$ composer create-project --prefer-dist cakephp/app:"4.*" .
ご自身のgitからCakePHP4をクローンする場合は下記を実行します。
# 作業ディレクトリに移動
$ ~/sample.com/deploy
$ git clone [リポジトリのURL] .
CakePHP4のファイル群が存在するか確認します。
[sample@sv737 deploy]$ ls -ltr
合計 236
drwxr-xr-x 6 sample members 135 10月 15 11:50 webroot
drwxr-xrwx 5 sample members 64 10月 15 11:50 tmp
drwxr-xr-x 4 sample members 96 10月 15 11:50 tests
drwxr-xr-x 8 sample members 114 10月 15 11:50 templates
drwxr-xr-x 6 sample members 111 10月 15 11:50 src
drwxr-xr-x 2 sample members 30 10月 15 11:50 resources
drwxr-xr-x 2 sample members 30 10月 15 11:50 plugins
-rw-r--r-- 1 sample members 1029 10月 15 11:50 phpunit.xml.dist
-rw-r--r-- 1 sample members 234 10月 15 11:50 phpstan.neon
-rw-r--r-- 1 sample members 207 10月 15 11:50 phpcs.xml
-rw-r--r-- 1 sample members 649 10月 15 11:50 index.php
-rw-r--r-- 1 sample members 2103 10月 15 11:50 composer.json
drwxr-xr-x 2 sample members 96 10月 15 11:50 bin
-rw-r--r-- 1 sample members 1878 10月 15 11:50 README.md
-rw-r--r-- 1 sample members 212785 10月 16 00:36 composer.lock
drwxr-xr-x 31 sample members 4096 10月 16 00:37 vendor
drwxr-xrwx 2 sample members 10 10月 16 00:37 logs
drwxr-xr-x 3 sample members 254 10月 16 00:37 config
あとは公開ディレクトリにrsyncコマンドなどを使ってファイルを展開します。
$ rsync -av --exclude='.git' --exclude='config/app_local.php' ~/sample.com/deploy/ ~/sample.com/public_html/
上記のrsyncは「config/app_local.php」ファイルは反映しないように除外していますが初回のみ反映するようにしてください。公開ディレクトリ側でデータベースの設定等をおこなってください。
コントロールパネルからPHPの設定を確認
コンソール側はPHP8.1の設定を行いましたが、コントロールパネル側も8.1になっているか確認します。
最後に
エックスサーバーでCakePHP4をインストールする方法を紹介しました。
エックスサーバーのバージョンが古いため、適切なバージョンに切り替える作業が発生しますが、エックスサーバーでもCakePHP4は問題なく動作します。
コメント
コメントを残す