토이 프로젝트/서버갖고 놀기 for DevOps

메일 서버 구축하기 dovecot, postfix - (3) dovecot 설치 및 설정 & 유저별 메일 박스 설정

TerianP 2021. 5. 23.
728x90

이번에도 바로 시작합니다!

구축 순서

1. SSL 인증서 생성

2. postfix 설치 및 설정 : 각종 파일 설정 , SSL 인증서 설정 

3. dovecot 설치 및 설정  : 각종 파일 설정 , SSL 인증서 설정

4. 유저별 메일 박스 설정 : 유저별 메일 박스 생성 및 설정 파일 확인

5. Outlook 프로그램 연동

6. Mysql 과 메일 서버 연동 및 최종 연동 확인(22.01.26 업데이트)

 

이번에는 구축 순서 부분 중 3. dovecot 설치 및 설정 -> 4. 유저별 메일 박스 설정 까지 작성하겠습니다!

 

1. dovecot 설치 및 설정

1. 먼저 dovecot 을 설치합니다. 명령어는 다음과 같습니다.

sudo apt-get install dovecot-core dovecot-imapd

설치 확인!!

2. 설치가 완료되면 dovecot의 설정파일이 있는 위치로 가서 다음 5개의 파일을 수정합니다.

1) 위치 : /etc/dovecot/conf.d

2) 수정 해야 할 파일

수정해야할 파일은 아래의 10-auth, 10-mail, 10-master, 10-ssl, 20-pop3 총 5개 입니다.

- 10-auth 는 접속 권한

- 10-mail 은 메일 전반에 대한 설정(메일함 등),

- 10-master 은 dovecot에 대한 전반적 설정,

- 10-ssl.conf 는 SSL 설정,

- 20-pop3 는 pop3 와 관련된 설정을 만지는것 같은데 정확히는 어떤 내용의 파일인지 잘 모르겠네요ㅠ

요렇게 5개를 수정해야 합니다

3. 각각의 파일들을 열어서 아래 사진과 동일하게 설정해줍니다. 파일 수정하기 전에 backup 디렉토리를 만들어서 백업해두는 것은 절대! 잊으시면 안됩니다

1) 10-auth.conf

설정 1
설정 2

2) 10-mail.conf

설정 1

3) 10-master.conf

설정 1
설정 2

4) 10-ssl.conf

  • 먼저 ssl 부분을 yes 로 바꾸는 것 잊지마세요!
  • 추가로 앞의 postfix 와 마찬가지로 SSL/TLS 경로를 적어야합니다.
  • 파일은 따로 생성할 필요없이 postfix 에서 썼던 파일들을 그대로 가져와서 이름만 바꿔주면 됩니다
  • 무엇보다 중요한 것은 해당 파일의 경로를 잘 지정해줘야 한다는 점입니다.
  • 저는 경로를 postfix 와 마찬가지로 dovecot 안에 ssl 디렉토리를 생성하여 그곳에 pem 파일을 두었고, 이 위치 경로를 지정해주었습니다.

요렇게 지정해주었습니다

5) 20-pop3.conf

여기는 하나만 수정하면 됩니다

4. 설정을 dovecot 에 적용하기 위해서 다음 명령어를 사용해 재시작 합니다.

sudo service postfix stop
sudo service postfix start
또는
sudo service dovecot stop
sudo service dovecot start

 

5. postfix때와 마찬가지로 pop3(110) 및 pop3s(995) 를 통해 접속해서 확인을 해봅시다

각각의 명령어를 사용했을 때 아래 사진과 같이 나와야 성공입니다.

 

- pop3

1) 명령어 : telnet [메일 도메인 주소] 110

여기는 일단 Dovecot ready 로 나오는 것만 확인하면 됩니다.

 

 

-pop3s

1) 명령어 : openssl s_client -connect [메일 도메인 주소]:995

2) 다음 순서대로 명령을 사용해서 메일 리스트를 확인해볼 수 있습니다

user [유저명]

pass [패스워드]

list

- 저는 이미 outlook과 연동해서 테스트 메일들을 보냈었기에 아래처럼 리스트가 보여지는 것입니다.

요렇게 나오면 성공이에요!

2. 각 유저별 메일 박스 만들기

지금까지 dovecot 과 postfix 를 이용해서 각각 메일 수신 서버, 발신 서버를 구축 완료했습니다. 이제 outlook 연동을 위해 마지막으로 유저별 메일 박스를 만들어야 합니다.

유저별 메일 박스의 의미는 리눅스에서 생성되는 유저별로 메일 수신함, 발신함, 삭제함 등을 만드는 작업이라고 생각하시면 됩니다. 네이버나 구글과 같은 사이트들에서는 유저 DB와 연동해서 메일 박스가 만들어지게 됩니다. 저는 아직 거기까지는 힘들듯 싶어 DB와의 연동 부분을 제외하고, 리눅스 상의 유저를 기본으로 메일 박스를 생성하도록 하겠습니다.

 

  1. 다음 명령어를 사용해 /etc/skel 에 유저별 메일 박스를 생성합니다.
  • 여기서 /etc/skel 의 디렉토리는 리눅스에서 유저 계정이 생성될때 기본으로 함께 생성해주는 것들을 설정하는 곳입니다. 따라서 이곳에 메일 박스를 만들어두면 유저 계정별이 생성 될 때 자동으로 함께 생성되게 됩니다.
mkdir /etc/skel/Maildir

mkdir /etc/skel/Maildir/.Drafts

mkdir /etc/skel/Maildir/.Sent

mkdir /etc/skel/Maildir/.Trash

mkdir /etc/skel/Maildir/.Templates

 

2. 이미 있는 계정에 대해서는 각 유저별 홈 디렉토리로 들어가서 다음 명령어를 사용해 수동으로 메일 박스를 생성합니다. 만일 기존에 5개의 유저가 있고, 이 중 3명의 유저만 메일을 사용한다고 하면 해당 3명의 유저에게 모두 들어가서 명령어를 사용해 메일박스를 생성해야합니다.

cp -r /etc/skel/Maildir /home/myuser/

chown -R myuser:usergroup /home/myuser/Maildir

chmod -R 700 /home/myuser/Maildir

 

여기까지해서 4. 유저 메일 박스 생성까지 마무리되었습니다.

긴 글 따라오시느라 고생많으셨습니다!!

 

* 추가로 메일박스와 DB 연동하는 작업은 추후에 꼭! 글로 남겨볼 예정입니다. 어쨌거나 그렇게까지해야 완성이라는  느낌이 강해서...좀 더 공부하고 강해져서 돌아오겠습니다

댓글