메일 서버 · 2 min read · Nov 18, 2025

Postfix로 가상 호스팅, 첫 번째 부분

버전 1.0

저자: Joe Topjian

Postfix의 가상 도메인 지원은 실제로 꽤 강력합니다. Postfix로 가상 도메인을 호스팅하는 방법은 세 가지가 있으며, 모두 여기에서 설명됩니다. 우리는 세 번째 방법인 별도의 도메인과 비유닉스 계정에 대해 살펴보겠습니다.
왜 이 방법인가요? 결국 이 옵션이 가장 많은 유연성을 제공합니다. 설정하고 이해하는 데 조금 더 복잡하지만 여러 도메인을 호스팅할 때는 그만한 가치가 있습니다.

우리의 최종 목표는 여러 도메인에 대한 메일 배달을 지원하는 이메일 서버를 만드는 것입니다. 각 이메일 주소는 해당 도메인에만 유효합니다. 예를 들어, [email protected]와 [email protected]는 서로 다른 메일을 받는 두 개의 다른 계정입니다.
시작하기 위해 모든 도메인을 가상 호스트로 전환할 것입니다. Postfix가 단일 도메인으로 설정되어 있더라도, 우리는 그 도메인을 가상으로 만들 것입니다. 이 작업을 수행할 필요는 없지만, 저는 더 정리된 것 같아서 이렇게 합니다. Postfix가 하나의 실제 도메인과 나머지를 가상으로 호스팅하면 항상 Postfix를 두 번 구성해야 합니다: 각 도메인 유형마다 한 번씩. 이를 위해 main.cf의 myhostname 줄을 다음과 같이 변경합니다:

myhostname = localhost

다음으로 main.cf에 다음 가상 도메인 정보를 추가할 것입니다(모두 설명될 것입니다):

virtual_mailbox_domains = /etc/postfix/vhosts.txt

virtual_mailbox_base = /var/spool/vmail
virtual_mailbox_maps = hash:/etc/postfix/vmaps.txt
virtual_uid_maps = static:1000
virtual_gid_maps = static:1000
virtual_alias_maps = hash:/etc/postfix/valias.txt

첫 번째 줄에서는 vhosts.txt라는 텍스트 파일을 사용하고 있습니다. 이 파일의 이름은 원하는 대로 지정할 수 있습니다. 이 텍스트 파일 안에는 호스팅하는 모든 도메인의 간단한 단일 열 목록이 들어 있습니다. 예를 들어:

domain1.com

domain2.com

virtual.org

다음 줄은 모든 메일을 저장할 기본 디렉토리를 지정합니다. 다시 말하지만, 원하는 대로 선택할 수 있습니다.
세 번째 줄은 vmaps.txt라는 텍스트 파일을 가리킵니다. 이 파일은 두 개의 열로 구성된 텍스트 파일입니다. 첫 번째 열은 가상 이메일 주소를 지정하고, 두 번째 열은 해당 사용자의 메일박스 위치를 지정합니다. 실제 도메인 호스팅과 마찬가지로 위치의 끝에 /를 지정하면 Maildir 형식이 됩니다. 그렇지 않으면 mbox입니다. 저는 vmaps.txt를 해시 파일로 변환하기 때문에 해시를 지정했습니다:

postmap vmaps.txt

이렇게 하면 vmaps.txt.db라는 파일이 생성됩니다. Postfix는 해시에서 정보를 조회하는 것이 일반 텍스트 파일보다 빠릅니다.
vmaps.txt의 내용은 다음과 같습니다:

[email protected] domain1.com/joe/

[email protected] domain2.com/joe/

[email protected] virtual.org/john/

두 번째 열을 살펴보세요. 값은 virtual_mailbox_base 줄에 추가됩니다. 따라서 가상 메일박스의 절대 경로는 예를 들어 /var/spool/vmail/domain1.com/joe/가 됩니다. 실제로 domain1.com과 joe 디렉토리를 만들어야 합니다. 이 메일박스는 maildir 형식이므로, 이 메일박스 아래에 3개의 하위 디렉토리인 new, cur, tmp가 필요합니다. 이를 수행하는 여러 스크립트가 있지만, 기본적으로 다음과 같이 잘 작동합니다:

mkdir new cur tmp

chmod 700 new cur tmp

다음 두 줄은 메일박스에 접근할 수 있는 계정을 정의합니다. 네, 하나의 계정이 모든 가상 이메일을 읽을 수 있는 능력을 가집니다. 네, 이것은 보안 문제로 간주될 수 있습니다. 누군가가 이 사용자가 되지 않도록 최선을 다해 주세요. 우리는 이 계정을 “virtual”이라고 부를 것입니다. 시스템에 원하는 방법으로 추가하고(uid 및 gid를 기록해 두세요)
마지막 줄은 가상 계정의 별칭을 배치할 수 있는 텍스트 파일을 지정합니다. 내용은 다음과 같습니다:

[email protected] [email protected]

마지막으로, 메일박스의 소유권을 가상 사용자에게 부여해야 합니다. 다음을 실행하면 됩니다:

chown -R virtual:virtual /var/spool/vmail

그게 전부입니다. “postfix reload”를 실행하면 모든 설정이 완료됩니다. 물론 이제 실제로 이메일을 검색할 방법이 필요합니다. 그것은 두 번째 부분에서 다룰 것입니다.

두 번째 부분:

https://www.howtoforge.com/linux_postfix_virtual_hosting_2

이 문서의 원본 위치:

http://adminspotting.net/howtos/postfixvirtual.html

| |

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.