2017.06
02

エックスサーバでcygwinを使ってcakephp3の環境構築


SSH接続の設定

①サーバーパネルからSSHの設定をONにする

②サーバーパネルのSSH設定で公開鍵認証用の鍵ペア生成処理を実行

③ダウンロードされた鍵「(サーバID).key」をcygwinの./sshに移動する

$ mv ダウンロードフォルダのパス/(サーバID).key ~/.ssh

④リネームする

$ mv (サーバID).key ~/.ssh/id_rsa

⑤パーミッションを変更する

$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/id_rsa

⑥SSHログイン

$ ssh -l (サーバID) -p 10022 (サーバID).xsrv.jp

ここでパスフレーズを聞かれるので入力。
以上でログイン完了。

PHPバージョンの切り替え

①PHPのバージョンを変更する

サーバーパネルにログインし、「PHP Ver.切替」をクリック。
その後使いたいバージョンを選択する。今回は7.1.2を使用。

②SSHでのPHPバージョンを変更する

サーバーパネルで切り替えてもSSHログインしてバージョンをチェックしても切り替わっていないので、以下の方法で切り替える。

③使用できるPHPバージョンを調べる

$ find /opt/php-*/bin -type f -name 'php'

④PHPのシンボリックリンクを作成する

$ mkdir $HOME/bin

まず、home直下にbinディレクトリを作成する

$ ln -s /opt/php-7.1.2/bin/php $HOME/bin/php

その後、phpを変更する。バージョンは7.1.2を使用。

⑤パスを通す

homeディレクトリにある.bash_profileを書き換え、binディレクトリが優先されるようにする。
・変更前 PATH=$PATH:$HOME/bin
・変更後 PATH=$HOME/bin:$PATH

⑥変更されたか確認する

$ php -v

変わっていない場合はcygwinを一旦終了し、SSHログイン後に再度バージョンチェックする。

composerのインストール

①ディレクトリの作成

$ mkdir composer

②ディレクトリへ移動

$ cd ./composer

③composerをダウンロード

$ curl -sS https://getcomposer.org/installer | /usr/bin/php7.1

「successfully installed to: (作成したディレクトリのパス)/composer.phar」が表示されればOK。
PHPのバージョンはサーバのバージョンに合わせる。今回は7.1.2を利用するので「/usr/bin/php7.1」を指定。
composer.pharがインストールされるます。composerと打ってインストール確認したいのでリネームします。

④ホーム直下にディレクトリを作成

$ mkdir ~/bin

⑤composer.pharの移動と名前変更

$ mv composer.phar ~/bin/composer

⑥動作テスト

$ composer

と打って
composer

と出ればOK。

cakephp3のインストール

①ログイン後、public_htmlに移動する

②cakephpをインストール

$ composer create-project --prefer-dist cakephp/app +ディレクトリ名

作ったディレクトリにアクセスし以下の画像が表示されていればOKです。
引き続き設定を行います。

③デバッグモードの変更

黄色背景で「Please be aware that this page will not be shown if you turn off debug mode unless you replace src/Template/Pages/home.ctp with your own version.」という注意文が出てきます。これを翻訳に突っ込むと「src/Template/Page/home.ctpを独自のバージョンに置き換えない限り、デバッグモードをオフにすると、このページは表示されません。」とあるので、書き換えるみたいですね。とりあえず無視。開発終了後にデバッグモードをオフにします。

④データベースの接続

/app/config/app.phpのデータベース設定で、以下を変更

'host' => 'localhost'
↓
'host' => '	mysql◯◯.xserver.jp'

ホストはサーバーパネルのMySQL一覧から確認できます。

⑤タイムゾーンの変更

'timezone' => 'UTC',
↓
'timezone' => '+09:00',

/app/config/app.php

date_default_timezone_set('UTC');
↓
date_default_timezone_set('Asia/Tokyo');

/app/config/bootstrap.php

⑥ドキュメントルートへのリダイレクト設定

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule    ^$    (②で作ったディレクトリ名)/webroot/    [L]
    RewriteRule    (.*) (②で作ったディレクトリ名)app/webroot/$1    [L]
</IfModule>

以上で大体OK。

参考URL

http://vdeep.net/xserver-ssh
http://zen6a.hateblo.jp/entry/2016/02/25/005623
http://rensaba.mugen-loop.net/plan/xserver/article-6.html

備忘録(調べている時に気になったもの)

①carbon(日付操作ライブラリ)
http://zen6a.hateblo.jp/entry/2016/02/25/005623

②シンタックスハイライト - Prism.js
https://tech.cmd08.com/wordpress-prism-js-shortcode

ホームページを持ちたいあなたへ フリーランスという選択肢はいかがでしょう?

ページトップへ戻る