AWSのEC2でCakePHPをインストール・設定する方法

このQ&Aのポイント
  • Amazon Web ServiceのEC2でインスタンスを生成し、CakePHPをインストールして使えるようにする方法について解説します。
  • 既にApacheやPHP、MySQLはインストール済みで、CakePHPはローカルのPCにダウンロードしてEC2にアクセスしています。
  • ドキュメントルート以下にlibを置きたくなく、confにてドキュメントルートを設定していますが、ブラウザからのアクセスでエラーが発生しています。設置場所や設定についてご教授いただけると助かります。
回答を見る
  • ベストアンサー

awsのec2にてcakephpインストール・設定

amazon web serviceのec2でインスタンスを生成し、cakephpをインストールして使えるようにしたいと思っております。 すでに、apacheやphp、mySQLはインストール済みで、cakePHPをローカルのPCにダウンロードして、winSCPにてec2にアクセスしています。 ドキュメントルート以下にlibを置きたくなく、色々と調べまして現在は /home/○○○/app lib plugins などを置いていまして、confにてドキュメントルートを /home/○○○/app/webroot と設定してあります。 これで、ブラウザから http://○○○.jp/ でアクセスしたところ、 Warning: strtotime(): It is not safe・・・ というエラーが発生しました。 そこで、php.iniの date.timezone = を date.timezone = ‘Asia/Tokyo’ と変えてみてapacheを再起動しましたが、同じエラーが表示されてしまっています。 cakePHPのファイルを置く場所がいけないのでしょうか? それとも、設定で何か不備があるのでしょうか?? お分かりになられる方、いらっしゃいましたらご教授のほどお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
noname#259146
noname#259146
回答No.1

Warningの内容が不明なのですでに設定済みかもしれませんが cakeのapp/config/core.phpで以下の行のコメントアウトを外してください。 date_default_timezone_set(‘UTC’)

yama-maron
質問者

お礼

funcubeさん ご回答、ありがとうございます! こちらの問題、終了し忘れていて申し訳ないのですが、当方ですでに問題解決しております。 せっかくご回答いただいたところ、大変申し訳ございません。

関連するQ&A

  • CakePHPのコントローラの作成

    PHP初心者です。 CakePHPをインストールし試しにTestControlerを作成したのですが、ページが開きません。 PageNotFoundになります。 考えられる原因が分かれば教えて下さい。 【やったこと】 ・ [CakePHP root]\app\Controller に TestController.php を作成。 <?php App::uses('AppController', 'Controller'); class TestController extends AppController { } ・ URLにアクセス http://[CakePHP root]/Test ⇒ Not Found http://[CakePHP root]/test ⇒ Not Found http://[CakePHP root]/app/webroot/index.php?url=test ⇒ CakePHPのindex.phpが表示される。 http://[CakePHP root]/app/webroot/index.php?url=Test ⇒CakePHPのindex.phpが表示される。 以下のサイトを参考にしました。mod_rewriteが動いていない可能性がある ということなので、URL直接指定もしてみましたがダメでした。 http://codezine.jp/article/detail/768?p=2 よろしくお願いします。

    • ベストアンサー
    • PHP
  • CakePHPを使ってみました。

    CakePHPを使ってみました。 PHPでFrameWorkを初めて使います。CakePHPのサイトから展開したディレクトリを配置するのはドキュメントルートでなければいけないのでしょうか? httpとsslでドキュメントルートを変えているのですが、これは、例えばhttpのドキュメントルートのみ、展開したCakePHPのディクトリを配置した場合、ssl用のドキュメントルート配下はCakePHPが使えないということになりますか? もし、そうなる場合はssl用のドキュメントルート配下にも展開したCakePHPのディレクトリを配置しなければいけないのでしょうか? ご教授お願いします。

    • ベストアンサー
    • PHP
  • CakePHP のディレクトリの構成について

    現在 CakePHP を勉強しています。 最初から壁にぶち当たってしまいました。 参考にしているサイトの内容は以下のようになっているのですが apps/app1 と www/app1 の関係がよくわかりません。 シロート的なイメージとして、CakePHP では apps/app1 で色々と作成したものが(自動的に)www/app1 に複写される。 そしてブラウザからのアクセスは www/app1 になる???? そんなイメージなのですが、その辺を含めて勘違いしていると思います。 この2つのディレクトリの意味と用途?を教えてもらえないでしょうか? +/home/example ・・・ ホームディレクトリ   |   +cake ・・・ cake ディレクトリ   |   +apps ・・・ CakePHPで作成するアプリケーション用ディレクトリ   | |   | +app1 ・・・ CakePHPで作成するアプリ1のappディレクトリ   | | |   | | +config, docs, libs, scriptsディレクトリとファイル   | |   | +app2 ・・・ CakePHPで作成するアプリ2のappディレクトリ   |   |   |   +config, docs, libs, scriptsディレクトリとファイル   |   +www ・・・ ウェブで公開されるディレクトリ(DocumentRoot)     |     +app1 ・・・ CakePHPで作成するアプリ1 の webroot     |     +app2 ・・・ CakePHPで作成するアプリ2 の webroot     |     +other ・・・ CakePHP以外のアプリを使う場合のディレクトリ

    • ベストアンサー
    • PHP
  • cakephp コントローラにドメインでアクセス

    cakephp2.6.4、サーバはamazon aws ec2(linux)を使用しております。 /home/test/lib/test1/controllers/test_controller.php のindexアクションに対して、取得したドメインでアクセスしたいと思っております。 現在、サーバのバーチャルホストの設定で、 ドキュメントルートにコントローラのパスを指定しておりますが、 Internal Server Errorと表示されてしまいます。 以下、設定内容です。 ※取得したドメインは、仮にhogehoge.comとさせていただきます。 <VirtualHost *:80> DocumentRoot /home/test/lib/test1/controllers/test_controller.php ServerName hogehoge.com </VirtualHost> 今回のような場合、どのようにしたらよいかお分かりの方いらっしゃいましたら、 ご教授のほどよろしくお願い致します。

    • ベストアンサー
    • PHP
  • さくらインターネットにCakePHPをインストール

    さくらインターネットにCakePHPをインストールしようとしたのですが、どうやっても画面が開かず、ネットでもさんざん調べたのですが解決できなかったので質問いたします。 まずは開発中のサイトを公開しようとサーバーにアップロードしたのですが、400 Forbiddenや403 Bad Request画面がが出てしまい先に進めませんでした。app/webrootのindexに直接アクセスすると画面は真っ白な状態になります。 そこで、アクティブで使っていないドメインがあったのでそちらに何も手を加えていないまっさらなCakePHPをインストールしてみました。ダウンロードして解凍しただけのものですので、CakePHPのマニュアルで言えば「3.3.1 開発(Development)」と同じ状況だと思います。 ここで同じように、 http://www.example.com/cake_1_3/ にアクセスすると、400 Bad Requestが出てしまいました。 また http://www.example.com/ にアクセスすると、403 Forbiddenが出てしまいます。 さらに http://www.example.com/cake_1_3/app/webroot/index にアクセスしてみたところ、今度は真っ白な画面ではなく500 Internal Server Errorが出てしまいました。 .htaccessを見直してみたのですが、ほかの人と見比べてもとくに違いはありませんし、何が間違っているのかもはや見当もつきません。もし、何か手がかりになる情報をご存じの方がいらしたらご教示いただけますでしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • cakephpのデフォルトのページ設定

    cakephp初心者です。 色々なサイトのインストール手順を見て、 apacheでドキュメントルートを設定した、 /var/www/html/cakephpとして、cakephpのファイルを配置しました。 ブラウザからアクセスすると http://localhost/cakephp/自分の作成したディレクトリ というアクセス方法になります。 今は自宅の仮想サーバに入れていますが、もし外部のサーバに入れてドメイン名がついた場合、 http://ドメイン名/cakephp になってしまいますよね? http://ドメイン名 で、/var/www/html/cakephpにアクセスできるようにするには、 どのようにしたらいいのでしょうか。 現在、 http://ドメイン名 を打つと、cakephpのデフォルトの Release Notes for CakePHP 2.5.8. がタイトルのページが表示されています。 ここをデフォルトのページではなく、こちらで用意したViewのctpファイルを表示させてControllerで制御したいのです。

    • 締切済み
    • PHP
  • CakePHPの .htaccess設定について

    CakePHPをVPSで構築したサーバー(Linux)にインストールしました。 .htaccess(mod_rewrite)の設定がうまくいっていないようなので対処の方法を教えてください。 [環境] PHP 5.3.3 Apache 2.3.3 CakePHP 1.3.15 mod_rewriteが動いてるのはチェック用のプログラムで確認しました。 controllerとViewファイルを作り、文字の表示は成功しています。 フォームの実験を行った時にフォーム送信後のURL表示がうまくいっていません。(get/post共に) [書籍を参考にしたプログラム] Sampleコントローラーを作り、Viewの中にSampleディレクトリを作りその中にindex.ctpファイルを設置。フォームにテキストを入力して送信ボタンを押すと、テキストが表示されるプログラムです。 [コントローラー]sample_controller.php class HelloController extends AppController { public $name = 'Hello'; public $uses = null; public $layout = "hello"; function index(){} function sendForm(){ ~フォームで送られたテキストを表示(プログラムは省略)~ } } [index.ctp]のフォームのHTML <form method="post" action="./sendForm"> ~省略~ <input type="submit" /> </form> http://www.example.com/sampleでフォームを開きテキストを入力して送信ボタンを押すと http://www/example.com/sample/sendForm というURLになるはずなのですが、 http://www.example.com/sendForm となってしまいます。 試しにブラウザから「http://www/example.com/sample/sendForm」というURLを入力してみますと、フォームで入力したデータは表示されませんが、ページ自体は表示されます。 もう一つ、index.ctpの<form method="post" action="./sendForm">のアクションのパスを /sample/sendForm に変更してみますとデータも表示され、求めた結果になります。 以前、別の環境でこのプログラムを動かしたときは、<form method="post" action="./sendForm">のままでうまくいったので、.htaccessのファイルの設定に問題があると予想されます。 下記にcakePHPの設定情報を記載しますので、間違っている部分を指摘していただければと思います。 ※ディレクトリの構成は下記のページの「3.4.3. 高度なセットアップ:その他のインストール方法」を参考にしています。 http://cakephp.jp/old_doc/ch03s04.html [アプリケーションディレクトリ] /home ____/me ________/mysite ____________/config ____________/controllers ____________/models ____________/plugins ____________/tmp ____________/vendors ____________/views ____________index.php ____________.htaccess→「htaccessファイル1」● [公開ディレクトリ] /var ____/www ________/html ____________/example.com→ドキュメントルート _______________/css _______________/files _______________/img _______________/js _______________.htaccess→「htaccessファイル2」● _______________css.php _______________favicon.ico _______________index.php [コアファイルディレクトリ] /usr ____/lib ________/cake ____________/cake ________________/config ________________/docs ________________/libs ________________/scripts ________________app_controller.php ________________app_model.php ________________basics.php ________________bootstrap.php ________________dispatcher.php ____________/vendors ____________/plugins ____________index.php ____________.htaccess→「htaccessファイル3」● 「htaccessファイル1」(アプリケーション) -------------------------------------------------- <IfModule mod_rewrite.c> RewriteEngine on   RewriteBase /cake/app→■追加  RewriteRule ^$ webroot/ [L] RewriteRule (.*) webroot/$1 [L] </IfModule> ------------------------------------------------- 「htaccessファイル2」(公開) -------------------------------------------------- <IfModule mod_rewrite.c> RewriteEngine On   RewriteBase / →■追加  RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?url=$1 [QSA,L] </IfModule> -------------------------------------------------- 「htaccessファイル3」(コア) -------------------------------------------------- <IfModule mod_rewrite.c> RewriteEngine on   RewriteBase /cake→■追加 RewriteRule ^$ app/webroot/ [L] RewriteRule (.*) app/webroot/$1 [L] </IfModule> -------------------------------------------------- 疑問点は下記のようになっています。 (1)追加した部分のRewriteBaseはこれで良いのか? (2)RewriteRule ^$ webroot/ [L] RewriteRule (.*) webroot/$1 [L] の部分はこのままで良いのか?webroot部分の変更は必要か? (3)RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]の部分はこのままで良いのか?

    • ベストアンサー
    • PHP
  • cakephp HTTP403エラー

    初心者ですが、レンタルサーバーを変更し、cakephpを利用している既存のデータ等をそのまま新しいサーバーに移動したのですが、URL:hhtp://www.○○○.jpでHTTP403のエラーが出てしまいます。 但し、URL:hhtp://www.○○○.jp/cakephp/ ではエラーは出ず、レイアウトがズレて表示されます。(CSSのパスの原因で)。またデータベースのデータも表示されます。 CAKEPHPはドメイン直下に配置し、webrootもフォルダ内にあります。 レンタルサーバのため、apacheの編集もできません。(ディレクトリの変更などもできません) いろいろ調べて、cakephp内の3つの「.htaccess」のmod_rewrite、app/temp/のパーミッション等の変更も試しましたが、うまくいきません。 HTTP403のエラーの回避方法を教えてください。よろしくお願いいたします。 ・APACHE :2.x ・PHP    :5.3 ・MYSQL  :5.1

  • CakePHPでヘルパーが使えません

    CakePHPを使用して開発を行っています。 app/views/helpers/common_lib.php に、class CommonLibHelper extends AppHelper としてヘルパークラスを作り、コントローラーの$helpersにarray('CommonLib')を記述しました。 ビューファイルにて、$common_lib->function() として、ヘルパーで定義したメソッドを呼ぶと、 undefined variable: common_libと言われてしまいます。どうしてか教えていただけませんか? クラス名やファイル名は合っていると思うのですが・・・。 CakePHPのバージョンは、1.3.6です。

    • ベストアンサー
    • PHP
  • CakePHPのディレクトリ構成について(app)

    CakePHPのapp内のディレクトリ名について教えてください。 CakePHPを使ってみたいと思いインストールまで実行しました。 作成したプログラムはappディレクトリ内に配置するようですが、 公式ドキュメントとapp内のディレクトリ名が違います。 バージョン:CakePHP ver 2.0.3 安定版 Cookbook(公式ドキュメント)を見ると 「2.3 CakePHPのフォルダ構造」 http://book.cakephp.org/ja/view/899/CakePHP%E3%81%AE%E3%83%95%E3%82%A9%E3%83%AB%E3%83%80%E6%A7%8B%E9%80%A0 Appフォルダは controllers libs models views ・・・ と記載してあります。 実際にappディレクトリを見てみると Controller Lib Model View ・・・ というように始めの文字が大文字になっていて複数形がなくなっています。 これはバージョンの違いによるものなのでしょうか? 公式ドキュメントでappのcontrollerディレクトリにファイルを作ってアップロードとなっていたら、実際にはappのControllerディレクトリにファイルをアップロードすれば良いのでしょうか? それとも、Controllerディレクトリとは別にマニュアルと同じ名前controllerディレクトリを作成してその中にファイルをアップロードするのでしょうか?

    • ベストアンサー
    • PHP