웹사이트 검색

Debian 8(Jessie)에 RoundCube 웹메일 설치


이 튜토리얼은 Debian 8에 최신 RoundCube 웹메일을 설치하는 방법을 보여줍니다. Roundcube는 플러그인으로 확장할 수 있는 IMAP 및 SMTP 지원이 있는 사용하기 쉬운 웹메일 클라이언트입니다. Debian 7에서 RoundCube는 .deb 패키지로 제공되었으며 최신 버전은 아니었지만 최소한 apt로 설치하기 쉬웠습니다. 현재 Debian 릴리스의 경우 더 이상 사용할 수 있는 RoundCube 패키지가 없으므로 여기에서 소스에서 설치하는 방법을 설명하겠습니다. 이 자습서에는 RoundCube를 ISPConfig 3 호스팅 제어판과 연결하는 단계를 설명하는 선택적 장이 포함되어 있습니다.

전제 조건

  • 데비안 8 운영 체제.
  • mod_php가 설치된 Apache 웹 서버. 아직 아파치가 설치되어 있지 않다면 완벽한 서버 설정을 살펴보고 적절한 환경을 설치하세요.
  • Roundcube가 연결할 이메일 서버(SMTP + IMAP). 이것은 로컬 서버(예: 완벽한 서버 설정 중 하나를 사용하는 경우) 또는 원격 서버일 수 있습니다.
  • 이 튜토리얼에서 사용할 서버 호스트 이름은 IP 주소가 192.168.1.100인 server1.example.com입니다. 서버의 IP 및 호스트 이름으로 바꾸십시오.

라운드큐브 설치

이 설치가 데비안 시스템 패키지와 충돌하지 않도록 RoundCube를 /opt/roundcube 디렉토리에 설치하겠습니다. 첫 번째 단계는 wget을 설치하고 /opt/roundcube 디렉토리를 만들고 wget이 있는 최신 RoundCube 버전을 이 디렉토리에 다운로드하는 것입니다. 이 튜토리얼을 작성할 당시의 현재 RoundCube 버전은 1.1.3입니다. RoundCube 웹사이트를 살펴보고 사용할 수 있는 최신 버전이 있는지 확인하세요.

서버 셸에서 루트 사용자로 로그인한 다음 wget 및 nano 편집기를 설치합니다.

apt-get install wget nano

디렉토리를 만들고 \cd\ 명령으로 입력합니다:

mkdir /opt/roundcube
cd /opt/roundcube

RoundCube tar.gz 파일을 다운로드하고 압축을 풉니다.

wget https://downloads.sourceforge.net/project/roundcubemail/roundcubemail/1.1.3/roundcubemail-1.1.3-complete.tar.gz
tar xfz roundcubemail-1.1.3-complete.tar.gz

이제 RoundCube 파일이 /opt/roundcube/roundcubemail-1.1.3 폴더에 있습니다. 다음 단계는 /opt/roundcube로 한 디렉토리를 이동하는 것입니다.

mv roundcubemail-1.1.3/* .
mv roundcubemail-1.1.3/.htaccess .

두 명령 끝에 있는 점은 필수이며 명령의 일부입니다. 놓치지 마세요! 빈 디렉터리와 tar.gz 파일을 삭제합니다.

rmdir roundcubemail-1.1.3
rm roundcubemail-1.1.3-complete.tar.gz

그리고 모든 파일의 소유자를 Apache 서버가 실행 중인 사용자로 변경합니다.

chown -R www-data:www-data /opt/roundcube

RoundCube 데이터베이스 설치

Roundcube는 사서함 설정, 연락처 등을 저장하기 위해 데이터베이스가 필요합니다. 여기서는 MySQL(또는 MariaDB)을 데이터베이스 백엔드로 사용하겠습니다. 이제 MySQL에서 이름이 \roundcubemail\인 데이터베이스와 이름이 \roundcube\인 사용자를 생성합니다.

다음 명령을 사용하여 MySQL 서버에 로그인합니다.

mysql --defaults-file=/etc/mysql/debian.cnf

그런 다음 MySQl 데이터베이스 셸에서 다음 명령을 실행하여 데이터베이스 및 데이터베이스 사용자를 생성합니다. 아래 명령에서 \secretpassword\라는 단어를 선택한 암호로 바꾸십시오.

CREATE DATABASE roundcubemail;
GRANT ALL PRIVILEGES ON roundcubemail.* TO IDENTIFIED BY 'secretpassword';
flush privileges;
quit

이제 mysql.initial.sql 파일에서 RoundCube 테이블을 새 데이터베이스로 가져옵니다.

Linux 셸에서 다음 명령을 실행합니다.

mysql --defaults-file=/etc/mysql/debian.cnf roundcubemail < /opt/roundcube/SQL/mysql.initial.sql

RoundCube 및 Apache 구성

이 단계에서는 RoundCube에서 데이터베이스 세부 정보를 구성하고 Apache에서 RoundCube 구성 파일을 추가합니다.

RoundCube에서 데이터베이스 구성부터 시작하겠습니다. 다음 명령을 실행하여 샘플 구성 파일을 기반으로 새 config.inc.php 파일을 생성하고 nano 편집기에서 엽니다.

cd /opt/roundcube/config
cp -pf config.inc.php.sample config.inc.php
nano config.inc.php

$config[db_dsnw]로 시작하는 데이터베이스 구성 줄을 찾아 다음 줄로 바꿉니다.

$config['db_dsnw'] = 'mysql://roundcube:/roundcubemail';

\secretpassword\라는 단어는 데이터베이스에 대해 선택한 암호로 바꿔야 합니다.

다음으로 \smtp_server\ 행을 검색하고 여기에 SMTP 서버의 호스트 이름을 설정하십시오. 제 경우에는 메일 서버가 로컬 서버이므로 서버를 \localhost\로 설정하겠습니다.

$config['smtp_server'] = 'localhost';

이제 Apache를 구성할 시간입니다. /etc/apache2/conf-available/ 폴더에 새 구성 파일 roundcube.conf를 생성합니다.

nano /etc/apache2/conf-available/roundcube.conf

해당 파일에 다음 줄을 추가하고 저장합니다.

Alias /roundcube /opt/roundcube
Alias /webmail /opt/roundcube

<Directory /opt/roundcube>
Options +FollowSymLinks
# AddDefaultCharset UTF-8
AddType text/x-component .htc

<IfModule mod_php5.c>
AddType application/x-httpd-php .php
php_flag display_errors Off
php_flag log_errors On
# php_value error_log logs/errors
php_value upload_max_filesize 10M
php_value post_max_size 12M
php_value memory_limit 64M
php_flag zlib.output_compression Off
php_flag magic_quotes_gpc Off
php_flag magic_quotes_runtime Off
php_flag zend.ze1_compatibility_mode Off
php_flag suhosin.session.encrypt Off
#php_value session.cookie_path /
php_flag session.auto_start Off
php_value session.gc_maxlifetime 21600
php_value session.gc_divisor 500
php_value session.gc_probability 1
</IfModule>

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^favicon\.ico$ skins/larry/images/favicon.ico
# security rules:
# - deny access to files not containing a dot or starting with a dot
# in all locations except installer directory
RewriteRule ^(?!installer)(\.?[^\.]+)$ - [F]
# - deny access to some locations
RewriteRule ^/?(\.git|\.tx|SQL|bin|config|logs|temp|tests|program\/(include|lib|localization|steps)) - [F]
# - deny access to some documentation files
RewriteRule /?(README\.md|composer\.json-dist|composer\.json|package\.xml)$ - [F]
</IfModule>

<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
</IfModule>

<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 month"
</IfModule>

FileETag MTime Size

<IfModule mod_autoindex.c>
Options -Indexes
</ifModule>

AllowOverride None
Require all granted
</Directory>

<Directory /opt/roundcube/plugins/enigma/home>
Options -FollowSymLinks
AllowOverride None
Require all denied
</Directory>

<Directory /opt/roundcube/config>
Options -FollowSymLinks
AllowOverride None
Require all denied
</Directory>

<Directory /opt/roundcube/temp>
Options -FollowSymLinks
AllowOverride None
Require all denied
</Directory>

<Directory /opt/roundcube/logs>
Options -FollowSymLinks
AllowOverride None
Require all denied
</Directory>

처음 두 줄에 있는 2개의 별칭 줄은 서버에서 RoundCube를 /roundcube 및 /webmail로 사용할 수 있도록 합니다.

구성을 활성화하고 Apache를 다시 로드합니다.

a2enconf roundcube
service apache2 reload

이제 RoundCube가 서버에 완전히 설치되었으며 별칭 /roundcube 및 /webmail을 통해 서버 IP 및 호스트 이름에 도달할 수 있습니다. 내 서버의 IP는 192.168.1.100입니다. 이를 위해 http://192.168.1.100/webmail로 RoundCube를 열 수 있습니다.

ISPConfig RoundCube 플러그인 설치(선택 사항)

서버에 iSPConfig 3가 설치되어 있으면 ISPConfig RoundCube 플러그인을 설치하는 것이 좋습니다. 이를 통해 이메일 사용자는 RoundCube 내에서 자동 회신, 이메일 필터 및 기타 사서함 설정을 관리할 수 있습니다.

ISPConfig 3 RoundCube 플러그인은 ISPConfig 원격 API를 사용하여 ISPConfig 3에 연결됩니다. 이 API를 사용하려면 원격 사용자가 필요합니다.

\admin\ 사용자로 ISPConfig에 로그인합니다.

이러한 사용자를 만들려면 시스템 > 사용자 관리 > 원격 사용자로 이동하고 새 사용자 추가 버튼을 클릭합니다.

새 원격 사용자의 사용자 이름과 암호를 입력합니다. 사용자 이름 \roundcube\와 암호 \!fdWEacBOG1d\를 선택하겠습니다.

원격 사용자 설정을 통해 세분화된 액세스 제어가 가능합니다. 다음 기능을 활성화해야 합니다.

  • 서버 기능
  • 클라이언트 기능
  • 메일 사용자 기능
  • 메일 별칭 기능
  • 메일 스팸 필터 사용자 기능
  • 메일 스팸 필터 정책 기능
  • 메일 가져오기 메일 기능
  • 메일 스팸 필터 화이트리스트 기능
  • 메일 스팸 필터 블랙리스트 기능
  • 메일 사용자 필터 기능

마지막으로 저장을 클릭합니다.

다음 단계는 서버의 셸에서 수행되었습니다. 루트 사용자로 로그인하십시오.

이제 Debian의 SSL 인증서 저장소에 ISPConfig SSL 인증서를 설치하겠습니다.

cp /usr/local/ispconfig/interface/ssl/ispserver.crt /usr/local/share/ca-certificates/
update-ca-certificates

/etc/php5/cgi/php.ini 파일을 엽니다.

nano /etc/php5/apache2/php.ini

파일의 [openssl] 섹션이 보일 때까지 아래로 스크롤하고 거기에 다음 줄을 추가합니다.

openssl.cafile=/etc/ssl/certs/ca-certificates.crt

그런 다음 아파치를 다시 시작하십시오.

service apache2 restart

애드온을 다운로드하려면 먼저 Git 클라이언트를 설치하십시오.

apt-get install git

최신 버전의 RoundCube ISPConfig 플러그인을 다운로드하십시오.

cd /tmp
git clone https://github.com/w2c/ispconfig3_roundcube.git
cd /tmp/ispconfig3_roundcube/

그리고 플러그인을 roundcube 플러그인 디렉토리로 이동합니다.

mv ispconfig3_* /opt/roundcube/plugins
cd /opt/roundcube/plugins

샘플 구성을 기반으로 플러그인에 대한 새 config.inc.php 파일을 생성하고 nano 편집기에서 파일을 엽니다.

mv ispconfig3_account/config/config.inc.php.dist ispconfig3_account/config/config.inc.php
nano ispconfig3_account/config/config.inc.php

원격 사용자의 세부 정보를 입력하고 파일을 저장합니다.

<?php
$rcmail_config['identity_limit'] = false;
$rcmail_config['remote_soap_user'] = 'roundcube';
$rcmail_config['remote_soap_pass'] = '!fdWEacBOG1d';
$rcmail_config['soap_url'] = 'https://server1.example.com:8080/remote/';
?>

server1.example.com을 서버의 호스트 이름으로 바꿉니다. 원격 API 연결에 SSL(HTTPS)을 사용하는 경우 RoundCube 구성의 호스트 이름이 ISPConfig 인터페이스의 SSL 인증서 호스트 이름과 일치하는 것이 중요합니다. 다음 명령을 사용하여 ISPConfig SSL 인증서의 호스트 이름을 확인할 수 있습니다.

openssl x509 -in /usr/local/share/ca-certificates/ispserver.crt -text -noout | grep Subject:

내 경우 결과는 다음과 같습니다.

Subject: C=DE, ST=Niedersachsen, L=Lueneburg, O=ISPConfig UG, OU=IT, CN=server1.example.com/

따라서 플러그인 구성 파일의 호스트 이름 \server1.example.com\은 SSL 인증서의 호스트 이름과 일치합니다.

이제 RoundCube에서 새 플러그인을 활성화하십시오. 편집기에서 구성 파일을 엽니다.

nano /opt/roundcube/config/config.inc.php

파일 끝에 다음 행을 추가하십시오.

$rcmail_config['plugins'] = array("jqueryui", "ispconfig3_account", "ispconfig3_autoreply", "ispconfig3_pass", "ispconfig3_spam", "ispconfig3_fetchmail", "ispconfig3_filter");

이제 RoundCube에 로그인할 수 있습니다. 새 옵션은 설정 > 계정에서 찾을 수 있습니다.

일반계정.

메일 필터 설정.

페치메일 설정.

연결

  • 데비안
  • 라운드큐브
  • Roundcube ISPConfig 플러그인