출처 : https://www.youtube.com/watch?v=HxOEDAGKyTs
웹 메일의 설치 및 사용
- 웹 브라우저에서 메일을 사용하는 것을 '웹 메일'이라고 부른다
- 라운드 큐브(Roundcube)는 PHP로 작성되었으며, Sendmail 및 IMAP 서버 (Dovecot)를 기반으로 하는 웹 메일 프로그램이다.
- 반드시 아파치 웹 서버(httpd) 및 PHP가 설치되어 있어야 한다.
- 웹 메일의 예로는 네이버 메일, 다음 메일 등이 있다.
라운드 큐브 메일 설치
실습 목표
- naver.com 메일 서버에 라운드 큐브를 설치하고 운영한다.
- 기존 설정은 그대로 사용하면서 웹 브라에저에서 추가로 메일을 전송할 수 있도록 만든다.
실습
server 가상 머신을 부팅하고 root 사용자로 접속한다.
사전 준비 패키지 설치
네이버 카페에서 php 7.4를 다운로드 받기 위해 네임서버를 원래의 외부에 있던 192.168.111.2로 변경한다.
nano /etc/resolv.conf 를 열고, nameserver를 192.168.111.2로 변경한다.
카페에서 php74.tgz와 roundcubemail 파일을 다운로드 받고 다시 /etc/resolv.conf에서 nameserver를 server 가상 머신인 192.168.111.100 으로 변경한다.
다운로드 디렉토리로 이동해서 확인해보면 2개의 파일이 다운로드 된 것을 확인할 수 있다.
tar xfz php74.tgz 명령을 입력해 php74 파일의 압축을 해제한다.
tar xfz php74.tgz
php74 디렉토리로 이동한 다음 모든 rpm 파일을 설치한다.
dnf -y install *.rpm
상위 디렉토리로 이동하고, httpd와 mariadb 서비스를 재가동하고 상시 가동되도록 설정한다. httpd와 mariadb는 추후에 자세히 알아보자.
systemctl restart httpd
systemctl enable httpd
systemctl restart mariadb
systemctl enable mariadb
라운드 큐브 설치
아까 다운로드 받았던 roundcube를 압축 해제한다.
풀린 파일이 담긴 폴더의 이름을 roundcube로 변경한 다음, /var/www/html 폴더 아래로 이동시킨다.
tar xfz round탭
my round탭 /var/www/html/roundcube
temp, logs 디렉토리의 권한을 777 로 변경한다.
chmod 777 /var/www/html/roundcube/temp/
chmod 777 /var/www/html/roundcube/logs/
데이터베이스와 데이터베이스의 생성자를 만든다. 데이터베이스에 대한 자세한 내용은 추후에 알아보자.
mysql
CREATE DATABASE emailDB;
GRANT ALL ON emailDB.* TO 'emailAdmin'@'localhost' IDENTIFIED BY '1234';
FLUSH PRIVILEGES;
EXIT
파이어폭스 웹 브라우저를 열고 mail.naver.com/roundcube/installer/ 에 접속한다. [1. check environment]에서 [Check PHP version]과 [Check PHP extensions]의 내용이 모두 OK가 나오는지 확인한다.
스크롤을 맨 아래로 내려서 OK를 누른다.
product name에는 적당한 이름을 입력하고, 아래로 스크롤을 내린다.
Database setup 설정에서 우리가 만든 정보인 'localhost', 'emailDB', 'emailAdmin' '1234' 를 입력한다.
스크롤을 맨 아래로 내려서 CREATE CONFIG 를 클릭한다.
config.inc.php 파일을 다운로드 한다.
웹 브라우저를 그대로 두고 [현재 활동] -> 터미널 을 연다.
다운로드 디렉토리로 이동한 다음, 다운로드받은 config.inc.php 파일을 /var/www/html/roundcube/config/ 디렉토리로 이동시키고 파일의 속성을 707로 변경한다.
my config.inc.php /var/www/html/roundcube/config
chmod 707 /var/www/html/roundcube/config/config.inc.php
다시 브라우저로 돌아와서 중간에 CONTINUE를 클릭한다.
Check DB config의 Initialize databse를 클릭한다.
Test SMTP config에서 Sender와 Recipient에 lee@naver.com을 입력하고 Send test mail을 클릭한다. 그러면 SMTP send: OK가 나온다.
Test IMAP config에서 Username과 Password를 입력하고 Check login을 클릭하면 IMAP connection OK가 나온다.
이렇게 라운드 큐브의 설정을 정상적으로 마무리했다. 웹 브라우저를 종료한다.
Client에서 웹 메일 접속 테스트
Client 가상 머신을 부팅한다.
파이어폭스 브라우저를 열고 mail.naver.com/roundcube 로 접속한다. 사용자명과 암호를 입력하고 로그인을 클릭한다.
접속하면 웹 브라우저 상에서 로그인이 된 것을 확인할 수 있다. 상단에 작성을 클릭해서 kim@daum.net에게 메일을 보내보자.
받는 사람에 kim@daum.net을 입력하고 제목과 내용을 적당히 작성하고 [보내기]를 클릭한다.
Winclient에서 받은 메일 확인하기
Winclient와 server(B) 가상 머신을 부팅한다. Winclient를 재부팅했으면 powershell 에서 netsh interface ip set dns "Ethernet0" static 192.168.111.100 을 입력한다.
Winclient에서 받기를 누르고 받은 편지함을 가보면 메일이 잘 도착한 것을 확인할 수 있다.
Winclient(kim@daum.net)에서 client(lee@naver.com)으로 회신을 보내보자.
client 에서도 메일이 잘 수신된다.
다시 client로 돌아와서 파일을 첨부해서 메일을 보내보자. 그런데 2MB를 넘으면 첨부가 안된다. PHP 설정을 바꿔서 2MB가 넘어도 첨부가 되도록 만들어보자.
PHP 설정 변경
server 가상 머신으로 돌아온다.
gedit 에디터로 /etc/php.ini 파일을 열고 다음 내용을 수정한다.
gedit /etc/php.ini
388행 : max_execution_time = 300
694행 : post_max_size = 500M
846행 : upload_max_filesize = 500M
저장하고 에디터를 닫은 다음, 설정을 적용시키기 위해 reboot를 한다. 서비스는 백그라운드에서 돌기 때문에 root로 로그인은 하지 않아도 된다.
다시 client 가상 머신으로 돌아가서 기존의 브라우저 창을 닫고 재접속을 한다. 다시 메일 보내기를 하고 파일첨부를 하면 500MB 까지 된다고 표시가 되고 2MB가 넘는 파일을 첨부할 수 있게 된다.
메일을 보내보자.
Winclient로 돌아와서 받기를 누르고 받은 편지함을 보면 파일이 첨부된 채로 메일이 도착한 것을 확인할 수 있다.
'Study > 이것이 리눅스다 with Rocky Linux 9' 카테고리의 다른 글
11장. 데이터베이스 서버 구축 및 운영 (2) - MariaDB 설치 및 접속 (1) | 2024.01.05 |
---|---|
11장. 데이터베이스 서버 구축 및 운영 (1) - DBMS의 개념과 간단한 SQL 문 (2) | 2024.01.04 |
10장. 메일 서버 설치 및 운영 (2) - 센드메일 서버 구현(네이버, 다음 메일 서버 구현) (0) | 2024.01.03 |
10장. 메일 서버 설치 및 운영 (1) - 메일 서버의 개념과 센드메일 서버 구현을 위한 네임 서버 구축 (3) | 2024.01.03 |
9장. 네임 서버 설치 및 운영 (4) - 라운드 로빈 네임 서버 (0) | 2024.01.02 |