사용자 도구

사이트 도구


develop:php:cakephp

CakePHP

설치

먼저 블로그 프로젝트를 개발한다고 가정한다. 블로그 프로젝트를 위한 디렉토리를 다음과 같이 생성한다.

# mkdir -p /opt/project/blog/

cakephp.org 에서 cakephp 를 다운로드 받는다. 해당 파일을 /opt/project/blog/ 에 복사한 후에 tar 로 푼다.

# cp cake_1.2.0.7296-rc2.tar.gz /opt/project/blog/
# cd /opt/project/blog/
# tar xvfz cake_1.2.0.7296-rc2.tar.gz
# mv cake_1.2.0.7296-rc2 cake

아파치 VirtualHost 에서 DocumentRoot, ServerName 등을 설정하고, Apache 를 기동한 후에 웹브라우저에서 http://example.com 으로 접속해보자. 당연히 PC 의 hosts 파일에 example.com 을 등록해 두어야 한다.

NameVirtualHost 10.10.10.10:80
<VirtualHost 10.10.10.10:80>
    ServerName example.com
    DocumentRoot /opt/project/blog/cake/app/webroot/
    <Directory /opt/project/blog/cake/app/webroot/>
        Options -Indexes FollowSymLinks
        AllowOverride None
        Order deny,allow
        allow from 10.10.10.0/24
    </Directory>
</VirtualHost>

웹브라우저 결과 화면을 보면 몇가지 에러와 경고메시지가 뜰텐데, 처음으로 보이는 것은 /opt/project/eecitsm/cake/app/tmp 디렉토리를 쓰기 가능하게 해달라는 것이다. 이를 해결하기 위해서 다음과 같이 한다. 여기에서 www-data 는 웹서버 실행자를 가리킨다.

# chown -R www-data /opt/project/eecitsm/cake/app/tmp

두번째로 나오는 경고는 아래와 같습니다.

Notice (1024): Please change the value of 'Security.salt' in app/config/core.php to a salt value specific to your application [CORE/cake/libs/debugger.php, line 522]

app/config/core.php 파일에 있는 'Security.salt' 변수의 값을 바꾸라는 뜻이다. 보안상 바꾸어주는 것이 좋을 것이다. 그렇지만 여기서는 일단 그대로 넘어가자. 마지막으로 보이는 메시니는 아래와 같은데, DB 설정이 안되어 있으니, DB 관련 설정을 하라는 뜻이다.

Your database configuration file is NOT present.
Rename config/database.php.default to config/database.php
# cd /opt/project/eecitsm/cake/app/config
# mv database.php.default database.php

app/database.php 를 열어서 적당한 값으로 변경하면 될 것 같습니다.

class DATABASE_CONFIG {
 
    var $default = array(
        'driver' => 'mysql',
        'persistent' => false,
        'host' => 'localhost',
        'login' => 'user',
        'password' => 'password',
        'database' => 'database_name',
        'prefix' => '',
        'encoding' => 'UTF-8',
    );
 
    var $test = array(
        'driver' => 'mysql',
        'persistent' => false,
        'host' => 'localhost',
        'login' => 'user',
        'password' => 'password',
        'database' => 'test_database_name',
        'prefix' => '',
        'encoding' => 'UTF-8',
    );
}
develop/php/cakephp.txt · 마지막으로 수정됨: 2008/07/16 09:50 저자 gauryan