상세 컨텐츠

본문 제목

[34] Linux 가상 호스트 (Virtual Host) | NFS | MAIL

IT/Linux

by o_zeew 2022. 3. 25. 10:17

본문

(1) 가상 호스트 (Virtual Host)

(2) NFS (Network File System)

(3) Mail


1. 가상 호스트 Virtual Host

 1. 하나의 IP와 Port를 갖고 여러 웹사이트를 서비스 하는 방법

    - 가상 호스트 Virtual Host
 2. 여러 웹사이트를 서비스 하는 방법
   1. 여러개의 IP가 있는 경우
   2. 여러개의 Port를 사용하는 경우
       - 사용자들이 port를 입력해야하는 번거로움 발생
   3. 동일한 IP와 동일한 Port를 이용 : 가상 호스트
       - 대부분의 사이트에서 사용하는 방법

 

  * Naver.com이 blog.naver.com과 cafe.naver.com을 운영하는 방식 = 가상 호스트

 

<가상 호스트 생성해보기>

  * 가상호스트 이외의 설정은 이전 포스팅 참조

가상 호스트 추가 설계

 1. CentOS7-1 : MAIN, BLOG

 2. CentOS7-2 : MAIN, BLOG, INTRA

 3. CentOS7-3 : MAIN, INTRA

 4. Blog 페이지는 W10-1만 접속 가능하게
 5. Intra 페이지는 a, b 사용자만 접속 가능

  * 이전 실습에서 MAIN WEBSERVER 생성 완료


1. BLOG 설정 (CentOS7-1, CentOS7-2)

  - 필요 디렉토리 생성

블로그의 시작페이지 파일을 넣을 디렉토리 생성

  - 시작페이지 생성

vi 편집기로 /var/www/blog/ 디렉토리 안에 index.html 파일 생성
시작페이지 작성

  * blog의 index.html 파일을 읽지 못하면 apache에서 제공하는 시작페이지 실행이 됨

  - welcome.conf. 파일의 이름 변경

 

2. INTRA 설정 (CentOS7-2, CentOS7-3)

  - 필요 디렉토리 생성

intra의 시작페이지 파일을 넣을 디렉토리 생성

  - 시작페이지 생성

vi 편집기로 /var/www/intra/ 디렉토리 아래에 index.html 파일 생성
시작페이지 작성

 

3. 설정 파일 편집

vi 편집기로 설정 파일 열기
가상호스트 / 접근 제한

(가상 호스트) 

  - *:80 : 모든 IP에 대하여 80포트로 서비스

  - ServerName : DNS에 등록되어있는 이름

  - DocumentRoot : 실제 루트 디렉토리 밑에 콘텐츠의 정확한 위치 작성

  - ServerAlias : www.jwoh.xyz와  jwoh.xyz를 같은 취급  

 

(IP별 접근제한)

  - Order 지시자 뒤에 오는 명령어는 뒤쪽 부터 적용 (deny,allow 작성 시 allow 먼저 적용)

  - Blog는 w10-1만 접속 가능하게 설정

  - AllowOverride AuthConfig : 인증 유형 사용

 

 

4. 사용자별 접근 제한 설정

  - 접근 제한 파일 생성

vi 편집기를 사용해 /var/www/intra/ 디렉토리 아래에 .htaccess 파일 생성
userfile의 경로 / 사용자 a와 b만 접근 가능

  - userfile을 생성할 디렉토리 생성

  - 사용자 계정 생성

   * 처음 만드는 계정만 -c 옵션을 사용해 생성

htpasswd 명령어를 사용해 계정 a 생성
htpasswd 명령어를 사용해 계정 b 생성

  - 설정 파일 변경 후 시스템 재시작

 

4. 주DNS 업데이트

vi 편집기로 정방향 영역 조회 파일 열기

  * Host와 도메인 이름을 가지고 서버에 찾아간 후 자신과 똑같은 이름을 가진 호스트를 탐색

    호스트 서버 네임에서 호스트 이름을 찾으면 그 이름에 맞는 DocumentRoot를 찾아가 해당 파일을 뿌리는 방식

blog와 intra 정보 추가 후 serial 숫자 올려주기

  - 설정 파일 변경 후 시스템 재시작

 

5. Windows에서 설정 적용 확인

w10-1 블로그 접속 가능
w11-1 블로그 접속 불가능
계정 a로 intra 접속
계정 a intra 접속 가능
계정 b로 intra 접속
계정 b intra 접속 가능

 


 

2. NFS (Network File System)

 1. 파일 시스템 공유 가능 : 디스크를 확장시키는 효과

<NFS 사용해보기>

<Linux Server : CentOS7-1>

1.  서버 설치

nfs-utils 설치

2. 서버 디렉토리 생성

mount할 디렉토리 생성

3. nfs 등록

vi 편집기로 /etc/exports 파일 열기
nfs 내용 작성

  - /nfs 디렉토리를 10.0.0.0 네트워크의 사용자에게 접근 허용

  - (읽기,쓰기 권한 부여 / 동기화 설정 / 접속하는 모든 사용자를 root로 처리 / anonymous의 uid와 gid = 0)

 

4. 설정 파일 변경 후 시스템 시작

nfs 시작

5. 설정 적용 확인

exportfs -v 명령어를 사용해 설정 적용 확인

6. Port 확인

 

 

7. 서비스 열기

   * 포트의 수가 많이 때문에 서비스로 열어주기

nfs, mountd, rpc-bind, portmapper, nlockmgr 서비스 열기

 


 

<Linux Client : CentOS7-2>

1. 클라이언트 서버 설치

nfs-utils 설치
설치 완료

2. 클라이언트 디렉토리 생성

서버와 mount 할 디렉토리

3. 서버와 mount

10.0.0.11의 /nfs 디렉토리를 /nfs-c와 마운트
마운트 확인 가능

4. 파일 생성으로 확인

클라이언트에서 파일 생성
생성 확인
nfs 서버에서 클라이언트에서 작성한 파일 확인 가능

 


 

<Windows Client : W10-1>

1. NFS 기능 켜기

제어판 - 프로그램 및 기능
Windows 기능 켜기/끄기
NFS용 서비스 모두 체크

 

2. NFS와 Windows mount

anonymous로 10.0.0.11에 있는 /nfs 디렉토리와 z: 드라이브로 마운트
마운트 확인 가능

3. /nfs 디렉토리에 others 쓰기 권한 부여

/nfs 디렉토리에 others에게 쓰기권한이 없기 때문에 새로운 파일 생성 불가
/nfs 디렉토리에 others에게 쓰기 권한 부여
Windows에서 파일 작성 가능
nfs 서버에서도 Windows에서 작성한 파일 확인 가능

 


 

<NFS 연결 해제 방법>

1. Windows z: 드라이브 umount

umount z:
mount 해제 확인 가능

2. Linux /nfs-c umount

df -Th 명령어로 mount 해제 확인 가능

 


 

3. MAIL (전자 우편)

  - 메일이 전달되는 순서 : MUA -> MDA -> MTA -> MDA -> MUA

메일이 전달되는 경로

 1. 보내는 메일 Server
  - SMTP : TCP 25
 2. 받는 메일 Server
  - POP : TCP 110
     - 메일을 읽으면 Client 쪽으로 다운로드 됨
     - 전용 단말이 없는 경우에 사용하면 여러 군데로 흩어진 메일을 모아야 하는 단점이 발생
     - sendmail
  - IMAP : TCP 143
     - 메일을 읽어도 서버에 남음
     - 메일 사서함 용량 관리 필요
     - dovecot


<MAIL 사용해보기>

1. 관련 파일 설치

dovecot, sendmail, sendmail-cf 설치
설치 완료

2. 주DNS 정방향 조회 영역 파일에 mail 설정

vi 편집기로 정방향 조회 영역 파일 열기
mail을 CentOS7-3 IP로 작성

3. 설정 파일 편집

vi 편집기로 sendmail.mc 파일 열기

  * dnl = #

주석 해제 후 14레벨로 설정
인증 관련 부분 주석 해제

  * 모든 IP에 서비스 : IP 0.0.0.0 혹은 IP 설정 부분 삭제

모든 IP 0.0.0.0
IP 작성을 삭제 함으로써 모든 IP에 서비스

4. 작성한 설정 파일을 configuration 파일에 밀어넣기

m4 명령어를 사용해 mc 파일을 기존 cf 파일에 밀어넣기

5. sendmail.cf 파일 편집

vi 편집기로 configuration 파일 열기

  - 39번째 행에 존재하는 띄어쓰기 때문에 파일 실행시 오류 발생

빈칸 존재

  - dd 명령어로 해당 행 삭제

빈칸 삭제

6. 도메인 등록

vi 편집기로 /etc/mail/local-host/names 파일 열기
도메인 이름 작성

7. 사용자 생성

사용자 aa, bb 생성 후 비밀번호 설정

8. 접근 제어 파일 편집

  * 이 파일로 SMTP 사용 가능 여부 결정

vi 편집기로 접근 제어 파일 열기
도메인, 메일, IP, 네트워크 작성

9. Sendmail이 이해하도록 hash 작업

  - /etc/mail/access파일을 받아서 /etc/mail/access 파일을 만드는데 makemap hash 적용하여 sendmail이 알아볼 수 있는 database 형태를 생성

< : 입력

10. 그룹 사용자에 메일 추가

vi 편집기로 group 파일 열기
mail 부분에 사용자 aa, bb 추가

11. 설정파일 변경 후 메일 시스템과 인증 관련 시스템 시작 

sendmail과 saslauthd 시작

12. 서비스 할 Port와 Protocol 지정

vi 편집기로 설정 파일 열기
프로토콜 설정
모든 Port로 모든 IP를 서비스

13. 인증 파일 설정

vi 편집기로 인증 파일 열기
평문 인증 사용

14. 사서함 위치 지정

vi 편집기로 메일 파일 열기
메일의 위치 = /var/mail/사용자이름(변수)

15. Port 열기

vi 편집기로 마스터 파일 열기
imap의 143번 Port 열기
pop3의 110번 Port 열기

16 SSL 편집

   * SSL 사용시에 데이터가 모두 암호화 되어 사용하기 안전함

vi 편집기로 ssl 파일 열기
ssl 사용 안함

17. 시스템 시작

dovecot 시작

18. 방화벽 열기

SMTP의 25번 포트, POP3의 110번 포트, IMAP의 143번포트
방화벽 설정 적용 확인 가능

 

<썬더버드 설치>

1. 썬더버드 파일 다운

google에 썬더보드 검색
무료 다운로드

  - 다운로드 된 파일을 w10-1, w11-1로 복사

w10-1
w11-1

2. 썬더버드 설치 진행

설치 과정

3. 이메일 생성(aa)

이름, 이메일 주소, 비밀번호 설정

  - w10-1 설정

받는 서버 정보 작성
보내는 서버 정보 작성 후 Re-test
설정 완료

4. 이메일 전송 테스트

  - w10-1에서 w11-1로 메일 작성 후 보내기

w10-1에서 w11-1로 메일 작성
w11-1에서 메일 확인 가능

  - w11-1에서 w10-1로 메일 작성 후 보내기

w10-1에게서 받은 메일 답장 작성
w10-1에서 답장 확인 가능

 

 

 

 

관련글 더보기