Complete Virtual Mail Server/Web Access/ko

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Complete Virtual Mail Server/Web Access and the translation is 100% complete.

도입부

전자메일 기능 중에 가장 많이 사용하는 기능은 웹 메일 접근입니다. 일부 사용자는 접속할 때 웹메일만 사용하지만, 다른 어떤 사용자의 경우는 백업 용도로 사용하든지 사용자 자신이 보유한 시스템을 못쓸 때 사용합니다. 여러 선택지가 있는데, 그 중에 가장 많이 쓰는건 mail-client/squirrelmailmail-client/roundcube입니다. Squirrelmail은 대역폭(통신량)이 너무 클때 사용할 수 있고, roundcude는 그밖의 경우에 추천하며, 이 글에서는 roundcube를 중점적으로 다룹니다.

Roundcube 설치

Roundcube에는 데이터베이스에 설정을 저장할 수 있습니다. 로컬 주소록, 신원 정보 등 여러가지 정보도 마찬가지로 저장할 수 있습니다.

다양한 선택지가 있는데 가상 호스트 기반 SQLite 저장소 풀을 로컬에서 사용하거나, 동일한 postgres/mysql 데이터베이스를 가상 호스트 별로 사용하십시오. 위 선택지중 어떤걸 선택하셔도 이득을 취할 수 있습니다. 웹 메일이라면, 다양한 도메인에 대해 동일한 IMAP 서버 호스트를 취한 후, 모든 도메인이 하나의 데이터베이스를 사용하는 것이 좋습니다. 모든 사용자가 로그인 할 수 있는 각각의 도메인, 가상 호스트에 자체 웹메일 인터페이스(각자 다른 스킨, 플러그인)를 붙이는걸 고려할 수 있습니다. 가상 호스트 웹메일이 깨져도, 다른 가상 호스트를 통해 정상적으로 전자메일에 접근할 수 있습니다. 사용자가 모든 가상 호스트에 '실제로' 설정하든 안하든, 어차피 IMAP 서버 기반입니다. Roundcube는 mail_host의 사용자 ID에 기반합니다. 쉽게 설명하자면, IMAP 메일 서버라는 의미고, 로컬 호스트를 사용한다면 사용자 '프로파일'은 어디서든 인증 가능합니다.

USE flags for mail-client/roundcube A browser-based multilingual IMAP client with an application-like user interface

change-password Allow users to change passwords through Roundcube
enigma Add dependencies to support server-side GnuPG signing and/or encryption through the enigma plugin
exif Add support for reading EXIF headers from JPEG and TIFF images
fileinfo Use the dev-lang/php fileinfo extension to guess the mime_type of attachments
ldap Add dependencies to support connecting to an LDAP address book server
mysql Add mySQL Database support
postgres Add support for the postgresql database
spell Add dictionary support
sqlite Add support for sqlite - embedded sql database
ssl Add support for SSL/TLS connections (Secure Socket Layer / Transport Layer Security)
vhosts Add support for installing web-based applications into a virtual-hosting environment
zip Enable support for ZIP archives

참고
sqlite를 사용하지 않는 경우 postgres 또는 mysql만 필요합니다.

적당한 USE 플래그를 선택하고 나면 Roundcube를 이머지 하십시오:

root #emerge --ask mail-client/roundcube

이 명령은 호스트에만 Roundcube를 설치할 뿐, 가상 호스트에 설치하는건 아닙니다.

root #webapp-config -I -h webmail.example.com -d roundcube roundcube 1.0.5
참고
webapp-config 명령에 오류가 있다면, 이 문법으로 다시 시도해보십시오:
root #webapp-config -h webmail.example.com -d roundcube -I roundcube 1.0.6

Postgres 사용하기

심각한 보안 문제가 있지 않는 한, 오로지 데이터베이스 사용자 하나만 Roundcube가 사용하는 모든 데이터베이스에 접근해야 합니다:

root #createuser -U postgres -D -P -R -S roundcube
Enter password for new role: $password
Enter it again: $password

Roundcube에 데이터베이스가 필요합니다. 도메인별 데이터베이스를 사용할 경우 각기 다른 이름을 선택해야합니다.

root #createdb -U postgres roundcubemail -O roundcube
참고
서로 다른 디렉터리에 Roundcube를 설치하면 쓸모가 엄청납니다. 설치(하고 시험한) 두번째 웹메일을 예로 들자면, 또는 새 웹메일을 가져온다면 동일한 (물리) 호스트에 쉽게 얹어 놓을 수 있습니다. 그러나 표준 URL, webmail.example.com 같은 주소로는 더 이상 Roundcube를 열 수 없습니다. 이를 수정하려면 htdocs 디렉터리 루트에 index.php를 넣으십시오.
파일 index.php
'"`UNIQ--pre-00000005-QINU`"'

Roundcube 설정

Roundcube 설정은 엄청 쉽습니다. 그냥 http://webmail.example.com/roundcube/installer/ 에 들어가서 화면에 뜨는 내용을 따라가고, 문제가 생기면 고치면 됩니다.

config.inc.php 파일을 직접 만들 경우 이전 방식의 절차는 아래에 있습니다. 그래도 데이터베이스를 만드는 버튼을 달아놓은 설치 관리자는 써야합니다.

Roundcube (직접) 설정

Roundcube 설정은 /var/www/webmail.example.com/htdocs/roundcube/config/에 있는 설정 파일 두개만 편집하면 되니 간단합니다.

데이터베이스에 접근하려면 다음 줄만 바꾸면 됩니다. 앞서 설정한 사용자 이름은 roundcube입니다. 앞서 결정한 암호로 pass라고 표시한 줄의 설정값을 바꾸십시오:

파일 /var/www/webmail.example.com/htdocs/roundcube/config/db.inc.php데이터베이스 접근
$rcmail_config['db_dsnw'] = 'pgsql://roundcube:pass@localhost/roundcubemail';

다음에 보여드리는 내용은 Roundcube 운영에 필요한 핵심 설정입니다. 설정 과정에서 원하는 값을 넣으시면 됩니다:

파일 /var/www/webmail.example.com/htdocs/roundcube/config/main.inc.phpRoundcube 설정
-$rcmail_config['default_host'] = '';
+$rcmail_config['default_host'] = 'localhost';
 
-$rcmail_config['smtp_server'] = '';
+$rcmail_config['smtp_server'] = 'localhost';
 
 // SMTP username (if required) if you use %u as the username Roundcube
 // will use the current username for login
+$rcmail_config['smtp_user'] = '';
-$rcmail_config['smtp_user'] = '%u';
 
 // SMTP password (if required) if you use %p as the password Roundcube
 // will use the current user's password for login
-$rcmail_config['smtp_pass'] = '';
+$rcmail_config['smtp_pass'] = '%p';
 
 // this key is used to encrypt the users imap password which is stored
 // in the session record (and the client cookie if remember password is enabled).
 // please provide a string of exactly 24 chars.
-$rcmail_config['des_key'] = 'rcmail-!24ByteDESkey*Str';
+$rcmail_config['des_key'] = '$supersecret24bytestring';

Roundcube 0.6으로 시작할 때, Roundcube에 기본 저장소 폴더, 휴지통, 임시 보관함 등의 범용 이름을 설정해야합니다.

파일 /var/www/webmail.example.com/htdocs/roundcube/config/main.inc.php범용 폴더 이름 설정
// NOTE: Use folder names with namespace prefix (INBOX. on Courier-IMAP)
-$rcmail_config['drafts_mbox'] = 'Drafts';
+$rcmail_config['drafts_mbox'] = 'INBOX.Drafts';
 
// NOTE: Use folder names with namespace prefix (INBOX. on Courier-IMAP)
-$rcmail_config['junk_mbox'] = 'Junk';
+$rcmail_config['junk_mbox'] = 'INBOX.Junk';
 
// NOTE: Use folder names with namespace prefix (INBOX. on Courier-IMAP)
-$rcmail_config['sent_mbox'] = 'Sent';
+$rcmail_config['sent_mbox'] = 'INBOX.Sent';
 
// NOTE: Use folder names with namespace prefix (INBOX. on Courier-IMAP)
-$rcmail_config['trash_mbox'] = 'Trash';
+$rcmail_config['trash_mbox'] = 'INBOX.Trash';
 
// NOTE: Use folder names with namespace prefix (INBOX. on Courier-IMAP)
-$rcmail_config['default_imap_folders'] = array('INBOX', 'Drafts', 'Sent', 'Junk', 'Trash');
+$rcmail_config['default_imap_folders'] = array('INBOX', 'INBOX.Drafts', 'INBOX.Sent', 'INBOX.Junk', 'INBOX.Trash');

Roundcube 시험

http://webmail.example.com/ 로 웹메일에 로그인하시고 시험 메일함을 나타내보십시오. 메일 보내기 기능도 올바르게 동작해야합니다.