아파치 주요디렉토리서버루트 디렉토리 /usr/local/httpd = Sroot
설정디렉토리 Sroot/conf
로그 디렉토리 Sroot/logs
웹문서들 Sroot/htdocs
아파치설정 - Global Environment
conf/httpd.conf ServerType standalone : 데몬종류를 SA, Xinetd로 할것인지를 정한다. 2.0부터 SA만지원
ServerRoot "/usr/local/httpd" : 서버루트를 지정한다
Listen 80 : http의 기본포트번호 (1~1024는 시스템에 의하여 선점, 65535번까지 사용가능하다)
Listen a,b,c,d:80 : 기본포트80 번 이외의 다른포트를 사용할 경우 사용
conf/extra/httpd-default.conf Timeout 300 : SC연결이 이루어졌을때 해당 시간동안 메시지가 발생하지 않을경우 에러처리한다. 시스템이 기본값은 1200초이며 300초가 일반적이다. 느린시스템일수록 크게한다. con
KeepAlive on : 연결한 상태로 특이한 요청이 없을경우 지속적으로 연결할건지를 결정한다. on 이면 연결을 지속한다.
KeepAlive가 on 인상태에서 작동 MaxKeepAliveRequest 0 : 접속해 있는동안 클라이언트가 최대로 요청할수 있는작업의수 0 이면 무한대
KeepAliveTimeout 15 : 접속상태의 클라이언트가 해당초만큼 작업요청이 없을경우 연결을 끊는다.
cont/extra/httpd-mpm.conf PidFiles logs/httpd.pid :
pid 를 기록한파일을 지정한다 SA일경우만 유효 pid값
MinSpareServers x : 서버 접속시 유지되는 최소 데몬의 갯수를 설정한다.
MinSpareServers x : 서버 접속상태에서 최대한 띄울수 있는 데몬의 갯수를 설정한다.
StartServers 5 : 접속시 자동적으로 띄우는 웹대몬의 갯수
MaxCients 150 : 서버에 최대로 연결가능한 클라이언트의 수
MaxRequestsPerChild 30 : 자식 프로세스가 받아들일수있는 최대 클라이언트의 수
아파치설정 - Main Server Environmentconf/httpd.conf port 80 : 포트번호설정 Listen으로 대채됬다.
user nobody, group nobody : 아파치 데몬의 소유주를 nobody로 설정한다 . 아파치가 SA로 돌아가고 실행자가 root일 경우에 한해서만 유효하며 보안상의 이유로 nobody는 접속암호와 쉘을 설정하지 않는다. $SHELL=/bin/nologin
ServerAdmin xxxxxxxxxx : 관리자에게 연락할 email 주소
DocumentRoot "/usr/local/httpd/htpdocs" : 아파치의 웹문서가 저장되는곳, 클라이언트 접속시 이곳으로 들어온다. 마지막에 /를 붙이면안된다. alias 사용가능
UserDir public_html : 하나의 아파치 서버에서 여러개의 홈페이지를 관리할때 필요로하다. www.xxx.com/~ddso
DirectoryIndex index.html : 클라이언트가 디렉토리로 접속했을때 보여줄 문서를 설정한다. 복수를 설정하여 요청이 실패하면 순차적으로 보여줄수 있다.
AccessFileName .htaccess : 디렉토리별로 접근을 제어할 정보를 담고있는 파일을 지정한다.
TypesConfig conf/mime.types : 웹서버의
mime type를 정한 파일을 지정한다.
DefaultType text/plain : 지정되지 않은 mime type를 열어볼 기본 타입을 지정한다.
HostnameLookups off : 웹서버의 로그중 "DNS Lookup"을 지정할경우 off면 IP주소로, on이면 도메인명으로 지정한다. off 추천
ErrorLog logs/error_log : 에러로그가 남을 파일을 지정한다.
LogLevel warn : 에러로그에 남을 정보를 얼마나 자세하게 기록하는지를 설정
debug->info->notice->warn->error->crit->alert->emerg 순으로 간다.
CustomLog log/access_log common