ns25.dnsever.com   
121.254.188.25
ns47.dnsever.com
121.254.188.47



 
작성일 : 10-05-18 02:27
[서버관리] 아파치웹서버 환경설정파일 httpd.conf 설명
 글쓴이 : 테크넷코리…
조회 : 8,551  
글 쓴 이 : Leopit  글입력시간 : 2003-08-28 15:14:06
IP_addr : 202.31.150.148 
 
 아파치웹서버 환경설정파일 httpd.conf 설명입니다.
아파치를 설정해보도록 하겠습니다.
-------------------------------------------------------------------------------
◎ Apache 웹서버 환경설정

현재 아파치가 설치되어 있는 곳의 conf라는 디렉토리를 보면 httpd.conf라는 파일이 있슴다.
일단 이 파일을 vi편집기로 열어놓세요 아파치웹서버의 환경설정은 이 파일안에서 다함다.
그럼 순서대로 나열하고 중요한부분은 해석하고 사용법을 알아보겠슴다.
ServerType -standalone : 요청이 들어오기전 항상 응답할 준비가 되어있음 (대부분 사용, 빠름)
                 -inet : 요청이 들어오면 응답 (속도 떨어짐) 장점 : 메모리 적게사용
PidFile /var/run/httpd.pid : 아파치웹서버 PS id 정보가 여기에 저장
ResourceCondig conf/srm.conf : #으로 주석처리
AccessConfig conf/access.conf : #으로 주석처리
Timeout 300 : 요청이 들어왔을 때 300초까지 응답해줌 변경시에는 숫자만 바꿔주면 됨다
KeepAliv On  : 홈페이지 접속한 상태를 계속 유지하면서 빠른시간내에 메뉴를 클릭(15초 횟수:100번)
MaxKeepAliveRequests 100
KeepAliveTimeout 15
MinSpareServers 6 : 첨 실행되는 PS 개수 10개 줄어드는거 최소 6개 가장많이 늘어나는거 64 (메모리땜시 설정)
MaxSpareServers 64
StartServers 10
MaxClients 150 // 클라이언트 접속할수 있는 수
MaxRequestsPerChild // 자식PS가 100번정도 요청을 받고 사용하고 다시 삭제(ps 오랫동안 존재하면 보안상 문제)
Listen 3000 // 일반사용자 사용가능
User nobody // 권한을 주지않음으로 시스템 보안 유지
Group nobody
ServerAdmin root@localhost // 웹서버 문제가 생겼을 때 정보를 받을수 있는 멜주소
ServerName new.host.name // DNS에 등록되어있는 호스트명 /etc/host 에 등록된 호스트명
                                             IP Address 입력해도 됨
DocumentRoot // 홈페이지 내용 저장 디렉토리
UserDir public_html // 유저 디렉토리
DirectoryIndex // 시작페이지 파일이름 지정(순서대로)
AccessFileName .htaccess // 웹상에서 인증화면 뜸..
ThpesConfig /etc/mime.types // 아파치에서 적용하는 확장자 정의(ex 쇽웨이브정의)
HostNameLookups off // on 으로 되어있으면 클라이언트의 네임서버까지 추적(시간이 오래걸림)
ErrorLog // 아파치 에러메세지 디렉토리
LogLevel warn // warn(중간)뿐만아니라 debug notice 등등 있음 (로그메세지의 양)
scriptAlias /cgi-bin/ "/home/httpd/cgi-bin/" //별칭정의
AddType application/x-httpd-php3 .php3 // 확장자 추가
AddHandler cgi-script .cgi // cgi 사용시 이부분의 주석을 풀어주어야 함
AddType text/html .shtml
AddType text/html .htm
버추얼호스트 설정방법(중요)
하나의 서버에 여러게 도메인 사용이 가능하다
NameVirtualHost 202.31.150.148 // 아파치웹서버에 아이피 어드레스
<VirtualHost 202.31.150.148>
ServerAdmin webmaster@abc.co.kr //문제발생시 받을수 있는 주소
DocumentRoot /home/abc // 밑의 서버네임 홈페이지가 존재하는 위치
ServerName www.abc.co.kr
ErrorLog logs/abc.co.kr-error_log // 위 도메인에 문제가 생겼을 경우 저장되는 경위 (보통 안만듬)
                                                    /var/log 에 있음
CustomLog logs/abc.co.kr-access_log common // 이것도 보통 안만듬
</VirtualHost>
사용예.. (300~400개 정도 사용가능함)
NameVirtualHost 211.171.255.78
<VirtualHost 아이피>
..
</VI..>
<VirtualHost 211.171.255.78>
..
</VirtualHost>
◎ 아파치 환경설정 두 번째..
<Directory /> //루트 디렉토리 이하의 디렉토리 환경설정 ex) <Directory /home/httpd/html>
   Options All : MultiView를 제외한 모든부분 허가
               ExecCGI : cgi 허가
               FollowSymLinks : 심볼링크로 설정된 파일에 대해 원본을 찾아서 제공
               Includes : server side include 서버가 이전하면 홈페이지의 주소를 변경하여야함 그러나 주소가
                              입력된 파일하나만 수정해서 바꾸지 않아도 됨
               IncludesNOEXEC : ssi를 지원하면서 cgi만 거부(보안상)
               Indexes : 디렉토리 보여줌
               None : 모든 옵션 불허
               MultiViews : 홈페이지안에 영국어 한국어 중국어 세계의 언어가 있으면 특정 옵션을 사용하여
                                  나라마다 언어를 자동으로 제공, 이미지 이름이 동일한 경우 선택적으로 보여줌
               SymLinksIfOwnerMatch : 심볼링크로 설정된 파일에 대해서 원본과 링크파일의 소유자가
                                                   동일한 경우 원본만 보여줌
   AllowOverride All : 모든 것을 허가
                       AuthConfig : 사용자 인증과 관련된 명령을 디렉토리 단위로 사용가능케 함
                       FileInfo : 파일정보 표시 가능
                       Limit : 사용자의 접근을 제한할수 있음 아이피나 도메인을 이용해서..
                       None : 접근제한기능을 사용하지 않음
                       Options : 접근제한설정을 사용가능하게 지시
</Directory>
간단히 예를 들자면...
<Directory /home>
     Options ExecCGI Indexes
     AllowOverride None
</Directory>
이렇게 하면 /home이라는 디렉토리에 CGI를 적용하고 웹상에서 index파일이 없을 때 해당디렉토리의
파일이나 디렉토리를 보여주고 접근제한기능을 사용하지 않는다는 뜻이죠..
SSI (SERVER SIDE INCLUDE)를 설정해보자
ssi를 설치하면 웹상에서 텔넷명령을 실행할 수 있다.  ex) <!-- #exec 층 = "/usr/bin/uptime" -->
- 단점 : 아파치 웹서버에 부담을 줄수 있다
<Directory /home>
Options All ExecCGIInclude IncludesNOEXEC Indexes
</Directory>
SSI를 설정하고나서 문서를 작성할 때
  <!-- #flastmod file = "index.html" -->  // 파일의 수정일 표기
  <!-- #fsize file = "index.html" -->  // 파일의 크기 표기
  <!-- #include file = "food.html" --> // food 파일내용을 삽입
이제 SSI 서비스를 받아보자
(SSI : 웹상에서 어떤 일을 첨부할수 있고 웹상에서 텔넷명령 실행가능)
<html>
최종수정일: <!-- #flastmod file = "index.html" -->
파일의크기: <!-- #fsize file = "index.html" -->
<!-- #include file = "food.html" -->
</html>
<html>
<!-- #exec cmd = "/usr/bin/uptime " -->
</html>               
ssi를 서비스하면 웹상에서 위와같은 서비스를 받을수 있다
그렇나 아파치 웹서버에 부담을 준당..
인증서비스(htaccess)
다음은 home 디렉토리에 인증서비스를 하는 요령이다.
<Directory /home>
Options Includes ExecCGI                // cgi 사용가능
AllowOverride ALL               //.htaccess를 사용가능케 함
</Directory>
이제 public_html 밑에 인증서비스를 한다
.htaccess라는 파일 생성
Options All    
AuthType "Basic"                // 인증방식을 베이직으로
AuthName "Administrator"        // 인증화면 사용주체
AuthUserFile /home/wawacampus/public_html/.htpasswd //계정하과 비번이 있는 파일
<Limit GET>
require valid-user      // AuthUserfile에 있는 사용자만 접근가능
allow from IP주소 (그사람은 허용함)
deny from all (모든 사람은 거부하고 특정한 IP주소만 허용)
</Limit>
.htpasswd 파일 생성방법
#> htpasswd -c .htpasswd person
두 번째부터는 -c 옵션은 사용하지 않음

혹시 틀린부분이 있다거나 하시면 아낌없는 질타를 바랍니다. - Leopit

 
   
 

whois inames 아사달 Domainpapa Digitalnames Netpia OnlineNIC KSNETCMS KSNETPG ICODE
회사소개 | 웹제작및유지보수약관 | 호스팅서비스약관 | | 테크넷웹메일
서울시 양천구 목동중앙본로7가길 26-6 / 전화 : 1688-2527 | 긴급 : 010-4697-2527 / 팩스 : 0303-0303-0840 / 운영자 : 테크넷
사업자 등록번호 : 107-42-67578 / 대표 : 강만수 / 개인정보관리책임자 : / 통신판매업신고번호 :
Copyright © 2001-2008 테크넷코리아. All Rights Reserved.