** 설정파일 첨부
1. 아파치 설치 방법은 static과 DSO(Dynamic Sharing Object)로 나눌수 있다.
* static : 필요한 모듈을 컴파일시 다 적재하는 방법으로 관리가 어렵다
* DSO : 모듈이 필요할 때만 불러들여 서비스를 한다.
2. 설치 방법
1) ./configure --prefix=/usr/local/Apache
2) ./configure --prefix=/usr/local/a2 --enable-module=all
3) ./configure --prefix=/usr/local/a3 --enable-module=all --enable-shared=max
* --enable-shared=name : DSO 설치 옵션
* make clean 해주어야 지요.. 설치 사이사이 마다
3. 디렉토리(/usr/local/apache)
* bin : apachectl start로 서비스 시작
* libexec : DSO로 설치할 때 모듈들이 존재하는 곳
* htdocs : 소스설치시 웹서비스 시작 디렉토리
( rpm설치시 /etc/httpd/conf/httpd.conf)
4. DSO방식으로 설치시 httpd.conf파일에서 LoadModule 부분과 AddModule부분에
필요없는 모듈들을 주석처리 하여 주며(대부분 해주면 됨) 나중에 MySQL이나 PHP, gzip
설치시 /libexec에 모듈을 복사하여 주고 LoadModule과 AddModule에 첨가하여 주면
된다.
* PHP가 버전업되어 재 설치시 단순히 모듈을 복사하여 주는 것으로 업그레이드가 끝나지만
static 으로 설치하면 처음부터 다시 재컴파일 하여 설치하여야 한다.
5. conf 디렉토리 설명
* access.conf : 인증관련 설정
* srm.conf : 가상호스트 관련 설정
===> 위 설정파일은 최근 httpd.conf로 통합되었다.
* mime.types : 파일 확장자를 이용하여 웹브라우저의 반응을 결정하게 한다.
보통 별 필요없다.
6. CGI를 사용하기 위해서는(httpd.conf)
- Options ExecCGI 해주고
- AddHandler cgi-script .cgi의 주석을 제거한다.
* 위 옵션은 확장자 .cgi만을 cgi로 동작하도록 정의하는 설정이다.
7. http1.1 status code
- 400 : 클라이언트 에러
- 500 : 서버에러
* 100 : Continue
* 101 : Switching protocols
* 200 : OK, 에러없이 전송 성공
* 201 : Created, POST 명령 실행 및 성공
* 202 : Accepted, 서버가 클라이언트 명령을 받음
* 203 : Non-authoritative information, 서버가 클라이언트 요구 중 일부 만
* 전송
* 204 : No content, 클라언트 요구을 처리했으나 전송할 데이터가 없음
* 205 : Reset content
* 206 : Partial content
* 300 : Multiple choices, 최근에 옮겨진 데이터를 요청
* 301 : Moved permanently, 요구한 데이터를 변경된 임시 URL에서 찾았음
* 302 : Moved temporarily, 요구한 데이터가 변경된 URL에 있음을 명시
* 303 : See other, 요구한 데이터를 변경하지 않았기 때문에 문제가 있음
* 304 : Not modified
* 305 : Use proxy
* 400 : Bad request, 클라이언트의 잘못된 요청으로 처리할 수 없음
* 401 : Unauthorized, 클라이언트의 인증 실패
* 402 : Payment required, 예약됨
* 403 : Forbidden, 접근이 거부된 문서를 요청함
* 404 : Not found, 문서를 찾을 수 없음
* 405 : Method not allowed, 리소스를 허용안함
* 406 : Not acceptable, 허용할 수 없음
* 407 : Proxy authentication required, 프록시 인증 필요
* 408 : Request timeout, 요청시간이 지남
* 409 : Conflict
* 410 : Gone, 영구적으로 사용할 수 없음
* 411 : Length required
* 412 : Precondition failed, 전체조건 실패
* 413 : Request entity too large,
* 414 : Request-URI too long, URL이 너무 김
* 415 : Unsupported media type
* 500 : Internal server error, 내부서버 오류(잘못된 스크립트 실행시)
* 501 : Not implemented, 클라이언트에서 서버가 수행할 수 없는 행동을 요구함
* 502 : Bad gateway, 서버의 과부하 상태
* 503 : Service unavailable, 외부 서비스가 죽었거나 현재 멈춤 상태
* 504 : Gateway timeout
* 505 : HTTP version not supported
7. 버추얼 호스트
- name based hosting 에서 Cname으로 설정하지 말고 A로 설정하자 않그러면
메일에 문제 발생.
- httpd.conf에서 버추얼호스트 부분이나 보안부분은 따로 만들어 두어
include conf/virtualhost_conf등으로 불러들여 사용하는 습관을 들이자
* static : 필요한 모듈을 컴파일시 다 적재하는 방법으로 관리가 어렵다
* DSO : 모듈이 필요할 때만 불러들여 서비스를 한다.
2. 설치 방법
1) ./configure --prefix=/usr/local/Apache
2) ./configure --prefix=/usr/local/a2 --enable-module=all
3) ./configure --prefix=/usr/local/a3 --enable-module=all --enable-shared=max
* --enable-shared=name : DSO 설치 옵션
* make clean 해주어야 지요.. 설치 사이사이 마다
3. 디렉토리(/usr/local/apache)
* bin : apachectl start로 서비스 시작
* libexec : DSO로 설치할 때 모듈들이 존재하는 곳
* htdocs : 소스설치시 웹서비스 시작 디렉토리
( rpm설치시 /etc/httpd/conf/httpd.conf)
4. DSO방식으로 설치시 httpd.conf파일에서 LoadModule 부분과 AddModule부분에
필요없는 모듈들을 주석처리 하여 주며(대부분 해주면 됨) 나중에 MySQL이나 PHP, gzip
설치시 /libexec에 모듈을 복사하여 주고 LoadModule과 AddModule에 첨가하여 주면
된다.
* PHP가 버전업되어 재 설치시 단순히 모듈을 복사하여 주는 것으로 업그레이드가 끝나지만
static 으로 설치하면 처음부터 다시 재컴파일 하여 설치하여야 한다.
5. conf 디렉토리 설명
* access.conf : 인증관련 설정
* srm.conf : 가상호스트 관련 설정
===> 위 설정파일은 최근 httpd.conf로 통합되었다.
* mime.types : 파일 확장자를 이용하여 웹브라우저의 반응을 결정하게 한다.
보통 별 필요없다.
6. CGI를 사용하기 위해서는(httpd.conf)
-
- AddHandler cgi-script .cgi의 주석을 제거한다.
* 위 옵션은 확장자 .cgi만을 cgi로 동작하도록 정의하는 설정이다.
7. http1.1 status code
- 400 : 클라이언트 에러
- 500 : 서버에러
* 100 : Continue
* 101 : Switching protocols
* 200 : OK, 에러없이 전송 성공
* 201 : Created, POST 명령 실행 및 성공
* 202 : Accepted, 서버가 클라이언트 명령을 받음
* 203 : Non-authoritative information, 서버가 클라이언트 요구 중 일부 만
* 전송
* 204 : No content, 클라언트 요구을 처리했으나 전송할 데이터가 없음
* 205 : Reset content
* 206 : Partial content
* 300 : Multiple choices, 최근에 옮겨진 데이터를 요청
* 301 : Moved permanently, 요구한 데이터를 변경된 임시 URL에서 찾았음
* 302 : Moved temporarily, 요구한 데이터가 변경된 URL에 있음을 명시
* 303 : See other, 요구한 데이터를 변경하지 않았기 때문에 문제가 있음
* 304 : Not modified
* 305 : Use proxy
* 400 : Bad request, 클라이언트의 잘못된 요청으로 처리할 수 없음
* 401 : Unauthorized, 클라이언트의 인증 실패
* 402 : Payment required, 예약됨
* 403 : Forbidden, 접근이 거부된 문서를 요청함
* 404 : Not found, 문서를 찾을 수 없음
* 405 : Method not allowed, 리소스를 허용안함
* 406 : Not acceptable, 허용할 수 없음
* 407 : Proxy authentication required, 프록시 인증 필요
* 408 : Request timeout, 요청시간이 지남
* 409 : Conflict
* 410 : Gone, 영구적으로 사용할 수 없음
* 411 : Length required
* 412 : Precondition failed, 전체조건 실패
* 413 : Request entity too large,
* 414 : Request-URI too long, URL이 너무 김
* 415 : Unsupported media type
* 500 : Internal server error, 내부서버 오류(잘못된 스크립트 실행시)
* 501 : Not implemented, 클라이언트에서 서버가 수행할 수 없는 행동을 요구함
* 502 : Bad gateway, 서버의 과부하 상태
* 503 : Service unavailable, 외부 서비스가 죽었거나 현재 멈춤 상태
* 504 : Gateway timeout
* 505 : HTTP version not supported
7. 버추얼 호스트
- name based hosting 에서 Cname으로 설정하지 말고 A로 설정하자 않그러면
메일에 문제 발생.
- httpd.conf에서 버추얼호스트 부분이나 보안부분은 따로 만들어 두어
include conf/virtualhost_conf등으로 불러들여 사용하는 습관을 들이자
8. Apache에서 사용자 인증
1) 사용자 인증 패스워드 파일 생성하기
htpasswd [-c] passwordfile username
-c 는 처음 패스워드 파일을 생성할때 사용하는 옵션이다.
ex) htpasswd -c /usr/local/apache/conf/passwords leoncw
이렇게 하면 password를 두번 묻게 된다.
생성된 passwords 의 내용을 살펴보면
leoncw:UNih5FBpTgPP2(암호화된 패스워드) 로 나타난다.
2) httpd.conf 설정파일에서 설정하기
AllowOverride None
# AllowOverride FileInfo AuthConfig Limit
Options MultiViews Indexes -SymLinksIfOwnerMatch -IncludesNoExec
AuthType Basic
AuthName "Access groub"
AuthUserFile /usr/local/apache/conf/passwords
# AuthGroupFile /usr/local/apache/conf/.htgroup
require user quiz admin
Order allow,deny
Allow from all
1. AllowOverride는 AuthConfig 로 설정되어야 하나 None으로도 작동이 잘되고 있음
(주의해야할 사항으로 판단됨)
2. AuthType 은 현재 브라우저의 호환성을 위해 Basic으로 설정한다.
3. AuthName 은 인증디렉토리에 대한 이름을 지어준다는 정도
4. AuthUserFile 은 위 htpasswd에 의해 생성된 파일의 경로를 적어주면 되겠다.
5. AuthGroupFile 도 같다.
6. require valid-user : 패스워드파일에 기록된 모든 사용자
7. require user quiz leo : quiz, leo 두 사용자만 허용된다.
8. require group staff admin : staff, admin 두 그룹만 허용된다.
3) .htaccess 파일을 이용하기
1) 인증을 원하는 디렉토리에 생성한다.
2) 안에 내용은
AuthName "Access group”
AuthType Basic
AuthUserFile /usr/local/apache/conf/passwords
require valid-user
와 같이 2번 내용에서 필요한 사항을 적어준다.
3) 재구동할 필요가 없다.
4) VirtualHost 설정
ServerAdmin root@juya.barammail.net
ServerName juya.barammail.net
DocumentRoot /home/quiz/admin
ErrorLog /usr/local/apache/logs/error_log
이와 같이 함께 설정하여 주면 좋다.
즉 해당 디렉토리로 접속하는 것이 아니라 해당 포트로 접속하여
관리 디렉토리에 접근하는 것이다.
===============================================================
1) 사용자 인증 패스워드 파일 생성하기
htpasswd [-c] passwordfile username
-c 는 처음 패스워드 파일을 생성할때 사용하는 옵션이다.
ex) htpasswd -c /usr/local/apache/conf/passwords leoncw
이렇게 하면 password를 두번 묻게 된다.
생성된 passwords 의 내용을 살펴보면
leoncw:UNih5FBpTgPP2(암호화된 패스워드) 로 나타난다.
2) httpd.conf 설정파일에서 설정하기
AllowOverride None
# AllowOverride FileInfo AuthConfig Limit
Options MultiViews Indexes -SymLinksIfOwnerMatch -IncludesNoExec
AuthType Basic
AuthName "Access groub"
AuthUserFile /usr/local/apache/conf/passwords
# AuthGroupFile /usr/local/apache/conf/.htgroup
require user quiz admin
Order allow,deny
Allow from all
1. AllowOverride는 AuthConfig 로 설정되어야 하나 None으로도 작동이 잘되고 있음
(주의해야할 사항으로 판단됨)
2. AuthType 은 현재 브라우저의 호환성을 위해 Basic으로 설정한다.
3. AuthName 은 인증디렉토리에 대한 이름을 지어준다는 정도
4. AuthUserFile 은 위 htpasswd에 의해 생성된 파일의 경로를 적어주면 되겠다.
5. AuthGroupFile 도 같다.
6. require valid-user : 패스워드파일에 기록된 모든 사용자
7. require user quiz leo : quiz, leo 두 사용자만 허용된다.
8. require group staff admin : staff, admin 두 그룹만 허용된다.
3) .htaccess 파일을 이용하기
1) 인증을 원하는 디렉토리에 생성한다.
2) 안에 내용은
AuthName "Access group”
AuthType Basic
AuthUserFile /usr/local/apache/conf/passwords
require valid-user
와 같이 2번 내용에서 필요한 사항을 적어준다.
3) 재구동할 필요가 없다.
4) VirtualHost 설정
ServerAdmin root@juya.barammail.net
ServerName juya.barammail.net
DocumentRoot /home/quiz/admin
ErrorLog /usr/local/apache/logs/error_log
이와 같이 함께 설정하여 주면 좋다.
즉 해당 디렉토리로 접속하는 것이 아니라 해당 포트로 접속하여
관리 디렉토리에 접근하는 것이다.
===============================================================
'Computer > Linux' 카테고리의 다른 글
Network (0) | 2005.06.10 |
---|---|
MySQL (0) | 2005.06.10 |
APM (0) | 2005.06.10 |
NameServer (0) | 2005.06.10 |
ProFTP 보안(조별발표자료) (0) | 2005.06.10 |