Part 3. 네트워크 및 서비스의 활용
chapter 1. HTTP
주요 HTTP 요청 메소드
ㆍGET : 서버에서 자료를 가져오는 요청
ㆍPOST : 서버에 정보를 저장하는 요청
ㆍHEAD : http헤더 정보만 가져오는 요청
ㆍPUT : 서버에 자료를 오릴 때 사용
ㆍDELETE : 사버의 자료를 삭제할 때 사용
/etc/hosts : 가상도메인 및 호스트명을 등록하기 위한 디렉터리
/etc/rc.d/init.d/httpd start
service httpd start : 웹 서버 시작
/etc/httpd/conf/httpd.conf : 아파치 웹서버 환경설정 파일
ServerToken OS # HTTP 서버 헤더에 제공되는 정보의 수준 지정. Prod ~ Full 등
ServerRoot “/etc/httpd” # 웹 서버가 설치된 디렉터리
PidFile run/httpd.pid # 아파치 웹 서버 동작시 root 권한으로 실행되는 아파치 PID저장 경로
Timeout 60 # 클라이언트 요청에 대한 타임아웃 값
KeepAlive On # 한 프로세스에 대한 지속적인 접속 허가 여부
MaxKeepAliveRequests 100 # 지속적인 접속 기간 동안 처리할 수 있는 요청 개수. 0=무한
KeepAliveTimeout 15 # 클라이언트가 설정된 상태에서 요청이 타임아웃 되는 시간
Listen 80 # 아파치 웹 서버의 포트번호
User apache
Group apache # 실행되는 httpd 데몬의 사용자 및 그룹권한
ServerAdmin 2mukee@mohaemookji.com # 서버 관리자의 이메일 주소
ServerName www.mohaemookji.com:80 # 웹 서버의 도메인 및 포트번호
UseCanonicalName Off # 아파치의 URL 생성시 서버이름 혹은 호스트이름 사용 여부 (Off=클라)
DocumentRoot “/ver/www/html” # 웹문서를 불러올 디렉터리
<Directory /> # 전체 디렉터리에 대한 기본 옵션 및 권한
Options FollowSymLinks # 디렉터리의 심볼릭 링크 사용 허용
AllowOverride None # 유저 인증 파일 미사용
</Directory>
<Directory “/var/www/html”> # /var/www/html 디렉터리에 대한 옵션
Options Indexes FollowSymLinks # 지정된 인덱스 파일이 없을 경우 해당 디렉터리 파일 목록 출력
AllowOverride None
Order Allow,Deny # 호스트 접근시 Allow 설정 확인후 deny설정확인
Allow from all # 모든 호스트의 접근 허용
</Directory>
※ Options 항목
ㆍNONE : 모든 접근 거부
ㆍALL : MultiViews 옵션을 제외한 모든 옵션 부여 (기본 값)
ㆍincludes : 서버측의 추가적인 정보를 제공
ㆍindexes : 지정된 파일이 없을 경우 디렉터리의 파일 목록 출력
ㆍFollowSymLinks : 디렉터리의 심볼릭 링크 사용 허용
ㆍExecCGI : CGI 스크립트 실행 허용
ㆍIncludesNoEXEC : SSI는 허용하지만 exec명령과 CGI 스크립트 #include 불허
ㆍMultiViews : all 옵션시 지정된 목록의 multiviews 허용. 유사한 파일 이름을 찾아주는 기능.
※ AllowOverride 항목 (AcessFileName 지시자)
ㆍNONE : 유저 인증 파일 미사용
ㆍALL : 지시자로 설정한 파일 사용 및 관련 지시자 사용
ㆍAuthConfig : 사용자 인증 지시자 사용 허용
ㆍFileInfo : 문서 유형 제어 지시자 사용 허용
ㆍIndexes : 디렉터리 인덱싱을 제어하는 지시자 사용 허용
ㆍLimit : 호스트 접근을 제어하는 지시자 사용 허용
ㆍOptions : Options와 XBiHack와 같은 지시자 사용 허용
<IfModule mod_userdir.c> # 사용자 계정별 디렉터리 여부
UserDir disabled
UserDir public_html
</IfModule>
DirectoryIndex index.html # 가장 먼저 인식되는 인덱스 파일
AccessFileName .htaaccess # 각각 디렉터리 접근을 제어하는 정보를 가진 파일 지정
<IfModule prefork.c> # 클라이언트의 요청이 들어올 경우를 대비하여 자식 프로세스 생성
StartServers 8 # 웹 서버 가동시 처음에 실행시킬 프로세스의 수
MinSpareServers 5 # 최소로 유지해야 할 여분의 프로세스의 수
MaxSpareServer 20 # 최대로 제한 되어야할 여분의 프로세스의 수
ServerLimit 256 # 서버 동작 중에 처리할 수 있는 Max Client의 최대값
MaxClients 256 # 시작할 수 있는 최대 서버 프로세스의 수
MaxRequestsPerChild 4000 # 자식 프로세스가 소멸 전까지 처리할 수 있는 처리의 수. 0=무한
</IfModule>
<IfModule worker.c> # 초기에 시작하는 프로세스 수 지정 후 페이지 요청시 쓰레드로 처리
StartServers 4 # 웹 서버 가동시 처음에 실행시킬 프로세스의 수
MaxClients 300 # 동시에 접속 할 수 있는 클라이언트의 수
MinSpareThreads 25 # 최소로 유지해야 할 여분의 쓰레드의 수
MaxSpareThreads 75 # 최대로 제한 되어야할 여분의 쓰레드의 수
ThreadsPerChild 25 # 하나의 프로세스가 처리할 수 있는 최대 쓰레드의 수
MaxRequestsPerChild 0 # 자식 프로세스가 소멸 전까지 처리할 수 있는 처리의 수. 0=무한
</IfModule>
LoadModule ~~~_module modules/~~ # DSO(동적 모듈 / 필요할 때 요청되는 모듈)
httpd [option] 파일명 : 아파치 웹 데몬 실행
-t : http.conf
-f : 새로 설정한 conf 파일 있을 경우 해당 파일로 아파치 데몬 구동
-S : 설정 되어 있는 가상 호스트 출력
-l : 컴파일된 모듈에 대한 목록 출력
-k : httpd 데몬에 시그널 전송. stop, start, graceful, restart 등
service httpd command : /etc/rc.d/init.d/httpd 데몬 실행제어 스크립트를 이용한 제어
ㆍhelp : 간단한 도움말 출력
ㆍstart : 아파치 데몬 시작
ㆍstop : 아파치 데몬 중지
ㆍrestart : 아파치 데몬 재시작
ㆍconfigtest : httpd.conf 파일의 문법적 오류 검사
ㆍgraceful : 웹 서버에 연결된 접속을 차단하지 않고 httpd.conf의 설정만 다시 읽어들임
ㆍstatus / fulstatus : 웹 서버의 상태 출력
웹 서버 접근 통제
<Directory “/home/ec2-user/web”>
Order Deny,Allow # 공백주의
Deny from All
Allow from 203.247.40
</Directory>
Apache 사용자 인증
1. htpasswd –c /etc/password posein # 계정 생성 및 계정 파일 생성
2. httpd.conf 수정 # 파일에 인증할 디렉터리 관련 설정
<Directory “/usr/local/apache/htdocs/admin”>
AllowOverride AuthConfig
</Directory>
3. .htaccess 파일 생성 # 인증할 디렉터리에 관련정보를 저장한 .htaccess 파일 생성
vi /usr/local/apache/htdocs/admin/.htaccess
AuthType Basic # 인증형태. Basic 혹은 Digest
AuthName “Admin Login” # 웹 브라우저 인증창에 표시되는 메시지
AuthUserFile /etc/password # 사용자 계정 파일명
Require valid-user # 접속을 허가할 사용자 설정. valid-user=등록된 사용자 전부허가
# Require user posein yuloje=특정 사용자만 허가
htpasswd [option] 계정파일 사용자명 : 아파치 사용자 인증파일 생성 및 관리
-c : 사용자 계정파일 생성
'Certification > 리눅스마스터' 카테고리의 다른 글
리눅스 마스터 1급 2차 정리 10 - NFS (네트워크 파일 마운트) (0) | 2021.11.02 |
---|---|
리눅스 마스터 1급 2차 정리 9 - NIS / LDAP (네트워크 사용자 인증 서비스) (0) | 2021.11.02 |
리눅스 마스터 1급 2차 정리 7 - 시스템 보안 및 관리 (0) | 2021.11.02 |
리눅스 마스터 1급 2차 정리 6 - 장치 관리 (0) | 2021.11.02 |
리눅스 마스터 1급 2차 정리 5 - 패키지 관리 (0) | 2021.11.02 |