05 linux 5 apache

31
순순순순순순 순순순순순순순 순 순 순 1 순순순 순 순순 순순 순순순 순 HTTP 순순 순순순 순순 순순순순 순순순 순순 순순순순 순순순 순순

Upload: jauin

Post on 16-Nov-2014

140 views

Category:

Documents


2 download

DESCRIPTION

linux

TRANSCRIPT

Page 1: 05 Linux 5 Apache

순천향대학교 정보기술공학부 이 상 정 1

아파치 웹 서버 관리

아파치 및 HTTP 소개 아파치 서버 설치하기 아파치 서버 설정하기 사용자 인증

Page 2: 05 Linux 5 Apache

순천향대학교 정보기술공학부 이 상 정 2

아파치 및 HTTP 소개

Page 3: 05 Linux 5 Apache

순천향대학교 정보기술공학부 이 상 정 3

컴퓨터 응용

아파치 웹 서버 관리

아파치 웹 서버 소개

아파치 웹 서버• 정식 명칭 : Apache HTTP server• 관련 홈페이지 : www.apache.org • GNU GPL 라이센스를 통해 무료로 배포되는 소프트웨어• 현재 50% 이상의 웹 서버 소프트웨어 시장 점유율

• 안정적으로 동작• www.amazon.com 이나 IBM 같은 주요 인터넷 서비스 회사에서도

아파치 웹 서버를 사용• 아파치 서버 프로그램 전체는 물론이고 관련 컴포넌트들의 소스

코드가 무료로 제공• 유연성이 좋기 때문에 여러 응용 분야에 적용• 비교적 보안이 잘 유지되는 것으로 평가

Page 4: 05 Linux 5 Apache

순천향대학교 정보기술공학부 이 상 정 4

컴퓨터 응용

아파치 웹 서버 관리

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 를 클라이언트 형태로 구현한 것

HTTP 프로토콜 소개

Page 5: 05 Linux 5 Apache

순천향대학교 정보기술공학부 이 상 정 5

컴퓨터 응용

아파치 웹 서버 관리

HTTP 를 이용한 브라우저와 서버의 연결 (1)

Page 6: 05 Linux 5 Apache

순천향대학교 정보기술공학부 이 상 정 6

컴퓨터 응용

아파치 웹 서버 관리

HTTP 를 이용한 브라우저와 서버의 연결 (2)

1. 브라우저는 서버 호스트에 접속 URL 에 명시된 서버 ( 인터네트 주소 : 포트번호 ) 에 연결 default 포트 번호 : 80

2. 브라우저는 요청 메시지 (request message) 를 생성하여 전송

3. 서버는 브라우저의 요청 메시지에 대한 응답메시지 (response message) 를 전송 응답헤더에는 성공 / 실패여부 , 전송될 데이타타입 ( 텍스트 ,

이미지 , 동영상 등 ) 으로 구성 응답헤더에 이어 실제 데이타를 전송

4. 서버는 응답을 보낸 직후 강제로 접속 종료

Page 7: 05 Linux 5 Apache

순천향대학교 정보기술공학부 이 상 정 7

컴퓨터 응용

아파치 웹 서버 관리

HTTP 메시지 구성 메시지

• 스타트라인 (start line)request linestatus line

• 헤더 (header)• 메시지바디 (message

body)

Page 8: 05 Linux 5 Apache

순천향대학교 정보기술공학부 이 상 정 8

컴퓨터 응용

아파치 웹 서버 관리

메시지 예

Page 9: 05 Linux 5 Apache

순천향대학교 정보기술공학부 이 상 정 9

아파치 서버 설치하기

Page 10: 05 Linux 5 Apache

순천향대학교 정보기술공학부 이 상 정 10

컴퓨터 응용

아파치 웹 서버 관리

레드햇 9.0 배포판 설치 • 설치할 패키지 사용자 설정을 선택하여 웹 서버 선택• 이미 설치된 아파치 서버 사용 시에는 다음 정도만 알면 됨 .• 웹 컨텐츠의 첫 페이지 위치

/var/www/html• 아파치 설정 파일들의 위치

/etc/httpd/conf• 아파치 서버 재시작 명령어

/etc/rc.d/init.d/httpd restart

레드햇 9.0 배포판 설치

Page 11: 05 Linux 5 Apache

순천향대학교 정보기술공학부 이 상 정 11

컴퓨터 응용

아파치 웹 서버 관리

아파치 서버 최신 버전 얻기• 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

직접 설치

Page 12: 05 Linux 5 Apache

순천향대학교 정보기술공학부 이 상 정 12

컴퓨터 응용

아파치 웹 서버 관리

설치확인

레드햇 9.0 설치 기준 설치확인

• 웹 브라우저로 부여된 도메인 네임 (cse.sch.ac.kr) 이나 IP 주소 (220.69.***. **) URL 기술

• 아파치 Test Page 홈 페이지 확인되면 성공

Page 13: 05 Linux 5 Apache

순천향대학교 정보기술공학부 이 상 정 13

컴퓨터 응용

아파치 웹 서버 관리

웹서버 시작 , 종료

레드햇 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

Page 14: 05 Linux 5 Apache

순천향대학교 정보기술공학부 이 상 정 14

컴퓨터 응용

아파치 웹 서버 관리

아파치 계정 및 최상위 홈페이지

아파치 서버는 디폴트로 사용자 apache 사용자로 실행• apache 사용자 계정이 존재하는 지 확인• /etc/passwd 파일을 보고 apache 계정이 존재하는지 확인함

# cat /etc/passwd# grep “apache” < /etc/passwd

최상위 홈페이지 • 서버의 URL 만 입력하면 브라우저에 표시되는 페이지• 레드햇 9.0 에서 최상위 홈페이지 위치는 /var/www/html• 웹 문서는 일반권한 (other) 자가 read 권한이 있어야 읽음

Page 15: 05 Linux 5 Apache

순천향대학교 정보기술공학부 이 상 정 15

컴퓨터 응용

아파치 웹 서버 관리

웹 문서 테스트 (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 190 4 월 12 15:14 test.htmldrwxr-xr-x 2 webalizer root 1024 4 월 2 04:02 usage

Page 16: 05 Linux 5 Apache

순천향대학교 정보기술공학부 이 상 정 16

컴퓨터 응용

아파치 웹 서버 관리

웹 문서 테스트 (2)

Page 17: 05 Linux 5 Apache

순천향대학교 정보기술공학부 이 상 정 17

컴퓨터 응용

아파치 웹 서버 관리

웹 문서 테스트 (3)

최상위 홈페이지 문서• /var/www/html

에 index.html 문서를 작성하면 URL 만 기술해도 됨

# pwd/var/www/html#mv test.html index.html# lsindex.html usage

Page 18: 05 Linux 5 Apache

순천향대학교 정보기술공학부 이 상 정 18

아파치 서버 설정하기

Page 19: 05 Linux 5 Apache

순천향대학교 정보기술공학부 이 상 정 19

컴퓨터 응용

아파치 웹 서버 관리

아파치 서버 설정

아파치 설정 파일• /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• 디폴트로 한글 설정

Page 20: 05 Linux 5 Apache

순천향대학교 정보기술공학부 이 상 정 20

컴퓨터 응용

아파치 웹 서버 관리

최상위 홈페이지 위치 설정변경 예

최상위 홈페이지 위치를 /home/html 로 변경# vi /etc/httpd/conf/httpd.conf

: 289DocumentRoot "/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 restarthttpd 를 정지함 : [ 확인 ]httpd ( 을 ) 를 시작합니다 : httpd: Could not determine the server's fully qualified do

main name, using 127.0.0.1 for ServerName[ 확인 ] 웹 브라우저에서 cse.sch.ac.kr 테스트

Page 21: 05 Linux 5 Apache

순천향대학교 정보기술공학부 이 상 정 21

컴퓨터 응용

아파치 웹 서버 관리

디폴트 한글 인코딩 설정

# vi /etc/httpd/conf/httpd.conf: 780AddDefaultCharset ISO-2022-KR

#

Page 22: 05 Linux 5 Apache

순천향대학교 정보기술공학부 이 상 정 22

컴퓨터 응용

아파치 웹 서버 관리

사용자 홈 페이지 생성 (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

Page 23: 05 Linux 5 Apache

순천향대학교 정보기술공학부 이 상 정 23

컴퓨터 응용

아파치 웹 서버 관리

사용자 홈 페이지 생성 (2)

$ cd ~ <- 자신의 홈 디렉토리로 이동

$ chmod 755 . <- 홈 디렉토리 사용권한 변경$ mkdir public_html

$ ls –l………drwxrwxr-x 2 lee lee 4096 5 월 1 13:26 public_html$ cd 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

Page 24: 05 Linux 5 Apache

순천향대학교 정보기술공학부 이 상 정 24

컴퓨터 응용

아파치 웹 서버 관리

Page 25: 05 Linux 5 Apache

순천향대학교 정보기술공학부 이 상 정 25

사용자 인증

Page 26: 05 Linux 5 Apache

순천향대학교 정보기술공학부 이 상 정 26

컴퓨터 응용

아파치 웹 서버 관리

사용자 인증 설정 (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

Page 27: 05 Linux 5 Apache

순천향대학교 정보기술공학부 이 상 정 27

컴퓨터 응용

아파치 웹 서버 관리

사용자 인증 설정 (2)

$ cd /home/lee/punlic_html$ htpasswd –c .htpasswd lee <- 처음 사용자 등록 시만 – c 옵션New passwd:Re-type new passewd:Adding password for user lee$ htpasswd .htpasswd kimNew passwd:Re-type new passewd:Adding password for user kim$ chmod 644 .htpasswd$ cat .htpasswdlee:2DgEH/P3cyMiIkim:keGUu7Gke0qBU

Page 28: 05 Linux 5 Apache

순천향대학교 정보기술공학부 이 상 정 28

컴퓨터 응용

아파치 웹 서버 관리

사용자 인증 설정 (3)

$ vi .htaccessAuthType BasicAuthName “Edu Test”AuthUserFile /home/lee/public_html/.htpasswdRequire valid-user # Require user lee

$ chmod 644 .htaccess

Page 29: 05 Linux 5 Apache

순천향대학교 정보기술공학부 이 상 정 29

컴퓨터 응용

아파치 웹 서버 관리

Page 30: 05 Linux 5 Apache

순천향대학교 정보기술공학부 이 상 정 30

컴퓨터 응용

아파치 웹 서버 관리

과제

팀 홈 페이지 제작 • 문서 디렉토리는 /home/html• 팀 소개 • 각 개인 홈 페이지에 연결

개인 홈 페이지• 문서 디렉토리는 /home/*/public_html• 개인 소개• /home/*/public_htm/auth 디렉토리 인증 테스트

Page 31: 05 Linux 5 Apache

순천향대학교 정보기술공학부 이 상 정 31

컴퓨터 응용

아파치 웹 서버 관리

참고 사이트

HTTP• 2004 년 컴퓨터시스템설계 강의 중 HTTP.ppt

아파치 한글 매뉴얼• http://www.superuser.co.kr/apache/apache2_manual/index.html