[구성도]
[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 계정과 관련된 사용자 이름
- 사용자 계정 정보
'IT > ㄴ Linux' 카테고리의 다른 글
[CentOS] Linux Proxy Server 구축 기초 (0) | 2023.08.21 |
---|---|
[CentOS] Linux Cockpit 기초 [리눅스 GUI 조작 프로그램] (0) | 2023.08.21 |
[CentOS] iSCSI 알아보기 [Wireshark / ChatGPT] (0) | 2023.08.14 |
[CentOS] Linux iSCSI Server 구축하기 [scsi-target / scsi-initiator] (0) | 2023.08.14 |
[CentOS] Linux Mail Server 구축하기 기초 (0) | 2023.08.14 |