5. 아파치 웹서버 관리

Download Report

Transcript 5. 아파치 웹서버 관리

아파치 웹 서버 관리
 아파치 및 HTTP 소개
 아파치 서버 설치하기
 아파치 서버 설정하기
 사용자 인증
순천향대학교 정보기술공학부
이상정
1
아파치 및 HTTP 소개
순천향대학교 정보기술공학부
이상정
2
컴퓨터 응용
아파치 웹 서버 소개
 아파치 웹 서버
• 정식 명칭: Apache HTTP server
• 관련 홈페이지: www.apache.org
• GNU GPL 라이센스를 통해 무료로 배포되는 소프트웨어
• 현재 50% 이상의 웹 서버 소프트웨어 시장 점유율
• 안정적으로 동작
• www.amazon.com이나 IBM 같은 주요 인터넷 서비스 회사에서도 아
파치 웹 서버를 사용
• 아파치 서버 프로그램 전체는 물론이고 관련 컴포넌트들의 소스 코드
가 무료로 제공
• 유연성이 좋기 때문에 여러 응용 분야에 적용
• 비교적 보안이 잘 유지되는 것으로 평가
순천향대학교 정보기술공학부
이상정
3
아파치 웹 서버 관리
컴퓨터 응용
HTTP 프로토콜 소개
 HTTP, HyperText Transfer Protocol
• 1989년 팀 버너스 리(Tim Berners Lee)에 의하여 처음 설계
• 요청/응답 (request/response) 동작에 기반하여 서비스를 제공
• HTTP의 첫번째 버전은 인터넷을 통하여 가공되지 않은 단순 데이
터를 전송하기 위한 단순한 프로토콜로 시작
• 현재 HTTP 버전 1.1로 RFC2616이라는 문서에 기록
• ftp://ftp.isi.edu/in-notes/rfc2616.txt
• 헤더(header)로 구성된 메시지 요청/응답 메시지 송수신
• 표준 포트: TCP 포트 80번
• 비표준 포트 사용 시 URL 뒤에 포트 번호를 주면 접속할 수 있음
• 예: http://www.redhat.com:8080/
• 아파치
• HTTP를 서버 형태로 구현한 소프트웨어
• 브라우저
• HTTP를 클라이언트 형태로 구현한 것
순천향대학교 정보기술공학부
이상정
4
아파치 웹 서버 관리
컴퓨터 응용
순천향대학교 정보기술공학부
HTTP를 이용한
브라우저와 서버의 연결 (1)
이상정
5
아파치 웹 서버 관리
컴퓨터 응용
HTTP를 이용한
브라우저와 서버의 연결 (2)
1. 브라우저는 서버 호스트에 접속
 URL에 명시된 서버(인터네트 주소:포트번호)에 연결
 default 포트 번호 : 80
2. 브라우저는 요청 메시지(request message)를 생성하여 전
송
3. 서버는 브라우저의 요청 메시지에 대한 응답메시지
(response message)를 전송
 응답헤더에는 성공/실패여부, 전송될 데이타타입(텍스트, 이미지,
동영상 등)으로 구성
 응답헤더에 이어 실제 데이타를 전송
4. 서버는 응답을 보낸 직후 강제로 접속 종료
순천향대학교 정보기술공학부
이상정
6
아파치 웹 서버 관리
컴퓨터 응용
HTTP 메시지 구성
 메시지
• 스타트라인(start line)
request line
status line
• 헤더(header)
• 메시지바디 (message body)
순천향대학교 정보기술공학부
이상정
7
아파치 웹 서버 관리
컴퓨터 응용
메시지 예
순천향대학교 정보기술공학부
이상정
8
아파치 웹 서버 관리
아파치 서버 설치하기
순천향대학교 정보기술공학부
이상정
9
컴퓨터 응용
레드햇 9.0 배포판 설치
 레드햇 9.0 배포판 설치
• 설치할 패키지 사용자 설정을 선택하여 웹 서버 선택
• 이미 설치된 아파치 서버 사용 시에는 다음 정도만 알면 됨.
• 웹 컨텐츠의 첫 페이지 위치
/var/www/html
• 아파치 설정 파일들의 위치
/etc/httpd/conf
• 아파치 서버 재시작 명령어
/etc/rc.d/init.d/httpd restart
순천향대학교 정보기술공학부
이상정
10
아파치 웹 서버 관리
컴퓨터 응용
직접 설치
 아파치 서버 최신 버전 얻기
• http://httpd.apache.org/dist
• 최신 버전: 아파치 2.0.53(httpd-2.0.53.tar.gz 파일)
 소스 풀기
• /usr/local/src 다운로드 했다고 가정
• 다운로드한 파일의 압축 풀기
# cd /usr/local/src
# tar –xvzf httpd-2.0.53.tar.gz
 컴파일 방법
• 설치 환경 설정 스크립트 configure 실행
# ./configure -–prefix=/usr/local/httpd-2.0.53
• 아파치 프로그램을 컴파일
# make
• 컴파일된 아파치 실행 파일들과 설정 파일들을 설치.
# make install
 설정 파일 수정
 서버 기동
# cd /usr/local/httpd-2.0.53/bin
# ./httpdctl start
순천향대학교 정보기술공학부
이상정
11
아파치 웹 서버 관리
컴퓨터 응용
설치확인
 레드햇 9.0 설치 기준
 설치확인
• 웹 브라우저로 부여된 도
메인 네임(cse.sch.ac.kr)
이나 IP 주소(220.69.***.
**) URL 기술
• 아파치 Test Page 홈 페이
지 확인되면 성공
순천향대학교 정보기술공학부
이상정
12
아파치 웹 서버 관리
컴퓨터 응용
웹서버 시작,종료
 레드햇 9.0 설치 기준
 웹 서버 시작, 종료, 재시작
# /etc/rc.d/init.d/httpd start
# /etc/rc.d/init.d/httpd stop
# /etc/rc.d/init.d/httpd start
# /etc/rc.d/init.d/httpd restart
순천향대학교 정보기술공학부
이상정
13
아파치 웹 서버 관리
컴퓨터 응용
아파치 계정 및 최상위 홈페이지
 아파치 서버는 디폴트로 사용자 apache 사용자로 실행
• apache 사용자 계정이 존재하는 지 확인
• /etc/passwd 파일을 보고 apache 계정이 존재하는지 확인함
# cat /etc/passwd
# grep “apache” < /etc/passwd
 최상위 홈페이지
• 서버의 URL만 입력하면 브라우저에 표시되는 페이지
• 레드햇 9.0에서 최상위 홈페이지 위치는 /var/www/html
• 웹 문서는 일반권한(other)자가 read 권한이 있어야 읽음
순천향대학교 정보기술공학부
이상정
14
아파치 웹 서버 관리
컴퓨터 응용
웹 문서 테스트 (1)
 test.html 작성
# cd /var/www/html
# vi test.html
<html>
<head>
<title> Test HTML file </title>
</head>
<body>
<h1> This is a test file for Apache Server</h1>
<hr>
<p>Computer Education, Soonchunhyang University
</body>
</html>
# ls –l
-rw-r--r-- 1 root
root
drwxr-xr-x 2 webalizer root
순천향대학교 정보기술공학부
이상정
190 4월 12 15:14 test.html
1024 4월 2 04:02 usage
15
아파치 웹 서버 관리
컴퓨터 응용
웹 문서 테스트 (2)
순천향대학교 정보기술공학부
이상정
16
아파치 웹 서버 관리
컴퓨터 응용
웹 문서 테스트 (3)
 최상위 홈페이지
문서
• /var/www/html
에 index.html 문
서를 작성하면
URL만 기술해도
됨
# pwd
/var/www/html
#mv test.html index.html
# ls
index.html usage
순천향대학교 정보기술공학부
이상정
17
아파치 웹 서버 관리
아파치 서버 설정하기
순천향대학교 정보기술공학부
이상정
18
컴퓨터 응용
아파치 서버 설정
 아파치 설정 파일
• /etc/httpd/conf/httpd.conf
• 아파치 서버 운영에 필요한 기능 옵션 설정
• 대부분은 설치 시의 디폴트 설정 사용
# cat /etc/httpd/conf/httpd.conf
 설정 내용 예
• User apache, Group apache
• 웹서버 사용자 계정
• ServerAdmin root@localhost
• 웹서버 관리자 메일 주소
• DocumentRoot "/var/www/html"
• 최상위 홈 페이지 위치
• UserDir public_html
• 사용자 계정의 홈 페이지 위치
• DirectoryIndex index.html
• 아파치 디렉토리의 디폴트 파일 지정
• AddDefaultCharset ISO-2022-KR
• 디폴트로 한글 설정
순천향대학교 정보기술공학부
이상정
19
아파치 웹 서버 관리
컴퓨터 응용
최상위 홈페이지 위치 설정변경 예
 최상위 홈페이지 위치를 /home/html 로 변경
# vi /etc/httpd/conf/httpd.conf
: 289
DocumentRoot "/home/html"
# cd /home
# mkdir html
# ls -l
....
drwxr-xr-x 2 root
root
4096 5월 1 13:13 html
# mv /var/www/html/index.html /home/html
# ls –l html
-rw-r--r-- 1 root
root
190 4월 12 15:14 index.html
# /etc/rc.d/init.d/httpd restart
httpd 를 정지함: [ 확인 ]
httpd (을)를 시작합니다: httpd: Could not determine the server's fully qualified
domain name, using 127.0.0.1 for ServerName
[ 확인 ]
 웹 브라우저에서 cse.sch.ac.kr 테스트
순천향대학교 정보기술공학부
이상정
20
아파치 웹 서버 관리
컴퓨터 응용
디폴트 한글 인코딩 설정
# vi /etc/httpd/conf/httpd.conf
: 780
AddDefaultCharset ISO-2022-KR
#
순천향대학교 정보기술공학부
이상정
21
아파치 웹 서버 관리
컴퓨터 응용
사용자 홈 페이지 생성 (1)
 리눅스 사용자 계정마다 홈 페이지 허용
• cse.sch.ac.kr/~lee 로 URL 사용
• /etc/httpd/conf/httpd.conf 설정 파일 373, 388 라인을 수정
UserDir disable => #UserDir disable
#UserDir public_html => UserDir public_html
# vi /etc/httpd/conf/httpd.conf
: 289
#UserDir disable
……
UserDir public_html
# /etc/rc.d/init.d/httpd restart
순천향대학교 정보기술공학부
이상정
22
아파치 웹 서버 관리
컴퓨터 응용
사용자 홈 페이지 생성 (2)
$ cd ~
<- 자신의 홈 디렉토리로 이동
$ chmod 755 .
$ mkdir public_html
<- 홈 디렉토리 사용권한 변경
$ ls –l
………
drwxrwxr-x 2 lee
$ cd public_html
lee
4096 5월 1 13:26 public_html
$ echo “Welcome to Lee’s Homepage” >> index.html
$ ls –l
-rwxr-xr-x 1 lee lee
26 5월 1 13:26 index.html
순천향대학교 정보기술공학부
이상정
23
아파치 웹 서버 관리
컴퓨터 응용
순천향대학교 정보기술공학부
이상정
24
아파치 웹 서버 관리
사용자 인증
순천향대학교 정보기술공학부
이상정
25
컴퓨터 응용
사용자 인증 설정 (1)
 사용자 디렉토리의 웹 페이지 접근 시 인증
• /etc/httpd/conf/httpd.conf 설정 파일 403 다음 라인 추가
<Directory /home/*/public_html>
AllowOverride All
</Directory>
• htpasswd 명령을 사용하여 인증 파일에 사용자 등록
• 인증을 적용할 디렉토리에 .htaccess 파일 생성
# vi /etc/httpd/conf/httpd.conf
: 403
<Directory /home/*/public_html>
AllowOverride All
</Directory>
# /etc/rc.d/init.d/httpd restart
순천향대학교 정보기술공학부
이상정
26
아파치 웹 서버 관리
컴퓨터 응용
사용자 인증 설정 (2)
$ cd /home/lee/punlic_html
$ htpasswd –c .htpasswd lee
New passwd:
Re-type new passewd:
Adding password for user lee
$ htpasswd .htpasswd kim
New passwd:
Re-type new passewd:
Adding password for user kim
$ chmod 644 .htpasswd
$ cat .htpasswd
lee:2DgEH/P3cyMiI
kim:keGUu7Gke0qBU
순천향대학교 정보기술공학부
이상정
<- 처음 사용자 등록 시만 –c 옵션
27
아파치 웹 서버 관리
컴퓨터 응용
사용자 인증 설정 (3)
$ vi .htaccess
AuthType Basic
AuthName “Edu Test”
AuthUserFile /home/lee/public_html/.htpasswd
Require valid-user
# Require user lee
$ chmod 644 .htaccess
순천향대학교 정보기술공학부
이상정
28
아파치 웹 서버 관리
컴퓨터 응용
순천향대학교 정보기술공학부
이상정
29
아파치 웹 서버 관리
컴퓨터 응용
과제
 팀
•
•
•
홈 페이지 제작
문서 디렉토리는 /home/html
팀 소개
각 개인 홈 페이지에 연결
 개인 홈 페이지
• 문서 디렉토리는 /home/*/public_html
• 개인 소개
• /home/*/public_htm/auth 디렉토리 인증 테스트
순천향대학교 정보기술공학부
이상정
30
아파치 웹 서버 관리
컴퓨터 응용
참고 사이트
 HTTP
• 2004년 컴퓨터시스템설계 강의 중 HTTP.ppt
 아파치 한글 매뉴얼
• http://www.superuser.co.kr/apache/apache2_manual/index.html
순천향대학교 정보기술공학부
이상정
31
아파치 웹 서버 관리