以前の記事で、LAMP/LEMP環境の仮想環境の構築の方法を紹介しました。
今回は、この環境を利用して、CakePHP3.6のLAMP/LEMP環境へのインストールの方法について紹介します。
環境
- CentOS 7.4
- PHP 7.2.7
- MySQL 5.7.22
- Apache 2.4.6(例としてnginx 1.12.2)
- CakePHP3.6.5
システム要件
CakePHP3を動かすためには、システム要件を満たさないといけません。
今回は、CakePHP3.6をインストールしますが下記のようなシステム要件となっています。
・HTTP サーバー。例: Apache。mod_rewrite が推奨されますが、必須ではありません。
・PHP 5.6.0 以上 (PHP 7.2 も含む)
・mbstring PHP 拡張
・intl PHP 拡張
・simplexml PHP 拡張
PHPバージョンの確認
$ php -v PHP 7.2.7 (cli) (built: Jun 20 2018 08:21:26) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.7, Copyright (c) 1999-2018, by Zend Technologies
拡張モジュールの確認
$ php -m | grep -e mbstring -e intl -e SimpleXML mbstring SimpleXML
私の環境では、intlがインストールされていなかったのでインストールします。
#導入可能なintl検索 $ yum list | grep intl $ sudo yum install -y php72-php-intl.x86_64
php.iniに下記のように設定します。
$ vi /etc/php.ini #追記 extension=php_intl.dll
Composerのインストール
CakePHP3系はComposerで基本的にインストールします。なので、Composerをインストールします。
新規登録する場合
#rootに $ sudo -i $ curl -sS https://getcomposer.org/installer | php $ mv composer.phar /usr/local/bin/composer $ exit $ composer --version
既にインストール済みの場合
$ composer self-update $ composer --version
CakePHP3.6のインストール
以下のコマンドを実行すると、必要なモジュールがダウンロードされ、指定した名前でCakePHPのプロジェクトが作成されます。
プロジェクトを作成するディレクトリで実行してください。
[プルジェクト名]は便宜変更してください。
$ composer create-project --prefer-dist cakephp/app [プロジェクト名]
指定したバージョンでプロジェクトを作成するには、以下のように指定します。(バージョン3.6を指定している例です。)
$ composer create-project --prefer-dist cakephp/app:3.6.* [プロジェクト名]
mkdir(): Permission denied
こんなエラーの出た方は、sudo chown user-name /var/www/html をCakePHPをインストールするフォルダに実行してください。
Failed to clone https://github.com/cakephp/app.git, git was not found, check that it is installed and in your PATH env.
こんなエラーが出た方は、sudo yum install git の実行をしてください。
WEBアプリケーションの設定
Apacheの場合
CakePHP3.6のインストールができました。
しかし、上記のようなCSSの設定がうまくされない画面が表示される場合があります。そのような際は、下記のような設定が、必要になります。
mod_rewriteが正しくロードされている事を確認
mod_rewriteが正しくロードされているか確認します。ロードされていない場合は、ロードされるよう設定します。
sudo vi /etc/httpd/conf.modules.d/00-base.conf
ファイルを開き、下記の内容のコメントを外すか、追加します。
LoadModule rewrite_module modules/mod_rewrite.so
AllowOverride に All が設定されている事を確認
httpd.confにDocumentRootに対して .htaccess による設定の上書きを許可されているか。確認します。
<Directory /var/www/html> Options FollowSymLinks AllowOverride All # Order deny,allow # Deny from all </Directory>
設定されていない場合は、 AllowOverrideにAllを設定してください。
Apacheの再起動
Apacheを再起動します。
systemctl restart httpd
ドキュメントルートの設定もしておくと良いと思います。
Nginxの場合
Nginxの場合は、下記のようにドキュメントルートの設定を行いましょう。
nginx.conf等のファイルを下記のように設定します。
server { 〜省略〜 root /var/www/html/cakephp365/webroot; index index.php; location / { try_files $uri $uri/ /index.php?$args; } 〜省略〜 }
ドキュメントルート(rootの設定)は、[プロジェクトのパス]/webrootを指定してください。
nginxの再起動
$ systemctrl restart nginx
上記のようなページが表示されるとCakePHP3.6のインストール成功です。
MySQLの設定
最後にMySQLの設定を行います。
を変更します。
'Datasources' => [ 'default' => [ ~ 'username' => 'my_app', //編集する 'password' => 'secret', //編集する 'database' => 'my_app', //編集する 'encoding' => 'utf8', 'timezone' => 'UTC', 'flags' => [], 'cacheMetadata' => true, 'log' => false,
これで、CakePHP3.6.5のインストールは終了です。
今回の記事では、CakePHP3.6をLAMP環境へインストールする方法について紹介しました。
CakePHP3系を使用し、何か開発しようと思っている方は、参考にしてください。