PHPと比べてすぐに使えるわけではないCakePHP。これから使いたい!という方は多分この最初の設定に手こずったり、自分のローカル環境じゃなくてレンタルサーバー環境でやりたい。でもどこの使ったらいいのかわからない…みたいな感じで、ズルズルできずになるパターン多いんじゃないかなと思います。(自分含めて。)
ということで、この章ではレンタルサーバー選びからまず失敗しないように確実にセットアップできるエックスサーバーと設定方法について「ものすごくわかりやすく!!!」をテーマに設定完了まで記事にしてみました。
このページの終わりには「Hello!World!」が出せるところまで行きますよー。
目次
まずはサーバーを契約!CakePHPセットアップに欠かせない条件は?
自分のパソコンをローカル環境するのであれば、サーバーを契約する必要はありません。
ではなぜサーバーを契約して行うのか?
メリットとして下記がまず上げられます。
・サーバーの環境が既にできあがっているのでCakePHPの初期設定以外の手間を削減出来る。
・他のパソコンからでも接続できる。
・CakePHPでプロジェクトを作って運営したい場合、すぐに公開出来る。
これらのメリットはローカル環境では難しく、CakePHPを手軽に勉強したいという方はかなり大きいメリットかなと。ただサーバーを契約する時にどんなサーバーでも良いというのではなく、初期設定を簡単にする場合には下記の条件が必要となります。
・MySQLのサーバーが使えること。
・SSH接続ができること。
MySQL自体はロリポップ!もさくらもあるのですが、二番目のSSH接続が出来ないのが問題となります。
なぜエックスサーバーであればCakePHPを簡単に設定できるのか。
CakePHP3からは初期設定を行う時にComposerというパッケージ管理システムを使用する必要があります。
PHP一本でしてきた方なら「<?php ?>書いたらすぐ出来るようにして欲しい。」と思われるかもしれませんがCakePHPを使うのであればこのComposerを飛ばすことは出来ないのです。
そしてComposerを使う方法としてサーバーにFTP接続ではなくSSH接続で行う必要があります。
エックスサーバーを使用する理由としてはSSH接続が一番安いプランでも利用することができ、なおかつ独自SSLによるドメイン登録が複数できるため(しかも無料!)、他のサイトでも利用することができるからです。
サーバー自体はX10プランで、大丈夫なのでまずはエックスサーバーでこのプランを契約しましょう。(勉強用に費用を抑えたい方は3ヶ月のプランでOK。)
エックスサーバーでまずはSSH接続してみよう!
さてエックスサーバーを契約したら次はSSH接続を行う番です。SSH接続に「何かコマンド打たないといけない。怖い…!」みたいな印象を持っている方。
大丈夫です!この記事通りにそのまましていけば多くのプログラムを打つこともエラーに悩まされることもありません。
まずはサーバーパネルにログインして、SSH設定というボタンをクリックします。
続いて、SSH設定画面の状態がOFFになっていると思うので、ONにします。
これでSSH接続が使える状態になったので、次は同じ画面から「公開鍵認証用鍵ペアの生成」へ進みます。
パスフレーズを何でも良いので入力して、「公開鍵認証用の鍵ペア生成(確認)」ボタンをクリックします。
確認画面が出たら「公開鍵認証用の鍵ペア生成(確定)」をクリック。
次に出たこの画面でkeyファイルのダウンロードが始まります。このkeyファイルというのはSSH接続した時に公開鍵とペアであることがわかり、他の方も接続できないようにする大切なファイルとなります。
保存先はどこでも良いのですが、今後もSSH接続するときは必ず使うものになるので普段ファイルを削除しやすいデスクトップ以外とかにしておきましょう。
FTP接続するときにFFFTPやFileZillaを使うようにSSH接続する時にそれ用のソフト(SSHクライアントといいます。)を使用する必要があります。
そのソフトというのが、無料で使用できるTeraTerm。SSH接続するならこれ!というぐらい代表的なソフト(無料でしかも使える!)となるので、下記リンクからTeraTermをダウンロードしましょう。
TeraTerm
(最新版のEXEファイルをダウンロードすればOK!)
ダウンロードしたら設定→SSH認証をクリックします。
この画面が出たらRSA/DSA/ECDSA/ED25519鍵を使うをクリック。
次に秘密鍵というボタンをクリックしてダウンロードした先ほどのKEYファイルを選択します。
そうしたら次はファイル→新しい接続をクリック。
ホスト名にエックスサーバーの初期ドメインを入力。
(ホスト名はFTP接続の時にも使用する同じものでOKです。)
TCPポートは10022にして、SSH、バージョンはSSH2を選択。
この時にTCPポートが初期の22のままだといつまで経っても接続されないのでご注意を。
そうすると新しくこの画面が表示されます。
ユーザー名には【エックスサーバーのサーバーID】を入力して、パスフレーズは先程入力したパスワードをいれます。
「RSA/DSA/ECDSA/ED25519鍵を使う」は既にファイルが設定されているはずなので、OKをクリックします。
それが出来たら。。。
この画面が表示されます。どうでしょうか、簡単でしょ。
超簡単!エックスサーバーでCakePHPを初期設定する流れ
ここからはより簡単になります。
おそらくTeraTermでSSH接続する方が手間もあって面倒くさかったはずなので。
では行きましょう。
1.サーバー内にCakephpをインストールするフォルダを作成。
まずはCakePHPをインストールするには専用のフォルダが必要となります。
例えば「ドメイン名/cakephp」というアドレスで接続させたい場合はcakephpというフォルダを作成する必要があります。
ドメイン名だけで接続させたい!という場合は不必要ですがそうではない場合、FTPソフトで接続して任意のフォルダを作成しましょう。
2.コピペするだけ!Composerをインストール
さあ次はTertTermを使います。といっても使うのはcdコマンド and コピペのコードだけ。
まずはcdコマンドで先程作ったフォルダに移動します。
例:cd /フォルダ名
ちなみにTeratermでの接続時には、現在いる場所がルートフォルダとなります。その為、先程作ったフォルダに接続するにはドメイン名が「cakephp-start.org」としたら
となります。
フォルダに移動できたら、下記のコードをコピペして貼り付けて下さい。
そうするとComposer.pharがフォルダ内に出来て使えるようになりました。コードコピペだけでいけるのです。すんごい簡単!!
3.これも打つだけ!プロジェクトを作成
Composerが使えるようになったら、CakePHPのプロジェクトを作っていきます。
のコマンドを叩いて、Enterをクリック。
これでプロジェクトを作成することが出来ました。もうほんとあと少し!
4.APP.phpファイルを作ろう
ComposerでCakePHPをインストール出来たら設定ファイルとなるAPP.phpを作らなければいけません。
これがないとCakePHP使えないのです。
方法としてはcdコマンドでまずはプロジェクトがあるフォルダへ移動。
続いて「 composer update 」を入力してEnter。
更に「 composer install 」してEnterすると自動的にApp.phpファイルが生成されます。
さあここまでいけば後は設定完了の画面が出るのを見るだけです!
「ドメイン名/プロジェクト名」のURLをブラウザで入力しましょう。
5.さあ、この画面が出たはずです。
そうすると、この画面が出てきたかと思います。
これがCakePHPを接続できた証拠となるページとなります。
MySQLの設定をしていないので、いくつかエラーが出ていますがこの画面が出ればまずは一安心。
環境を手に入れたのでCakePHPを学び始めましょう!
新しい言語を学ぶ時に、一番最初のハードルが初期設定。
でもこのやり方であれば確実に早くCakePHPの環境を手に入れることができます。そうすればチュートリアル本はもちろん、ガイド系のWEBサイトのあれやこれも試すことが出来ます。
このサイトでは他にもCakePHP初心者に向けてガイド系の記事もどしどし書いてまいりますので、一緒に勉強してPHPだけじゃないフレームワークも使える技術者としてレベルを上げていきましょう。
ではでは。