[CentOS] Linux Web Mail Server 구축하기 기초 [roundcube]
Nowhere 와 Now here 의 차이

IT/ㄴ Linux

[CentOS] Linux Web Mail Server 구축하기 기초 [roundcube]

TIENE 2023. 8. 16. 13:11
반응형

[구성도]

 

 

 

[Linux Web Mail Server 구축하기 기초]


0. 초기 구성 단계

Linux#1 = Mail Server & Mail Client

IP : 192.168.1.132/24
GW : 192.168.1.2
Primary DNS :192.168.1.30
Secondary DNS :8.8.8.8

 

Linux#2 = Mail Client

IP : 192.168.1.131/24
GW : 192.168.1.2
Primary DNS :192.168.1.30
Secondary DNS :8.8.8.8

 

Window Server 2016 = DNS Server &Mail Client

IP : 192.168.1.100/24
GW : X
Primary DNS :192.168.1.100

 

1. Mail Server 및 DNS Server 구축하기

- [CentOS] Linux Mail Server 구축하기 기초[Win2003] DNS 서버 구성하기 [GNS3 연동] 를 참조하여 Mail Server와 DNS Server를 생성한다.

- DNS Server는 MX Record 만 생성하면 된다.

 

2. Web Mail Server 구축 (roundcube)

2.1) 관련 패키지 설치

yum -y install mariadb-server php php-mysqlnd php-gd php-mbstring php-pecl-zip php-xml php-json php-intl

- 계정 정보 연동이나 기타 연동 작업을 위해, 위의 패키지를 설치한다. 

- Apache / Mariadb / php 이렇게 크게 세 가지로 분류된다고 보면된다.

 

2.2) 패키지 실행

- Apache와 mariadb를 실행한다.

 

2.3) Roundcube 다운로드

wget -c https://github.com/roundcube/roundcubemail/releases/download/1.3.7/roundcubemail-1.3.7-complete.tar.gz

- github에서 roundcubemail를 다운받는다.

 

tar xfz roundcubemail-1.3.7-complete.tar.gz
mv roundcubemail-1.3.7 /var/www/html

- 다운로드한 압축파일을 풀고, Apache의 기본 디렉토리로 옮긴다.

 

ln -s /var/www/html/roundcubemail-1.3.7 /var/www/html/roundcube
chmod 777 /var/www/html/roundcube/temp/
chmod 777 /var/www/html/roundcube/logs/

- 심볼릭 링크를 생성한 후, 전체 권한을 부여한다.

 

2.4) MySQL 설정

- mysql 설정 및 DB 생성을 위해 아래의 명령어를 입력한다.

mysql

# "emailDB"라는 이름의 데이터베이스를 생성
create database emailDB;

# "emailDB" 데이터베이스에 모든 권한을 가진 "emailAdmin"이라는 사용자를 'localhost'에서 생성.
# '1234' = emailAdmin의 패스워드
GRANT ALL ON emailDB.* TO 'emailAdmin'@'localhost' IDENTIFIED BY '1234';

# MySQL의 권한 시스템을 갱신하기 위해 변경 사항을 적용
FLUSH PRIVILEGES;

EXIT

 

- 생성한 데이터베이스에 접근해보면, 아직은 생성된 것이 존재하지 않는다.

 

 

 

2.5) Roundcube 설정 

- 설치된 roundcube를 Web Brower로 접속한다.

2.5.1) 1. [Check environment]

http://mail.tiene123.vm/roundcube/installer/

- 접속하면, 3단계에 걸쳐서 초기 설정을 거치게 된다. 먼저, [Check environment] 에서 현재 환경 상태를 확인한다.

- 현재는 간단한 구축 과정이기 때문에 최하단의 [Next]를 눌러 2단계로 진입한다.

 

 

2.5.2) 2. [Create config]

 - [Create config] 에서는 전역 설정과 함께 MariaDB와의 연동 설정을 진행한다.

- 전역 설정에서는 Web Mail Page의 타이틀을 설정한다. 임의의 값을 넣고, DB 연동을 위해 중간 지점으로 이동한다.

 

- MariaDB에서 생성한 데이터베이스의 정보를 입력한다. 

- 데이터베이스의 이름(emailDB) / 데이터베이스의 사용자 계정(emailAdmin) / 사용자 계정의 패스워드(1234) 를 입력한다.

 

- 모든 값을 알맞게 넣고, 최하단으로 이동하면, 위에서 설정한 내용을 바탕으로 Config 파일을 생성할 수 있는 버튼이 존재한다. [CREATE CONFIG]를 클릭하여, 파일을 생성한다.

- 그러면 아래 사진과 같이 생성한 파일을 다운로드할 수 있는 버튼이 생성된다. 또한, 다운로드된 파일이 아래의 디렉토리에 위치할 수 있도록 조치를 취하라는 안내문까지 볼 수 있다. 

Copy or download the following configuration and save it as config.inc.php within the /var/www/html/roundcubemail-1.3.7/config/ directory of your Roundcube installation.

 

mv config.inc.php /var/www/html/roundcube/config
chmod 707 /var/www/html/roundcube/config/config.inc.php

-  /var/www/html/roundcubemail-1.3.7/config/의 디렉토리는 /var/www/html/roundcube/으로의 심볼릭 링크가 존재하기 때문에 해당 위치에 존재한 후, 다른 사용자들도 Config 파일을 사용해야하기 때문에 707 권한을 부여한다.

 

 

- 다시 Web Brower로 이동하여 CONTINUE 하여 3단계로 넘어간다.

 

 

2.5.3) 3. [Test config]

- 3단계에서는 지금까지 설정한 내용을 바탕으로 테스트를 진행할 수 있다. 

- DB 관련 설정을 확인하기 위해 [Initialize database]를 눌러 Test를 진행한다.

 

- 그러면, 아래 사진과 같이 테스트 결과를 출력하는데, 다행히 별 다른 문제가 없다는 결과를 받았다.

 

- Mail을 보내는 것과, 받는 것 모두 정상적으로 동작하는 것을 확인할 수 있다.

- 이제는 Roundcube Web Mail 로 이동하여 직접 Mail을 보내볼 수 있다.

 

 

 

2.6) Roundcube 이용하기

- http://mail.tiene123.vm/roundcube으로 이동하여, 접속을 해볼 수 있다. 그러면, 다음과 같은 창이 출력되면서 사용자명과 암호를 입력할 수 있는 입력란이 있다. 또한, 전역 설정에서 입력한 CLOUD-TIENE라는 문구가 Page 타이틀에 정상적으로 출력되는 것까지 확인할 수 있다.

- Mail Server에서 임의의 계정을 생성하여 접속할 수 있다.

 

- 접속하고, Mail을 보내기전에 약간의 설정이 필요하다. 계정의 Mail 주소를 변경해야한다. 

- 따라서, [설정] - [신원] - [계정] 으로 이동하며, Mail 도메인을 입력하여 변경한다.

 

- 이제 모든 준비 작업을 마쳤으니, Mail을 보내기 위해, [작성]을 눌러  Mail을 보내본다.

- 정상적으로 Web을 이용하여 Mail을 보낼 수 있다.

[t2@tiene123.vm] -> [t1@tiene123.vm]

 

[t3@tiene123.vm] -> [t2@tiene123.vm]


* Web Mail Server와 연동된 MySQl 상태 점검

- 모든 작업을 마치고, 다시 접속해보면 아래와 같이 생성된 것을 확인할 수 있다. Roundcube 설정을 진행하면서, DB와 연동 작업을 진행했기 때문에 계정 정보와 같은 Web Mail 관련 정보를 찾아볼 수 있다.

 

- Roundcube Version 확인

 

- Mail 계정과 관련된 사용자 이름

 

- 사용자 계정 정보


 

반응형