2012-09-23 2 views
0

나는 yii로 놀고있어, 새싹 프레임 워크 파일을 어디에 넣어야할지 모르겠다. 내 공유 호스팅에서/home/username 폴더에 물론 public_html이 들어 있습니다. Yii 응용 프로그램 파일은 public_html로 이동한다고 가정하지만 프레임 워크는 어떻게됩니까? 그것도 public_html 안에 두어야합니까? 아니면/home/username에 넣어야합니까? 그것도 작동합니까? 보호 된 폴더는 어떻습니까? public_html에있는 다른 모든 응용 프로그램 파일과 함께 두어야합니까? 그렇지 않으면 다른 곳으로 이동해야합니까?yii 프레임 워크와 보호 된 파일은 어디에 두어야합니까?

어떻게 접근하나요?

답변

3

좋은 점 비활성화 웹 서버는 실제 코드를 공개 코드보다 높은 수준으로 유지하는 것이 문제가되지 않는다는 것입니다. 내가 사용하는 것은 다음과 같이 보통 :

pubic_html/  <- your /home/user/public_html 
    mysite.com/ 
     public/  <- The web site root (for apache config) 
     protected/  <- Your actual code 
     dependencies/ <- Framework and other libraries you use 
     db/   <- All database delta scripts 

사이트의 다수가 같은 libs와 사용하는 경우도 공통 위치에 넣어 당신이 당신의 서버를 사용하지 않는, 그래서 거기에 심볼릭 링크를 추가하도록 선택할 수 있습니다 할당량은 여러 부수입니다. 나는 당신이 Apache를 사용하고 있다면 FollowSymlinks 옵션을 활성화시켜야한다고 생각한다.

공용/폴더에서 공개적으로 사용할 수있는 것을 제한하는 것은 좋은 일입니다. 실제 코드 폴더가 바깥 세상에서 액세스 할 수 없다는 점을 감안하면 약간의 추가 보호 기능이 추가되었습니다.

편집 : 나는 위의 코멘트에서 언급 한 바와 같이 :

protected_html/ 
     code/   <- Your actual code 
     dependencies/ <- Framework and other libraries you use 
     db/   <- All database delta scripts 

    pubic_html/  <- your /home/user/public_html and website root. 

YII 꽤 있습니다 : 호스트는 하나의 사이트를 허용하고 있다면 당신은 당신이 모든 것을 분할 대안 구조를 고려할 수 public_html을 위해 사전 연결 이것에 대한 설정을 허용하는 다재다능한 설정 파일은 보호 된/config 폴더 아래에 있다고 가정되며, 그보다 높은 레벨은 모델 ​​/ 컨트롤러의 위치 등으로 간주됩니다. Rolands 사이에는 다른 위치의 Yii와 config 파일의 수정 된 포함을 포함하여 대답해야합니다.

+0

hm, 나는 모든 세부 사항을 따르는 지 확신 할 수 없다. 내/home/user/public_html에있는 것이 무엇이겠습니까? (내가 언급 한 두 번째 옵션은 단일 사이트를 호스팅하는 것입니다.)그 안에는 yii의 index.php 파일 만 들어 있는데, 이는 내 코드가 code /? – pootzko

+0

안에 들어있을 것입니다. index.php, 공개적으로 사용할 수있는 자바 스크립트 및 CSS 파일, 일반적으로 자산 폴더는 Yii가 위젯 등 필요한 파일을 게시하십시오. – Blizz

+0

ok, thank you! =) – pootzko

1

대개 나는/home/username에 배치하므로 아무도 프레임 워크에 직접 액세스 할 수 없습니다. 그런 다음 한 번 당신은뿐만 아니라으로 public_html 폴더 안에있는 프레임 워크를 배치하고 단지를 포함하는 프레임 워크 폴더에 .htaccess 파일을 추가 할 수 있습니다

$yii=dirname(__FILE__).'/../../yii-1.1.12.b600af/framework/yii.php'; 

프레임 워크 디렉토리를 가리 키도록으로 public_html에서 index.php 파일을 편집이 배치 deny from all 다음과 같이 apache에서 모두 무시를 사용한다고 가정하면 아무도 브라우저에서 디렉토리에 액세스 할 수 없게됩니다.

그래서 브라우저에서 직접 액세스 할 필요가없는 파일과 폴더는 항상 모든 아파치에 그 재정의 가정 더 나은 보안을 위해 public_html을 폴더 외부에 그들을 배치 whereever 가능한 가장에 대한

+0

"protected"도 public_html 외부로 이동해야한다는 의미입니까? – pootzko

+0

호스팅 제공 업체가 귀하에게 추가 한 public_html과 웹 서버가 사용할 실제 문서 루트와 약간의 혼동이있을 수 있습니다. public_html은 일반적으로 모든 사이트를 하위 폴더 (www.mysite.com)에 저장하는 규칙입니다. 그런 다음 해당 사이트에 대한 VHost를 만듭니다. 해당 폴더를 웹 루트로 지정합니다. Yii의 정책은 실제 웹 루트가 될 다른 "공개"폴더를 갖는 것입니다. 호스트가 오직 하나의 사이트 만 허용한다면 나는 Yii의 공용 폴더 내용을 그곳에두고 나머지는 어딘가에 놓을 것입니다. – Blizz

관련 문제