Linux/CentOS Stream 9

Centos S9 - 이메일 서버 설치 roundcube + postfix + dovecot (3/3)

Ryan's Tech Note 2023. 2. 26. 00:22

그럼 모든 관련 프로그램 설치가 끝났다면, 마지막으로 Roundcube 를 설치해보자.

 

Roundcube 는 크게 두가지 방법으로 설치할 수 있다.

(1) yum (dnf) 설치

(2) docker 설치

 

도커 설치도 간편하고 빠르게 끝나는데, 여기서는 yum 설치를 해보겠다.

 

먼저 Roundcube 홈페이지이다.

https://roundcube.net/

 

위에 패키지를 다운로드 하면 *.tar.gz 파일이 내려오는데, 이 방법은 설치가 매우 번거롭다.

그냥 yum (dnf) 명령어로 간단하게 설치가 완료된다.

 

dnf -y install roundcubemail

여러가지 의존 패키지가 같이 설치 된다.

 

환경 파일에 권한을 준다. 아래 위 두군데를 동일하게 수정해야 한다.

vi /etc/httpd/conf.d/roundcubemail.conf
<Directory /usr/share/roundcubemail/>
    <IfModule mod_authz_core.c>
        # Apache 2.4
        Require all granted
    </IfModule>
...

<Directory /usr/share/roundcubemail/installer/>
    <IfModule mod_authz_core.c>
        # Apache 2.4
        Require all granted
    </IfModule>
...

 

아파치 서버를 재시작한다.

service httpd restart

 


Mysql Roundcube 사용자, DB 생성

 

phpMyAdmin 과 같은 툴을 이용해서 Mysql 에 Roundcube 사용자, DB를 생성한다.

아래와 같이 세팅하고 실행 클릭.

 

쉘로 mysql -u root -p 로 들어가서 생성해도 되고, 꼭 phpMyAdmin 으로 안해도 되지만 phpMyAdmin 이 가장 편한것 같다. phpMyAdmin 설치 방법은 아래 글을 참조한다.

https://ryans-note.tistory.com/10

 


Roundcube 브라우저 설치 화면

 

브라우저로 설치 화면에 들어간다.

http://mydomain.com/roundcubemail/installer

# 또는 아파치가 설치된 IP 와 아파치의 포트 번호로 접속한다.
http://192.168.0.2:8080/roundcubemail/installer

 

 

대략 위와 같이 OK가 나온다면 설치가 잘 된 것이다.

NEXT 를 클릭.

 

 

temp, log 폴더 권한이 OK 인지 확인한다. tar.gz 으로 설치했다면 이 부분이 OK가 아닐수도 있고 권한을 부여하는 작업을 해야 하는데, 앞의 방법대로 yum 으로 설치했다면 temp, log 폴더 권한은 OK가 뜰것이다.

 

그다음 DB config 를 체크해야 하는데, 아직 NOT OK 이다.

방금 위에서 추가한 MySQL 계정과 아이디 정보를 환경 파일에 써줘야 한다.

포트 번호는 디폴트는 3306이다. 암호가 평문으로 저장되므로 제3자가 조회 못하도록 640 권한으로 바꾼다.

chmod 640 /etc/roundcubemail/config.inc.php
vi /etc/roundcubemail/config.inc.php

$config['db_dsnw'] = 'mysql://roundcube:비밀번호@localhost:포트/roundcube';

 

브라우저를 새로고침 하면

Initialize database 를 클릭한다.

 

그럼 IMAP 을 테스트 해보자.

OK 가 뜨면 앞단계의 IMAP 이 잘 설치된 것이다.

 

그럼 SMTP 를 테스트 해보자.

자기 자신에게 메일을 발송한다.

OK 가 뜨면 앞단계의 SMTP 가 잘 설치된 것이다.

 

 

여기까지 모두 OK 가 뜨면 설치가 정상적으로 모두 끝난것이다.

다 끝났는데, 아래 빨간색 경고가 보인다.

 

After completing the installation and the final tests please remove the whole installer folder from the document root of the webserver or make sure that enable_installer option in config.inc.php is disabled.
설치와 최종 테스트를 완료한 후 웹 서버의 문서 루트에서 전체 설치 프로그램 폴더를 제거하거나 config.inc.php 파일에서 enable_installer 옵션을 비활성화하십시오.

These files may expose sensitive configuration data like server passwords and encryption keys to the public. Make sure you cannot access this installer from your browser.
이 파일들은 서버 비밀번호와 암호화 키와 같은 민감한 구성 데이터를 공개할 수 있습니다. 브라우저에서 이 설치 프로그램에 액세스할 수 없도록 하십시오.

 

방금 설치 페이지는 브라우저에서 아무나 들어갈 수 있으므로 이것을 제거하라는 것이다. (현재 DB 암호도 출력된다.) 모두 OK가 떳다면 더이상 설치 페이지는 필요하지 않다.

vi /etc/roundcubemail/config.inc.php

// 설치 페이지를 비활성화 한다.
$config['enable_installer'] = false;

 

또는 삭제한다.

rm -rf /usr/share/roundcubemail/installer

 


Roundcube 웹메일 로그인

 

브라우저에 주소를 위와 같이 입력해서 방금 추가한 사용자로 로그인을 한다.

 

 

잘 뜬다. 설치 완료.

방금 쉘로 테스트 했던 메일이 보인다.

여기까지 설치는 다 끝난건데, 아직 하나 더 남았다.

 

앞단에 ipTIME 공유기가 있다면 포트 포워딩 설정을 해줘야 한다.

NAT/라우터 관리 > 포트포워드 설정 > 등록

포트 : 25, 110, 143, 465, 587, 993, 995, 2525

 

테스트로

(1) 다른 메일에서 지금 세팅한 주소로 이메일을 발송해본다.

(2) 다른 메일로 이메일을 발송해본다.

 

외부(예:네이버 메일)에서 내부로 메일이 잘 오고, 내부에서 외부로 발송도 잘 된다.

 


[팁] 만약 ipTIME DDNS 와 도메인의 CNAME으로 mail을 추가해서 외부에서 (방금 Roundcube 세팅을 한) 집PC로 메일을 받는 경우 user1@mail.mydomain.com 과 같은 식으로만 받을 수 있는데,  mail. 을 빼고 user1@mydomain.com 주소로 받고 싶다면, 도메인에 CNAME (mail) 과 함께 MX 레코드를 추가로 등록해 주면 된다.


[기타 참고]

라운트큐브 스킨 : https://roundcubeskins.net/

 


 

도움이 되었다면 공감이나 댓글 부탁드립니다.

비밀 댓글로 커피 쿠폰 한잔 보내 주시면 감사히 먹겠습니다 :)