2011年1月4日火曜日

【ドメインキングのサーバーにCakePHPを設置】

先日契約したドメインキングのサーバーにCakePHPを設置する。

PHPが動くサーバーならCakePHPファイルを置けばそのまま動作するのがCakePHPの良いところ(らしい)

というわけで
http://cakephp.jp/
から最新版のCakePHPダウンロード、解凍。
WinSCP等でログインした後にhttpdocs以下に中身を転送します。

これで自分のドメインにアクセスすると、初期状態のCakePHP画面が、出てたのでドメインキングでも問題なく使えそう。

後は以前設定したメモ
http://tatsushim.blogspot.com/2010/11/cakephplcc-kakakujp-3.html   
を参照して、Cakeの初期設定を行えばOK.

ドメイン名→データベース→データベースの作成
でデータベースを作成し、(確かSプランだとDBは2つまでだった)

ツールの

[新しいデータベースユーザの追加]で、DBにアクセスできるユーザー名とpassを設定
[DB WebAdmin]でphpmyadminが開くので、そこにSQLを打ってテーブルを作成
とりあえず下記


CREATE TABLE テーブル名(Cakeなので複数形推奨) (
             id MEDIUMINT NOT NULL AUTO_INCREMENT,
             name CHAR(30) NOT NULL,
             PRIMARY KEY (id)
             );


とりあえず動作確認のためのview、model、controllerの初期設定

views/テーブル名/index.ctp ←拡張子注意

models/テーブル名(単数形).php


<?php

class テーブル名(単数形) extends AppModel {

public $name = "テーブル名(単数形)";

}

?>


controllers/テーブル名_controller.php
※ベーシック認証のテストも一緒に行った


<?php

class テーブル名Controller extends AppController {

  var $name = 'テーブル名';
  public $uses = 'テーブル名';
  var $components = array('Security');  //ここをarrayを使わず $components = 'Security'; として動作しなくてハマった。凡ミスなのでくれぐれも注意。

  //  ベーシック認証
  function beforeFilter(){
    parent :: beforeFilter();

$this->Security->loginOptions = array('type'=>'basic');
$this->Security->loginUsers = array('id'=>'pass');
$this->Security->requireLogin('*');

  }


  function index(){
  
  
  }


}
?>



で動作を確認。

BASIC認証は下記を参考にさせていただきました。
http://blog.spicebox.jp/labs/2009/03/cakephp_12_basic.html


なぜかモデルだけはテーブルの名前を使うときに複数形じゃなくて単数形みたい。
layoutを設定していないのでCakeのデフォルトのレイアウトが使われたが、無事動作を確認。

次回からはコントローラーやビューを本格的に作っていきます。

0 件のコメント:

コメントを投稿