이 자습서는 다음을 사용하여 전체 메일 서버를 설치하고 구성하는 방법을 안내합니다. 접미사 입력 데비안 9 릴리스. 또한 다음을 사용하여 계정 사서함을 구성하는 방법도 다룹니다. 비둘기장 를 통해 메일을 검색하고 작성하기 위해 IMAP 규약. 사용자가 사용할 Rainloop 웹메일 메일을 처리하기 위해 메일 사용자 에이전트로 인터페이스합니다.
이 자습서에서는 다음을 통해 구성된 메일 서버 설정에 개인 도메인 계정을 사용합니다. /etc/hosts DNS 확인 처리와 관련된 DNS 서버 없이 파일만.
1. 첫 번째 단계에서 루트 권한이 있는 계정으로 컴퓨터에 로그인하거나 루트 사용자로 직접 로그인하고 데비안 시스템은 다음을 발행하여 최신 보안 패치와 소프트웨어 및 패키지 릴리스로 업데이트됩니다. 명령.
# apt-get 업데이트 # apt-get 업그레이드
2. 다음 단계에서 다음 명령을 실행하여 시스템 관리에 사용할 다음 소프트웨어 패키지를 설치하십시오.
# apt-get install curl net-tools bash-completion wget lsof nano.
3. 다음으로 열기 /etc/host.conf 즐겨 사용하는 텍스트 편집기로 편집할 파일을 만들고 DNS 확인이 호스트 파일을 먼저 읽을 수 있도록 파일 시작 부분에 다음 줄을 추가합니다.
호스트를 주문하고 바인드하십시오. 멀티 온.
4. 다음으로 머신을 설정합니다. FQDN 도메인 이름과 시스템 FQDN을 추가하십시오. /etc/hosts 파일. 시스템 IP 주소를 사용하여 아래 스크린샷과 같이 도메인 이름과 FQDN을 확인합니다.
그에 따라 IP 주소와 도메인을 교체하십시오. 그런 다음 호스트 이름을 올바르게 적용하기 위해 시스템을 재부팅하십시오.
# hostnamectl set-hostname mail.tecmint.com # echo "192.168.0.102 tecmint.com mail.tecmint.com" >> /etc/hosts. # 6을 초기화합니다.
5. 재부팅 후 호스트 이름 다음 일련의 명령을 실행하여 올바르게 구성되었습니다. hostname 명령으로 시스템의 도메인 이름, FQDN, 호스트 이름 및 IP 주소를 반환해야 합니다.
# 호스트 이름. # 호스트 이름 -s. # 호스트 이름 -f. # 호스트 이름 -A. # 호스트 이름 -i. # 고양이 /etc/호스트 이름
6. 또한 아래 명령을 실행하여 도메인이 로컬 쿼리에 올바르게 응답하는지 테스트합니다. DNS 서버를 사용하지 않기 때문에 도메인은 네트워크의 다른 시스템에서 실행한 원격 쿼리에 대해 재생되지 않습니다.
그러나 도메인 이름을 각 시스템에 수동으로 추가하는 경우 도메인은 다른 시스템에서 응답해야 합니다. /etc/hosts 파일. 또한 추가된 도메인에 대한 DNS 확인이 /etc/hosts 파일을 통해 작동하지 않습니다 주인, nslookup 또는 파기 명령.
# getent는 mail.tecmint.com을 호스팅합니다. # ping tecmint.com. # ping mail.tecmint.com.
7. 메일 서버가 제대로 작동하는 데 필요한 가장 중요한 소프트웨어는 MTA 에이전트. NS MTA 메일 서버 간의 메일 전송을 담당하는 서버-클라이언트 아키텍처로 구축된 소프트웨어입니다.
이 가이드에서 사용할 접미사 메일 전송 에이전트로. 공식 리포지토리에서 Debian에 postfix를 설치하려면 다음 명령을 실행합니다.
# apt-get 설치 후위.
8. 의 설치 과정에서 접미사 일련의 질문을 받게 됩니다. 첫 번째 프롬프트에서 다음을 선택합니다. 인터넷 사이트 Postfix 구성의 일반 유형으로 옵션을 선택하고 누르십시오. [입력하다] 키를 눌러 계속한 다음 다음 스크린샷과 같이 시스템 메일 이름에 도메인 이름을 추가합니다.
9. 그런 다음 다음 명령을 사용하여 Postfix 기본 구성 파일을 백업하고 도메인에 대한 Postfix를 구성합니다.
# cp /etc/postfix/main.cf{,.backup} # 나노 /etc/postfix/main.cf.
이제 Postfix 구성을 메인.cf 파일을 표시합니다.
# 주석이 달린 더 완전한 버전은 /usr/share/postfix/main.cf.dist를 참조하십시오. smtpd_banner = $myhostname ESMTP. 비프 = 아닙니다. # .domain을 추가하는 것은 MUA의 작업입니다. append_dot_mydomain = 아니요. readme_directory = no # 참조 http://www.postfix.org/COMPATIBILITY_README.html -- 기본값은 2입니다. # 새로 설치했습니다. compatibility_level = 2 # TLS 매개변수. smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem. smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key. smtpd_use_tls=예. smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache. smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache # postfix-doc 패키지의 /usr/share/doc/postfix/TLS_README.gz를 참조하십시오. # smtp 클라이언트에서 SSL 활성화에 대한 정보. smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination. myhostname = mail.debian.lan mydomain = debian.lan alias_maps = 해시:/etc/aliases. alias_database = 해시:/etc/aliases #myorigin = /etc/mailname. myorigin = $mydomain mydestination = $myhostname, $mydomain, localhost.$mydomain, localhost. 릴레이 호스트 = mynetworks = 127.0.0.0/8, 192.168.1.0/24. 사서함 크기 제한 = 0. 수신자_구분자 = + inet_interfaces = 모두. #inet_protocols = 모두. inet_protocols = ipv4 home_mailbox = Maildir/ # SMTP 인증 설정. smtpd_sasl_type = 비둘기장. smtpd_sasl_path = 개인/인증. smtpd_sasl_auth_enable = 예. smtpd_sasl_security_options = 익명. smtpd_sasl_local_domain = $myhostname. smtpd_recipient_restrictions = permit_mynetworks, permit_auth_destination, permit_sasl_authenticated, 거부.
교체 myhostname, 내 도메인 그리고 마이 네트워크 자신의 구성과 일치하는 변수.
당신은 실행할 수 있습니다 postconf -n 아래 스크린샷과 같이 Postfix 기본 구성 파일을 덤프하고 최종 오류를 확인하기 위해 명령을 실행합니다.
# postconf -n.
10. 모든 구성이 완료되면 Postfix 데몬을 다시 시작하여 변경 사항을 적용하고 Postfix 마스터 서비스가 포트에 바인딩되어 있는지 검사하여 서비스가 실행 중인지 확인합니다. 25 실행하여 netstat 명령.
# systemctl 다시 시작 접미사. # systemctl 상태 접미사. # netstat -tlpn.
11. postfix가 메일 전송을 처리할 수 있는지 테스트하려면 먼저 설치하십시오. 메일 유틸리티 다음 명령을 실행하여 패키지를 만듭니다.
# apt-get mailutils를 설치합니다.
12. 다음으로 사용 메일 명령줄 유틸리티, 루트 계정으로 메일을 보내고 다음을 발행하여 메일이 성공적으로 전송되었는지 확인합니다. 메일 대기열을 확인하고 루트의 홈 Maildir의 내용을 나열하기 위해 아래 명령 예배 규칙서.
# echo "메일 본문"| mail -s "테스트 메일" 루트. #메일큐. # 메일. # ls 메일 디렉토리/ # ls 메일 디렉토리/new/ # 고양이 Maildir/new/[TAB]
13. 또한 다음 명령을 실행하여 메일 로그 파일의 내용을 검사하여 postfix 서비스에서 메일이 어떤 방식으로 처리되었는지 확인할 수 있습니다.
# tailf /var/log/mail.log.
14. 이 가이드에서 로컬 수신자의 사서함으로 전자 메일 메시지를 배달하는 데 사용할 메일 배달 에이전트는 도브콧 IMAP. IMAP 에서 실행되는 프로토콜입니다. 143 그리고 993 (SSL) 여러 이메일 클라이언트에서 메일 읽기, 삭제 또는 이동을 담당하는 포트.
IMAP 프로토콜은 또한 동기화를 사용하여 각 메시지의 사본이 서버에 저장되고 사용자가 서버에 여러 디렉토리를 만들고 메일을 이 디렉토리로 이동하여 정렬할 수 있습니다. 이메일.
이것은 경우가 아닙니다 팝3 규약. 팝3 프로토콜은 사용자가 메일을 정렬하기 위해 서버에 여러 디렉토리를 만드는 것을 허용하지 않습니다. 받은 편지함 폴더만 있으면 메일을 관리할 수 있습니다.
설치하기 위해서 비둘기장 코어 서버와 도브콧 IMAP 데비안의 패키지는 다음 명령을 실행합니다.
# apt는 dovecot-core dovecot-imapd를 설치합니다.
15. 시스템에 Dovecot을 설치한 후 편집을 위해 아래 dovecot 파일을 열고 다음과 같이 변경합니다. 먼저, 열기 /etc/dovecot/dovecot.conf 파일에서 다음 줄을 검색하고 주석 처리를 제거합니다.
듣기 = *,::
16. 다음으로 열기 /etc/dovecot/conf.d/10-auth.conf 편집하고 아래 발췌문과 같이 보이도록 아래 줄을 찾아 변경합니다.
disable_plaintext_auth = 아니요. auth_mechanisms = 일반 로그인.
17. 열려있는 /etc/dovecot/conf.d/10-mail.conf 파일을 만들고 사용할 다음 줄을 추가하십시오. 메일 디렉토리 대신 위치 엠박스 이메일을 저장하는 형식입니다.
mail_location = maildir:~/Maildir.
18. 마지막으로 편집할 파일은 /etc/dovecot/conf.d/10-master.conf. 여기에서 Postfix 검색 SMTP 인증 차단하고 다음과 같이 변경하십시오.
# smtp-auth 접미사. unix_listener /var/spool/postfix/private/auth { 모드 = 0666 사용자 = 접미사 그룹 = 접미사 }
19. 위의 모든 변경 사항을 적용한 후 다시 시작 비둘기장 변경 사항을 반영하는 데몬, 상태 확인 및 Dovecot이 포트에 바인딩되어 있는지 확인 143, 아래 명령을 실행하여.
# systemctl 다시 시작 dovecot.service # systemctl 상태 dovecot.service # netstat -tlpn.
20. 시스템에 새 사용자 계정을 추가하여 메일 서버가 제대로 실행되고 있는지 테스트하고 다음을 사용하십시오. 텔넷 또는 넷캣 명령을 사용하여 SMTP 서버에 연결하고 아래 발췌문과 같이 새로 추가된 사용자에게 새 메일을 보냅니다.
# adduser 친구. # nc 로컬 호스트 25. # ehlo 로컬 호스트. 메일: 루트. rcpt to: 마티. 데이터. 주제: 테스트. 메일 본문.. 그만두 다.
21. 아래 스크린샷과 같이 사용자의 홈 디렉토리 내용을 나열하여 새 사용자 사서함에 메일이 도착했는지 확인합니다.
# ls /home/test_mail/Maildir/new/
22. 또한 아래 발췌문과 같이 IMAP 프로토콜을 통해 명령줄에서 사용자의 사서함에 연결할 수 있습니다. 새 메일은 사용자의 받은 편지함에 나열되어야 합니다.
# nc 로컬 호스트 143. x1 로그인 친구 user_password. x2 목록 "" "*" x3 SELECT 받은 편지함. x4 로그아웃.
23. 사용자는 다음을 통해 이메일을 관리합니다. Rainloop 웹메일 고객. Rainloop 메일 사용자 에이전트를 설치하기 전에 먼저 설치하십시오. 아파치 HTTP 서버 및 다음 PHP 다음 명령을 실행하여 Rainloop에 필요한 모듈.
# apt install apache2 php7.0 libapache2-mod-php7.0 php7.0-curl php7.0-xml.
24. Apache 웹 서버가 설치된 후 디렉토리 경로를 다음으로 변경하십시오. /var/www/html/ 디렉토리, 제거 index.html Rainloop Webmail을 설치하려면 파일을 만들고 다음 명령을 실행하십시오.
# cd /var/www/html/ # rm index.html # 컬 -sL https://repository.rainloop.net/installer.php | PHP.
25. Rainloop 웹 메일 클라이언트가 시스템에 설치된 후 도메인 IP 주소로 이동하고 다음 기본 자격 증명을 사용하여 Rainloop 관리 웹 인터페이스에 로그인합니다.
http://192.168.0.102/?admin. 사용자: 관리자. 비밀번호: 12345.
26. 로 이동 도메인 메뉴, 히트 도메인 추가 버튼을 클릭하고 아래 스크린샷과 같이 도메인 이름 설정을 추가합니다.
27. 도메인 설정 추가가 끝나면 Ranloop 관리 인터페이스에서 로그아웃하고 브라우저에서 IP 주소를 가리키도록 하여 이메일 계정으로 웹메일 클라이언트에 로그인합니다.
Rainloop 웹메일에 성공적으로 로그인하면 이전에 명령줄에서 받은 편지함 폴더로 보낸 이메일을 볼 수 있습니다.
http://192.168.0.102. 사용자: [이메일 보호됨]
통과: 친구 비밀번호입니다.
27. 새 사용자 문제를 추가하려면 사용자 추가 명령 ~와 함께 -중
사용자 홈 디렉토리를 생성하기 위한 플래그입니다. 그러나 먼저 다음 명령을 사용하여 모든 사용자에 대해 Maildir 경로 변수를 구성했는지 확인하십시오.
# echo '내보내기 MAIL=$HOME/Maildir' >> /etc/profile.conf # useradd -m user3. # passwd user3.
28. 모든 루트의 이메일을 시스템에서 특정 로컬 메일 계정으로 리디렉션하려면 아래 명령을 실행하십시오. 루트 계정으로 리디렉션되거나 수신되는 모든 메일은 아래 이미지와 같이 메일 사용자에게 전달됩니다.
# echo "루트: test_mail" >> /etc/aliases. # 새로운 별칭.
그게 다야! 로컬 사용자가 전자 메일을 통해 통신할 수 있도록 구내에 메일 서버를 성공적으로 설치 및 구성했습니다. 그러나 이러한 유형의 메일 구성은 어떤 식으로든 보안되지 않으며 전체 제어 하에 시스템 및 네트워크의 소규모 설정에만 배포하는 것이 좋습니다.