本記事では、XSERVERにCakePHPをインストールする方法をまとめています。
ここに記載されている内容を読むことで、スムーズにXSERVERにCakePHPをインストールすることができるようになります。
前提条件
XSERVERにSSH接続が出来ることが前提となります。
まだ、SSH接続の設定が済んでいない場合には、こちらのページを参考にしてください。
CakePHPのインストール手順
インストール先の設定
インストール先の設定を行います。
本記事の例では、下記のサブドメインで動作するようにインストールをいたします。
インストール先のディレクトリに移動します。
CakePHPが動作するディレクトリを「apl」とします。
1 |
mkdir apl |
Composerのインストール
下記のコマンドを実行し、Composerをインストールします。
1 2 3 4 5 6 7 |
curl -sS https://getcomposer.org/installer | php All settings correct for using Composer Downloading... Composer (version 1.8.0) successfully installed to: /home/xxxxxxx/prettytabby.com/public_html/sandbox/apl/composer.phar Use it: php composer.phar |
下記のコマンドを実行し、プロジェクトを作成します。
プロジェクトの作成
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
php composer.phar create-project --prefer-dist cakephp/app Installing cakephp/app (3.1.2) - Installing cakephp/app (3.1.2): Downloading (100%) Created project in /home/xxxxxx/prettytabby.com/public_html/sandbox/apl/app Loading composer repositories with package information Updating dependencies (including require-dev) Package operations: 36 installs, 0 updates, 0 removals - Installing aura/installer-default (1.0.0): Downloading (100%) - Installing cakephp/plugin-installer (1.1.0): Downloading (100%) - Installing nesbot/carbon (1.13.0): Downloading (100%) - Installing mobiledetect/mobiledetectlib (2.8.33): Downloading (connecting...Downloading (100%) - Installing psr/log (1.0.0): Downloading (100%) - Installing aura/intl (1.1.1): Downloading (100%) - Installing ircmaxell/password-compat (v1.0.4): Downloading (100%) - Installing cakephp/cakephp (3.1.14): Downloading (100%) - Installing symfony/polyfill-ctype (v1.10.0): Downloading (100%) - Installing symfony/yaml (v2.8.49): Downloading (100%) - Installing symfony/debug (v2.8.49): Downloading (100%) - Installing symfony/polyfill-mbstring (v1.10.0): Downloading (100%) - Installing symfony/console (v2.8.49): Downloading (100%) - Installing symfony/filesystem (v2.8.49): Downloading (100%) - Installing symfony/config (v2.8.49): Downloading (100%) - Installing robmorgan/phinx (v0.6.5): Downloading (100%) - Installing cakephp/migrations (1.6.7): Downloading (100%) - Installing symfony/var-dumper (v2.8.49): Downloading (100%) - Installing nikic/php-parser (v2.1.1): Downloading (100%) - Installing jakub-onderka/php-console-color (v0.2): Downloading (connecting..Downloading (100%) - Installing jakub-onderka/php-console-highlighter (v0.4): Downloading (connecDownloading (100%) - Installing dnoegel/php-xdg-base-dir (0.1): Downloading (100%) - Installing psy/psysh (v0.9.9): Downloading (100%) - Installing jdorn/sql-formatter (v1.2.17): Downloading (100%) - Installing symfony/process (v2.8.49): Downloading (100%) - Installing symfony/finder (v2.8.49): Downloading (100%) - Installing seld/phar-utils (1.0.1): Downloading (100%) - Installing seld/jsonlint (1.7.1): Downloading (100%) - Installing justinrainbow/json-schema (5.2.7): Downloading (100%) - Installing composer/xdebug-handler (1.3.1): Downloading (100%) - Installing composer/spdx-licenses (1.5.0): Downloading (100%) - Installing composer/semver (1.4.2): Downloading (100%) - Installing composer/ca-bundle (1.1.3): Downloading (100%) - Installing composer/composer (1.8.0): Downloading (100%) - Installing cakephp/debug_kit (3.9.3): Downloading (100%) - Installing cakephp/bake (1.1.4): Downloading (100%) cakephp/app suggests installing phpunit/phpunit (Allows automated tests to be run without system-wide install.) cakephp/app suggests installing cakephp/cakephp-codesniffer (Allows to check the code against the coding standards used in CakePHP.) symfony/console suggests installing psr/log-implementation (For using the console logger) symfony/console suggests installing symfony/event-dispatcher symfony/var-dumper suggests installing ext-symfony_debug psy/psysh suggests installing ext-pdo-sqlite (The doc command requires SQLite to work.) psy/psysh suggests installing hoa/console (A pure PHP readline implementation. You'll want this if your PHP install doesn't already support readline or libedit.) cakephp/debug_kit suggests installing ext-sqlite (DebugKit needs to store panel data in a database. SQLite is simple and easy to use.) Writing lock file Generating autoload files > Cake\Composer\Installer\PluginInstaller::postAutoloadDump |
プロジェクトが無事に作成されると、下記のメッセージが表示されます。
app.phpファイルの作成
プロジェクトの作成が完了すると、必要な設定ファイル郡ができています。
これらのファイルに定義されているデフォルトのままの設定情報を、変更していきます。
下記のコマンドを実施し、デフォルト値の設定を変更していきます。
1 2 |
cd app/config cp app.default.php app.php |
ここまでの変更を実施し、ブラウザから下記のURLでアクセスすると、作成したプロジェクトのトップページ画表示されます。
1 |
http://sandbox.prettytabby.com/ |
ここで表示された画面では、エラーが発生している状態となっています。
データベースや、セキュリティーに関する設定が、デフォルト値のままで、それらのリソースにアクセスできていないことが原因となっています。
app.phpファイルの変更
下記の部分を必要に応じて修正します。
Datasources
修正前
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
'default' => [ 'className' => 'Cake\Database\Connection', 'driver' => 'Cake\Database\Driver\Mysql', 'persistent' => false, 'host' => 'localhost', /** * CakePHP will use the default DB port based on the driver selected * MySQL on MAMP uses port 8889, MAMP users will want to uncomment * the following line and set the port accordingly */ //'port' => 'nonstandard_port_number', 'username' => 'my_app', 'password' => 'secret', 'database' => 'my_app', 'encoding' => 'utf8', 'timezone' => 'UTC', 'cacheMetadata' => true, 'log' => false, |
修正後
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
'default' => [ 'className' => 'Cake\Database\Connection', 'driver' => 'Cake\Database\Driver\Mysql', 'persistent' => false, 'host' => 'mysqlxxxx.xserver.jp', ※XSERVER上で作成した、hostを設定 /** * CakePHP will use the default DB port based on the driver selected * MySQL on MAMP uses port 8889, MAMP users will want to uncomment * the following line and set the port accordingly */ //'port' => 'nonstandard_port_number', 'username' => 'cakephp_user', 'password' => 'cakephp_pass', 'database' => 'cakephp_test', 'encoding' => 'utf8', 'timezone' => 'UTC', 'cacheMetadata' => true, 'log' => false, |
Security
修正前
1 2 3 |
'Security' => [ 'salt' => '__SALT__', ], |
修正後
1 2 3 |
'Security' => [ 'salt' => '__SALT__SALT__', ※適当な文字列に変更する ], |
.htaccessファイルの作成
下記の場所に、.htaccess ファイルを作成します。
1 2 3 |
RewriteEngine on RewriteRule ^$ app/webroot/ [L] RewriteRule (.*) app/webroot/$1 [L] |
.htaccess ファイルについては、こちらの記事も参考にして下さい。
インストール完了後の画面
ここまでの設定が正しく行われている場合には、下記の画面が表示されます。
これで、CakePHPの環境は出来上がりとなります。
どんどんとアプリケーションを作成していきましょう♪
その他
サブドメイン毎にCakePHPをインストールする場合
CakePHPでは、インストール先のディレクトリを指定出来ます。
そのため、サブドメイン毎に、CakePHPをインストールすることも可能です。
インストール先を一ヶ所にまとめて、ディレクトリ単位に、各サブドメインにシンボリックリンクで対応付ける方法もあります。
この場合、運用面など十分に考えて、CakePHPを複数箇所にインストールするのかを検討して下さい。
参考にしたサイト
本サーバーにインストールする際に、下記のサイトを参考にさせていただきました。