본문 바로가기
IT

[linux] mail server setup(sendmail,dovecot,squirrelmail)

by IM레나 2021. 3. 14.
반응형

* Mail server set up

* 모든 과정은 google search하여 여기저기서 참고하였습니다.

* 대부분 cloud vps는 smtp port가 block되어 있어 vps hosing사용시 주의

* 필자는 Vultr.com cloud 이용 - 기본 설정은 tcp 25 block이지만 일반적 사용의 경우 해제 해준다고 한다.

(언제 다시 block 할지 모른다고 함)

  root 계정을 제공함으로 연습용으로 사용하기에 편리함

 

-> vultr VPS www.vultr.com/?ref=8819164-6G

 

SSD VPS Servers, Cloud Servers and Cloud Hosting by Vultr

Vultr Global Cloud Hosting - Brilliantly Fast SSD VPS Cloud Servers. 100% KVM Virtualization

www.vultr.com

(2021/03/14 기준 가입시 100$ credit 제공 for 30days, 위 링크로 가입 후 결제 하면 필자에게 이익이 돌아오지만 무료 회원가입시 그런거 x, google에서 따로 들어가도 무료 credit 제공하는 걸로 확인)

 

*CentOS 8 64bit

 

1. 기본 세팅

더보기

[root@iamlena ~]# vi /etc/hostname 

- iamlena 

 

[root@iamlena ~]# vi /etc/hosts

- 서버 IP주소 mail.iamlena.xyz 추가

127.0.0.1 iamlena 추가

[root@iamlena ~]# reboot

 

[root@iamlena ~]# setenforce 0   (or vi /etc/selinux/config에서 disabled)
[root@iamlena ~]# getenforce
Permissive

 

[root@iamlena ~]# firewall-cmd --permanent --add-port={25,110,143,587,465,993,995}/tcp

[root@iamlena ~]# firewall-cmd --reload

 

2. sendmail install & configure

더보기

[root@iamlena ~]# yum -y update

[root@iamlena ~]# yum -y install sendmail*

[root@iamlena ~]# vim /etc/mail/mail/local-host-names

mail.iamlena.xyz

[root@iamlena ~]# vim /etc/mail/sendmail.mc

TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

DAEMON_OPTIONS(`Port=smtp, Addr=0.0.0.0, Name=MTA')dnl

(주석해제 및 Addr 수정)

[root@iamlena ~]# m4 /etc/mail/sendmail.mc /etc/mail/sendmail.cf

[root@iamlena ~]# vim /etc/mail/access

Connect:mail.iamlena.xyz     RELAY

[root@iamlena ~]# makemap hash /etc/mail/access < /etc/mail/access

 

[root@iamlena ~]# systemctl restart sendmail
[root@iamlena ~]# systemctl enable sendmail

 

- sendmail test

 

[root@iamlena ~]# useradd test1
[root@iamlena ~]# passwd test1

!qwe234R

 

[root@iamlena ~]# telnet localhost 25

Trying ::1...
Connected to localhost.
Escape character is '^]'.

220 mail.iamlena.xyz ESMTP Postfix

ehlo localhost

250-mail.iamlena.xyz

250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-DSN
250 SMTPUTF8
mail from:<test1>
250 2.1.0 Ok
rcpt to:<test1>
250 2.1.5 Ok

data
354 End data with <CR><LF>.<CR><LF>
test postfix
.
250 2.0.0 Ok: queued as 365B1101A38

 

[root@iamlena ~]# ls /home/test1/Maildir/new/
1615691434.Vfd01I101a3cM382986.iamlena

 

3. Dovecot install & configure

 

더보기

[root@iamlena ~]# yum -y install dovecot

[root@iamlena ~]# vim /etc/dovecot/dovecot.conf

protocols = imap pop3 lmtp 

 

[root@iamlena ~]# vim /etc/dovecot/conf.d/10-mail.conf

mail_location = maildir:~/Maildir

(ls -al 로 권한 체크 필수)

[root@iamlena ~]# vim /etc/dovecot/conf.d/10-auth.conf

disable_plaintext_auth = no

auth_mechanisms = plain login

 

[root@iamlena ~]# vim /etc/dovecot/conf.d/10-master.conf

  #Postfix smtp-auth
  unix_listener /var/spool/postfix/private/auth {
    mode = 0666
    user = postfix
    group = postfix
        }

 

[root@iamlena ~]# vim /etc/dovecot/conf.d/10-ssl.conf

ssl = no

 

[root@iamlena ~]# systemctl restart dovecot
[root@iamlena ~]# systemctl enable dovecot

 

[root@iamlena ~]# netstat -ntlp < port 확인>

 

[root@iamlena ~]# telnet localhost pop3

Trying ::1...
Connected to localhost.
Escape character is '^]'.
+OK Dovecot ready.
user test1
+OK
pass !qwe234R
+OK Logged in.
retr 1
+OK 394 octets

 

<postfix test 메일내용이 보이면 ok>

quit

 

 

3. squirrelmail install & configure

더보기

[root@iamlena ~]# yum -y install php httpd

[root@iamlena ~]# wget https://squirrelmail.org/countdl.php?fileurl=http%3A%2F%2Fprdownloads.sourceforge.net%2Fsquirrelmail%2Fsquirrelmail-webmail-1.4.22.zip

[root@iamlena ~]# mv ./countdl.php\?fileurl\=http\:%2F%2Fprdownloads.sourceforge.net%2Fsquirrelmail%2Fsquirrelmail-webmail-1.4.22.zip ./squirrelmail.zip

[root@iamlena ~]# unzip ./squirrelmail.zip

[root@iamlena ~]# mkdir /var/www/html/mail

[root@iamlena ~]# mv ./squirrelmail-webmail-1.4.22/ /var/www/html/mail/

[root@iamlena mail]# chown -R apache:apache /var/www/html/mail/

 

[root@iamlena mail]# ./squirrelmail-webmail-1.4.22/config/conf.pl

(config.php 파일을 직접 수정하거나 conf.pl 실행,perl 오류시 yum install perl)

 

-2 서버세팅 -> 1 domain : iamlena.xyz, 3. SMTP 

-4 General Options
1.  Data Directory               : /var/www/html/mail/data/
2.  Attachment Directory         : /var/www/html/mail/attach/ (폴더 새로 생성)

 

vim /etc/httpd/conf/httpd.conf

ServerName mail.iamlena.xyz:80

 

Alias /webmail /var/www/html/mail/squirrelmail-webmail-1.4.22
<Directory /var/www/html/mail/squirrelmail-webmail-1.4.22>
        Options Indexes FollowSymLinks
        RewriteEngine On
        AllowOverride All

        DirectoryIndex index.php
        Order allow,deny
        Allow from all
</Directory>
맨 마지막에 추가

 

 

http://IPorFQDN/webmail 로 접속 후 로그인 한 상태

postfix 테스트시 보낸 메일이 확인 된다.

 

* 실제 외부 naver, kakao, google 등으로 메일을 주고받으려면 iamlen.xyz 라는 도메인을 구입 후 DNS에 MX 레코드를 올바르게 설정해 주어야 한다

가비아/cafe24/hosting.co.kr 등에서 구입가능

-이미 구입한 domain은 db 연동 mail server test로 사용중이라 외부로 test는 pass

반응형

'IT' 카테고리의 다른 글

한글2010 hwpx 파일 실행하기  (0) 2023.06.27
보안 위험관리 및 검토  (0) 2021.03.02
Software 개발, 보안 구축 - NCS 기준 정리  (0) 2021.02.04
[Linux] chage 계정 정보 수정  (0) 2020.12.24
MobaXterm에서 Linux 사용하기  (0) 2020.12.24