KakaoTalk_20240401_092737026.png

웹브라우저인 클라이언트에서 요청하면 서버에서 요청을 받아들여 응답하는데 저장되어 있는 파일과 코드를 불러들여서 보내주면 해석해서 출력한다.

Document root: 웹페이지를 구성하는 파일을 저장하는 장소

웹서버로 유명한 Apache와 NginX가 있다.

실습

웹서버 패키지 설치

Untitled

패키지 설치 확인

Untitled

Untitled

conf, conf.d 웹서버 설정 파일, 원래는 conf만 있었으나 기능이 길어지면서 디렉토리가 생성
conf, modules.d 추가 기능 관련 디렉토리인데 Apache는 정적인 파일들만 기본적으로 기능해서 php나 jsp같은 언어들을 해석해서 클라이언트에 제공하고 싶다면 php 모델을 설치해야함. 보안을 구성하고 싶다면 보안 모듈을 추가로 구성
logs httpd 관련된 서비스 로그

vi /etc/httpd/conf/httpd.conf

Untitled

ServerRoot "/etc/httpd"

작업할 디렉토리

Listen 80

포트 80으로 들어오는 건 어디딘지 접근허용

여러개 포트를 써도 상관없음

Untitled

Include conf.modules.d/*.conf

각각의 모듈에 대한 설정파일이 저장되는 곳

User apache Group apache

클라이언트에게 부여된 uid, gid

만약에 nobody로 바꾸면 익명 계정으로 어떤 권한도 없음

ServerAdmin root@localhost

서버 관리자의 이메일

Untitled

ServerName www.kgitbank.com:80

서버 네임을 명시된 주소로 변경

<Directory />

/최상위 디렉토리에 대해서 접근제한을 설정하는 지시어구, 따로 잘 설정을 안함

AllowOverride none

→ 추가인증 기능 사용여부

Require all denied

→ 어떤 요청이든 다 거부. 리눅스 시스템 전체(하위 디렉토리까지)에 이 요청이 적용됨. 클라이언트가 접근할 수 있는 한 부분만 설정해서 풀어줄 것 이게 document root임

Untitled

주석 정리할 것

Directory "/var/www”

상위 디렉토리가 거부라서 하위의 /var/www 디렉토리 역시 거부

Require all granted

접근을 허락시키겠다

Options Indexes FollowSymLinks

다른 옵션들이 많지만, 보안상 안좋기 때문에 클라이언트에게 너는 메인페이지만 가게끔 하는게 좋다.

방화벽 설정 추가

Untitled

ip tables에 추가

Untitled

아까 설치한 패키지인 http 추가

접속시