CakePHP의 설치
CakePHP는 간단하게 웹 서버의 도큐먼트 루트에 압축을 푸는 것으로 설치할 수 있다. 또는 복잡하지만 원하는 대로 설치할 수도 있다. 여기서는 개발, 프로덕션 그리고 고급 설치방법 등 세 가지 설치 방법을 살펴볼 것이다.
- 개발용 설치 : 가장 쉽다. CakePHP 설치 디렉토리 이름을 그대로 어플리케이션의 URL로 사용한다. 보안에는 취약하다.
- 프로덕션용 설치 : 웹 서버의 도큐먼트 루트를 설정할 수 있어야 한다. URL이 깔끔하다. 보안이 잘된다.
- 고급 설치 : 몇 가지 설정으로 CakePHP를 파일시스템의 다른 곳에 둘 수 있다. 이로써 하나의 CakePHP 코어 라이브러리를 다른 CakePHP 어플리케이션과 공유할 수 있다.
개발용 설치
단지 CakePHP를 웹 서버의 도큐먼트 루트에 설치한다. 웹 서버의 도큐먼트 루트가 /var/www/html 이라면, 개발용 설치된 파일시스템은 다음과 같을 것이다.
/cake
/app
/cake
/docs
/index.php
/vendors
CakePHP의 어플리케이션을 보기위해서는 http://your.domain.com/cake/ 를 브라우저로 보면된다.
프로덕션용 설치
프로덕션에서 이용하기 위한 설정이라면, 웹 서버의 도큐먼트 루트를 바꿀 수 있다. 프로덕션 설치를 선택하는 것은 도메인 전체가 하나의 CakePHP 어플리케이션이라는 것을 의미한다. 프로덕션 설치는 다음과 같은 레이아웃을 갖는다.
/app
/webroot
/cake
/docs
/index.php
/vendors
만약 웹 서버로 아파치를 이용한다면 DocumentRoot 다음과 같이 수정한다.
CakePHP 어플리케이션을 보려면, http://your.domain.com 을 브라우저로 보면된다.
고급 설치
CakePHP를 다른 곳에 설치하려는 많은 이유가 있을 것이다. 여기서는 CakePHP 디렉토리를 파일시스템에 어떻게 나눌 수 있는 지를 소개한다.
Cake 어플리케이션에는 다음의 세 개의 메인 파트가 있다.
- 코어 CakePHP 라이브러리 /cake
- Cake 로 제작한 어플리케이션 /app
- 어플리케이션의 루트 /app/webroot
이들 각 디렉토리는 웹 서버에서 접근해야 하는 webroot를 제외하고 파일 시스템의 어디든 위치할 수 있다. Cake에 따로 알려주기만 하면, webroot 폴더도 app 폴더 밖에 두어도 된다.
이렇게 하려면, /app/webroot/index.php 를 수정해야 한다. 여기에는 수정해야 할 세 개의 상수가 있다.
- ROOT : app 폴더를 포함하는 디렉토리의 패쓰를 적는다.
- APP_DIR : app 폴더의 패쓰를 적는다.
- CAKE_CORE_INCLUDE_PATH : CakePHP 라이브러리 폴더의 패쓰를 적는다.
다음 예를 보면 고급 설치에 대해서 잘 이해가 될 것이다.
-
CakePHP의 기본 라이브러리는 /use/lib/cake 에 둘 것이다.
-
어플리케이션의 webroot는 /var/www/mysite/ 에 둘 것이다.
-
어플리케이션의 app 디렉토리는 /home/me/mysite 에 둘 것이다.
그러면 webroot인 /var/www/mysite/index.php 파일을 열어 ROOT, APP_DIR, CAKE_CORE_INCLUDE_PATH를 다음과 같이 수정한다.
define(‘ROOT’, DS.’home’.DS.’me’);
}
if (!defined(‘APP_DIR’)) {
define(‘APP_DIR’, ‘mysite’);
}
if (!defined(‘CAKE_CORE_INCLUDE_PATH’)) {
define(‘CAKE_CORE_INCLUDE_PATH’, DS.’usr’.DS.’lib’.DS.’cake’);
}
이 렇게 해서 mysite 를 위한 CakePHP 설정이 끝났다. 같은 호스트에서 다른 프로젝트를 역시 CakePHP를 사용하여 작업하려면 CakePHP의 코어 디렉토리는 그대로 두고, app 디렉토리와 webroot 디렉토리를 새로 만들고, webroot의 index.php를 수정하면 된다.
'웹 개발' 카테고리의 다른 글
MySQL 5.1이 릴리즈되었습니다. (0) | 2008.12.09 |
---|---|
저명한 인터넷 리더와 함께 웹 기술 동향 및 미래를 만나 보십시오! (0) | 2008.06.04 |
CakePHP의 설정 클래스 (0) | 2008.05.15 |
Zmanda 복구 관리자로 MySQL 테이블 복구 (0) | 2008.05.15 |
CakePHP에서 데이터베이스 설정 (0) | 2008.05.15 |