22.03.23
목차
1. 서버 세팅
- 손에 반드시 익히자!
2. Virtual Host
3. 접근제한
- IP 대역
- 사용자별
서버 세팅
CentOS7-1 세팅
- 보조 DNS서버인 2, 3의 IP를 넣는다
- DNS에 등록한 네임서버, 메일서버는 반드시 처리해줘야한다!
- 레코드 파일 생성 후, 권한 변경하는 것 잊지 말자!
- 초기 페이지 서비스를 위해 수정
- 저번 세팅과 다르게 index.html을 사용하였음
- 따로 httpd 설정파일 건드릴 필요 없다
CentOS7-2 세팅
- 보조 DNS이므로 slave type으로 설정
- 주 DNS의 IP를 넣어준다
- 보조 DNS는 주 DNS의 레코드 파일을 바로 복사하므로 따로 설정해줄 필요 없다
- systemctl restart named후, 확인!
CentOS7-3 세팅
- 세팅값대로 설정파일 설정들 수정
- 사용자 a, b 생성
가상 호스트(Virtual Host)
- 하나의 IP와 Port를 갖고 여러 웹사이트를 서비스 하는 방법
- 여러 웹사이트를 서비스 하는 방법
- 여러개의 IP가 있는 경우
- 여러개의 Port를 사용하는 경우
- 사용자들이 Port를 입력해야하는 번거로움 발생
-> 가상 호스트를 사용하여 동일한 IP와 동일한 Port를 이용
- 대부분의 사이트에서 사용하는 방법
ex) tistory.com에서 다수의 고객들이 개별 사이트를 운영할 수 있는 방법
- https://kyunam1012.tistory.com/
- kyunam1012 : 사용자마다 이 부분이 다르다
- naver.com 역시 blog.naver.com, cafe.naver.com 등을 운영하는데
-> 이 방법이 가상호스트 방식이다
- 시작페이지 처럼 확인해보기 위함이니 간단히 만들자
- 역할 세팅에선 CentOS7-1, CentOS7-2가 블로그 웹 서버 역할을 함으로
2군데 모두 똑같이 만들어줘야 한다
- 역할 세팅에선 CentOS7-2, CentOS7-3가 인트라 웹 서버 역할을 함으로
2군데 모두 똑같이 만들어줘야 한다
- NameVirtualHost *:80 : 모든 아이피에 대해서 80으로 서비스하겠다
- DocumentRoot : 컨텐츠의 위치(index.html을 찾는 것이라 생각)
- ServerAlias : www를 사용하지 않고 접속하는 사용자를 위해 사용
- ServerAdmin은 굳이 사용안해도 된다
- 메인페이지도 반드시 가상호스팅을 해야 페이지 출력이 가능하다
- 안하게 되면 블로그 페이지만 출력이 된다
- 나머지 설정들은 httpd.conf의 설정을 참조하므로 안건드려도 무방하다
- ServerName에서 HostName을 찾으면 그 해당 이름의
DocumentRoot을 찾아서 뿌려준다고 생각하자!
- 원래 1라인당 serial이 1 올라간다고 생각하면 되지만, 그냥 2로 하였다
- BLOG 서비스 페이지가 열리는 것을 확인할 수 있다
- INTRA 서비스 페이지가 열리는 것을 확인할 수 있다
- 메인페이지도 이상없이 잘 열리는 것을 확인할 수 있다
접근 제한
IP 대역 접근 제한
- 권한 세팅에서 BLOG는 W10-1만 접근가능하므로 설정
- 권한 설정은 Directory 지시자를 사용한다
- Order 지시자는 뒤에있는게 먼저 적용된다
- deny, allow 순이므로 deny를 먼저 다음 줄에 선언해도 allow부터 적용
사용자별 접근제어
- 인증 유형을 사용할 수 있도록 허용하기 위해
AllowOverride의 옵션인 AuthConfig 사용
- .htaccess : 웹서버에서 브라우저같은 클라이언트에서 접근할 때
어떤 식으로 서비스를 제공할 지 가상 호스트 설정 파일을 통해 결정하는데,
이 때 서비스할 파일이 위치한 곳의 디렉토리 경로를 지정
- httpd.conf에서 .ht로 시작하는 파일에 접근 권한을 막은 이유
- AuthName : 인증 영역에 대한 이름 지정(중요하지 않음)
- AuthType : 인증 타입 설정(Basic, Diget이 있지만 Basic만 현재 지원중)
- AuthUserFile : 인증 사용자와 패스워드를 가진 패스워드 파일을 지정
- Require user : 지정한 유저만 디렉터리 접근이 허용
- 여기서 a와 b는 로컬 유저가 아니라 따로 생성해줘야한다
- htpasswd -c옵션은 처음만들때만 사용한다
- 사용 후, 또 사용하게 되면 덮어쓰기가 되어 b만 생성된다
- a와 b를 제외하면, 다른 사용자는 모두 접근이 불가