우분투에서 메일 서버(postfix)를 구축하고 설정하는 방법
우분투에서 메일 서버를 구축하고 설정하는 방법에 대해 단계별로 안내해 드리겠습니다.
다음은 메일 서버를 구축하는 과정입니다.
단계 1: 필요한 패키지 설치하기
터미널을 열고 다음 명령을 실행하여 필요한 패키지를 설치합니다.
sudo apt update
sudo apt install -y mysql-server
sudo apt install -y postfix
sudo apt install -y dovecot postfix-mysql dovecot-mysql
단계 2: MySQL 데이터베이스 구성하기
MySQL에 루트 암호를 설정합니다.
sudo mysql_secure_installation
MySQL에 로그인합니다.
sudo mysql -u root -p
다음 명령을 실행하여 새 데이터베이스를 생성합니다.
CREATE DATABASE mailserver;
사용자 및 권한을 설정합니다.
GRANT ALL ON mailserver.* TO 'mailuser'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
EXIT;
단계 3: Postfix 구성하기
다음 명령을 실행하여 Postfix 메일 서버를 구성합니다.
sudo vim /etc/postfix/main.cf
파일의 내용을 아래와 같이 변경합니다.
# 메일을 수신하는 도메인 설정
myhostname = example.com
mydomain = example.com
myorigin = $mydomain
# 로컬 메일을 받을 사용자와 그룹
mydestination = localhost
mail_spool_directory = /var/mail
home_mailbox = Maildir/
# SMTP 리스닝 인터페이스와 포트
inet_interfaces = all
inet_protocols = ipv4
# MySQL 사용 설정
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf
virtual_transport = dovecot
Shift + zz를 눌러 나가기 전에 저장합니다.
단계 4: Dovecot 구성하기
다음 명령을 실행하여 Dovecot 메일 서버를 구성합니다.
sudo vim /etc/dovecot/dovecot.conf
파일의 내용을 아래와 같이 변경합니다.
# 메일 디렉토리와 프로토콜 설정
mail_location = maildir:/var/mail/%d/%n/Maildir
mail_privileged_group = mail
# 인증 및 보안 설정
auth_username_format = %n
auth_mechanisms = plain login
disable_plaintext_auth = yes
ssl = required
ssl_cert = </etc/ssl/certs/ssl-cert-snakeoil.pem
ssl_key = </etc/ssl/private/ssl-cert-snakeoil.key
# MySQL 사용 설정
passdb {
driver = sql
args = /etc/dovecot/dovecot-sql.conf.ext
}
userdb {
driver = sql
args = /etc/dovecot/dovecot-sql.conf.ext
}
Shift + zz를 눌러 나가기 전에 저장합니다.
단계 5: MySQL 설정 파일 생성하기
다음 명령을 실행하여 MySQL 설정 파일을 생성합니다.
sudo vim /etc/postfix/mysql-virtual-mailbox-domains.cf
파일의 내용을 아래와 같이 변경합니다.
user = mailuser
password = password
hosts = 127.0.0.1
dbname = mailserver
query = SELECT 1 FROM virtual_domains WHERE name='%s'
Shift + zz를 눌러 나가기 전에 저장합니다.
마찬가지로, /etc/postfix/mysql-virtual-mailbox-maps.cf와 /etc/postfix/mysql-virtual-alias-maps.cf 파일도 생성하고 내용을 설정합니다.
단계 6: 서비스 재시작 및 방화벽 설정하기
다음 명령을 실행하여 서비스를 재시작합니다.
sudo systemctl restart postfix dovecot mysql
방화벽에서 25번 포트(SMTP)와 143번 포트(IMAP)을 허용해야 합니다.
sudo ufw allow 25
sudo ufw allow 143
이제 메일 서버의 구축과 설정이 완료되었습니다. 송수신하는 방법은 다음과 같습니다.
- 이메일 클라이언트(예: Microsoft Outlook, Mozilla Thunderbird 등)에서 새 계정을 설정합니다.
- 수신 서버 설정에는 IMAP 프로토콜을 사용하고, 서버 이름은 메일 서버의 IP 주소나 도메인 이름을 입력합니다.
- 송신 서버 설정에는 SMTP 프로토콜을 사용하고, 서버 이름은 메일 서버의 IP 주소나 도메인 이름을 입력합니다.
- 인증 정보를 입력하고 연결을 테스트합니다.
이제 이메일 클라이언트를 통해 메일을 송수신할 수 있어야 합니다. 잘 되지 않는 경우, 서비스 로그 파일을 확인하여 문제를 해결할 수 있습니다. 로그 파일은 /var/log/mail.log와 /var/log/dovecot.log에 위치합니다.
참고: 이는 간단한 메일 서버 구축 방법의 일부이며, 보안 및 세부 구성에 대한 추가 조치가 필요할 수 있습니다.
'리눅스' 카테고리의 다른 글
[draft] 우분투에서 Postfix 메일 서버를 사용하여 Gmail로 메일을 보내는 방법 (0) | 2023.06.18 |
---|---|
우분투에서 Postfix와 Dovecot을 구축하고 설정하는 방법 (0) | 2023.06.18 |
HP Smart Array CLI commands (0) | 2023.06.16 |
CentOS 7에서 Apache를 소스 코드로 설치하고 HTTP/2를 활성화하는 방법 (0) | 2023.06.15 |
[보안취약점] 우분투에서 계정 잠금 임계값을 설정하는 방법 (0) | 2023.06.13 |