>> Delete Reply from No. 5950 article
No. RE: Apache---아파치 설정 관련 질문입니다.---Apache

등록 2000-09-19 02:19:00 By localhost     조회 2
이름 EWater    

		: 쌀쌀해 졌네요. 갑자기...
: 감기들 조심하시구여...
:
: 본론을 쓰겠습니다.
: 아파치 웹 서버를 구성하였습니다.
: 디렉토리 구성입니다.
: [/usr/local/apache/htdocs/]
:       |
:       +-- DocumentRoot (index.html 의 위치)
:       |       |
:      ...      +-- board
:               |
:               +-- member
:               |
:               +-- data
:               |
:              ...
:
: 이런식으로 구성하였습니다.
:
: 지금 현상은 다 보인다는 겁니다.
: 일단 httpd.conf 에서는 DocumentRoot 와
: Options 에서 -Indexes를 설정하였습니다.
: 그래서 http://xxx.xxx.xxx/member 등으로 바로 접속해 들어오면
: 403 Forbidden 이 떨어집니다. 하지만 익스플로러에서
: 앞,뒤로 왔다갔다 하다보면 또 나옵니다.
 ======================================================================
======================================================================
이것은 member 디렉토리에 대한 Indexes 옵션이 없어서 그런것 같습니다.
 <Directory "/usr/local/apache/htdocs/DocumentRoot/*">
     Options FollowSymLinks MultiViews ExecCGI Indexes
     AllowOverride None
     Order allow,deny
    Allow from all
</Directory>
 위와 같이 DocumentRoot 이하의 디렉토리에도 Indexes 옵션이 설정되도록
해 주세요.
 또 하나 member 디렉토리에서 가장 먼저 실행되는 스크립트명을
index.php 라고 명명하시고
 httpd.conf 에서
 <IfModule mod_dir.c>
    DirectoryIndex index.html index.php
</IfModule>
 위와같이 해 두시면 member 라는 디렉토리경로만 치셔도
index.php 가 실행이 됩니다.
======================================================================
====================================================================
  : 그리고 또 문제는 디렉토리 내부의 *.inc 또는 *.cfg 등을 경로와 이름으로
: 지정하면 파일 내부의 모든 텍스트가
: 보기에 아주(?) 좋도록 깔끔하고 선명하게 나옵니다.
: 이래서는 안되는거 같은데...쩝.
  ====================================================================
====================================================================
위의 문제는 inc 나 cfg 화일을 httpd.conf 에서 설정하지 않으셔서 그렇습니다.
만약 php 를 사용하고 계시다면
AddType application/x-httpd-php .php .php3 .phtml .inc .cfg
AddType application/x-httpd-php-source .phps
라고 고쳐보세요.
그러면 소스가 보이지 않고 php 에서 해석해서 뿌려주게 됩니다.
====================================================================
====================================================================
     :
: 오늘은 Alias 항목을 찾아서 몽땅 디렉토리를 아래 처럼 만들어 테스트
: 해봤습니다.
: DocumentRoot 와 동일 레벨이면 웹에서 안보이는 거 아닌가요?
:
: [/usr/local/apache/htdocs/]
:       |
:       +-- DocumentRoot (index.html 의 위치)
:       |
:       +-- board
:       |
:       +-- member
:       |
:       +-- data
:       |
:      ...
:
  ====================================================================
====================================================================
Alias 는 경로를 단축시켜주거나
아니면 DocumentRoot 디렉토리 밖에 있는 디렉토리를
웹서버에서 Access 할수 있도록 하기 위한 것입니다.
 Alias /icons/ "/usr/local/apache/icons/"
 위와 같이 설정이 되면 실제의 디렉토리는
/usr/local/apache/icons 이지만
웹브라우저에서는
 DocumentRoot/icons 
라고 인식하게 됩니다.
그러니까 Alias 지정한것은 DocumentRoot 의
하위 디렉토리가 되는 것입니다.
====================================================================
====================================================================
   : 그리고 /icons/ 예를 참조하여 Alias 항목도 다 정해주었습니다.
: 그러니까 다른건 다 잘되는데
: php 코드내의 경로 지정이 안먹습니다.
:
: 예)   include "member/database_conn.inc";
:
: 다시 원래 상태로 돌렸습니다. (건망증이 심해서 원래데로 다
: 돌리는데도 상당히 애 먹었습니다.)
  ====================================================================
====================================================================
php 코드내에서는
유닉스내의 절대 경로나
아니면 소스가 있는 경로를 기준으로 하는
상대경로로 사용해야 합니다.
include "member/database_conn.inc";
위 라인을 포함하는
소스화일이 /usr/local/apache/htdocs/DocumemtRoot/member 디렉토리에 있다면
 위처럼 Alias 로 지정했다고 하지만
"member/database_conn.inc"
은
/usr/local/apache/htdocs/DocumemtRoot/member/member/database_conn.inc
로 여기게 되어 화일이 없다는 에러를 내게 됩니다.
 즉 Alias 된 항목은 php 내에서는
URL  이 아니고 디렉토리로는 인식을 하지 못한다는 것입니다.
====================================================================
====================================================================
  :
: 아 길다.
: 질문입니다.
: 1. 베테랑 관리자가 디렉토리 구성하는 방법과 그 이유를 알고 싶습니다.
 ====================================================================
====================================================================
보통 일반적인 html 화일과
이미지화일
그리고 스크립터로 돌아가는 perl 등의 cgi
php 로 돌아가는 화일등을 따로 두고 관리를 하게 됩니다.
보안에 민감한 부분이기 때문이지요.
그리고 Alias 도 적당히 사용하면 보안에 도움이 됩니다.
====================================================================
====================================================================
   : 2. cgi-bin 디렉토리를 어떤경우에 사용해야 하는지 좀 가르쳐 주세요.
 ====================================================================
====================================================================
cgi-bin 디렉토리를 Alias 로 설정하여 지정하는 이유는
이 외의 디렉토리에서 cgi 와 같은 보안에 민감한 화일의
실행을 막기위함입니다.
하지만 php 는 서버측에서 돌아가는 스크립트이므로
실행퍼미션이 없으도 되는것처럼 cgi-bin 이라는 디렉토리에
둘 필요는 없습니다.
그리고 ScriptAlais 로 지정을 해 두면
그 이하디렉토리에 있는
이미지나 html 문서는 보이지 않게 됩니다.
깨진다고 해야죠.
====================================================================
====================================================================
  : 3. Alias디렉토리를 사용하는 경우 PHP 코드내에서 경로를 못찾는게
:    정상인가요? 아니라면 제가 뭘 빠드린 건가요?
 ====================================================================
====================================================================
못찾는게 정상입니다.
절대경로나 상대경로를 사용하세요.
====================================================================
====================================================================
  : 4. Alias디렉토리를 사용하는 경우에 DocumentRoot에다가 설정한 쿠키는
:    정상적으로 사용가능 한가요?
 ====================================================================
====================================================================
쿠기는 잘 모르겠습니다,
php4 를 사용하신다면
Session 을 사용해보세요.
쿠키보다 편하고 좋습니다.
====================================================================
====================================================================
  :
: 첨이라 시행착오를 아주 많이 합니다.
: 암튼 재미는 있군요. 시간이 없어서 괴롭지만요....
: 아시는분 한수 부탁함다.
: 다 읽어 주신분은 감사함다.
: 건강하세요 !
:
: --
: 초보탈출 100일 작전
 --
조금이라도 도움이 되었기를.............
[관리자] 패스워드를 입력 하십시오. 답장이 존재하면 함께 삭제됩니다.[ 목록 | 이전 ]
패스워드:    

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved