서버 설정 · 3 min read · Jan 13, 2026

SSL을 통한 Easy RoundCube 및 Webmin과 fail2ban을 ISPConfig 3에서 Debian Squeeze에 설치하기

SSL을 통한 Easy RoundCube 및 Webmin과 fail2ban을 ISPConfig 3에서 Debian Squeeze에 설치하기

작성자: Thomas ( http://iopen.gr)
마지막 수정: 2011-03-09

저는 ISPConfig 3의 기본 솔루션보다 RoundCube 솔루션을 선호합니다. 또한 모든 시스템에 webmin을 설치하는 것이 유용하다고 생각합니다. 이 게시물에서는 두 가지를 모두 설치하는 매우 빠른 방법과 fail2ban의 훌륭한 지원을 함께 볼 수 있습니다. 마지막으로 모든 것을 SSL을 통해 접근하고 싶습니다(phpmyadmin도 포함 – 끝부분의 팁을 참조하세요).

저는 여러분이 falko의 가이드를 따랐다고 가정합니다:

The Perfect Server - Debian Squeeze (Debian 6.0) With BIND & Courier [ISPConfig 3]

ISPConfig 패널과 웹메일에 SSL을 통해 접근하고 싶다면, ISPConfig 3 매뉴얼의 6.2 ISPConfig 웹 인터페이스에 대한 SSL 활성화 장이나 이 게시물을 따랐다고 가정합니다(이는 제어판과 웹메일 인터페이스를 SSL을 통해 포트 8080에서 접근하고 싶을 때만 필요합니다).

위의 내용을 따랐다면(그리고 6.3 장 – SuExec 활성화도), 이 게시물의 해결 방법을 읽었다고 가정합니다.

Webmin

최신 webmin을 http://www.webmin.com/download.html에서 다운로드하세요…

wget http://prdownloads.sourceforge.net/webadmin/webmin_1.530_all.deb

… 그리고 설치합니다:

dpkg -i webmin_1.530_all.deb

RoundCube

Squirrelmail을 원하지 않으면 제거하세요…

apt-get remove squirrelmail

… 그리고 파일 /etc/apache2/conf.d/squirrelmail.conf를 삭제합니다:

rm /etc/apache2/conf.d/squirrelmail.conf

또는 원하신다면 /etc/apache2/conf.d/squirrelmail.conf를 편집하고 alias를 ‘webmail1’과 같은 것으로 변경하세요.

RoundCube를 설치합니다(진행하기 전에 mysql 관리자 비밀번호가 필요합니다):

apt-get install roundcube roundcube-mysql

데이터베이스 관리자와 roundcube의 새 사용자 및 그의 데이터베이스(및 비밀번호)에 대한 질문을 받게 됩니다. 질문에 답하고 계속 진행하세요. 문제가 발생하면 언제든지 다음을 실행할 수 있습니다:

dpkg-reconfigure roundcube-core

자세한 정보는 이 게시물을 참조하세요.

모든 사용자가 자신의 도메인 이름 아래에서 웹메일에 접근할 수 있도록 하려면 /etc/apache2/conf.d/roundcube.conf 파일을 생성하거나 편집하여 alias를 ‘webmail’로 설정해야 합니다. SSL을 원하신다면 마지막 두 지시문을 포함하여 Apache가 항상 ISPConfig 3의 SSL 설치로 리디렉션되도록 해야 합니다.

# 이러한 alias는 여러 호스트가 있는 apache 서버에서 제대로 작동하지 않습니다  
# 사용하려면 주석을 제거하거나 구성에 맞게 조정하세요  
#    Alias /roundcube/program/js/tiny_mce/ /usr/share/tinymce/www/  
    Alias /webmail /var/lib/roundcube  
    Alias /roundcube /var/lib/roundcube  
  
# tinymce 파일에 대한 접근  
  
      Options Indexes MultiViews FollowSymLinks  
      AllowOverride None  
      Order allow,deny  
      allow from all  
  
  
  
  Options +FollowSymLinks  
  # 이는 /var/lib/roundcube/.htaccess를 파싱하는 데 필요합니다.  
  # AllowOverride를 None으로 설정하기 전에 내용을 확인하세요.  
  AllowOverride All  
  order allow,deny  
  allow from all  
  
  
# 기본 디렉토리 보호:  
  
        Options -FollowSymLinks  
        AllowOverride None  
  
  
  
        Options -FollowSymLinks  
        AllowOverride None  
        Order allow,deny  
        Deny from all  
  
  
  
        Options -FollowSymLinks  
        AllowOverride None  
        Order allow,deny  
        Deny from all  
  
  
  
  
    
      
      RewriteEngine on  
      RewriteCond %{HTTPS} !^on$ [NC]  
      RewriteRule . https://%{HTTP_HOST}:8080%{REQUEST_URI}  [L]  
  
      
    
  
  
  
    
      
      RewriteEngine on  
      RewriteCond %{HTTPS} !^on$ [NC]  
      RewriteRule . https://%{HTTP_HOST}:8080%{REQUEST_URI}  [L]  
      
    

/var/lib/roundcube/config/main.inc.php를 편집하고 파일의 일부 변수를 수정합니다:

auto_create_user = TRUE;
$rcmail_config['default_host'] = 'localhost';

다음 플러그인( fail2ban을 돕는 로거)을 설치하려면 같은 파일에서 플러그인 목록을 확장해야 합니다. 만약 유일한 플러그인이 바로 다음에 설치될 플러그인이라면 아래와 같이 줄을 수정해야 합니다:

$rcmail_config['plugins'] = array('fail2ban'); 

http://mattrude.com/projects/roundcube-fail2ban-plugin/에서 roundcube 로거 플러그인을 설치하세요.

기본적으로 위의 파일(fail2ban.php)을 다운로드하고 roundcube의 플러그인 폴더의 fail2ban 폴더에 붙여넣어야 합니다: /usr/share/roundcube/plugins/fail2ban/fail2ban.php

이 플러그인은 각 로그인 시도마다 로그 파일을 생성하고 업데이트합니다: /var/log/roundcube/userlogins

Fail2ban

Falko가 The Perfect Server - Debian Squeeze (Debian 6.0) With BIND & Courier [ISPConfig 3]에서 제안한 jail.local 파일을 확장하세요: /etc/fail2ban/jail.local

다음 내용을 붙여넣어야 합니다:

[roundcube]
enabled  = true
port     = http,8080
filter   = roundcube
logpath  = /var/log/roundcube/userlogins
maxretry = 5
[webmin-auth]
enabled = true
port    = 10000
filter  = webmin-auth
logpath  = /var/log/auth.log
maxretry = 3 

roundcube의 8080 포트는 https로 리디렉션을 활성화한 경우에만 필요합니다.

마지막으로(그리고 매우 중요하게) roundcube.conf 파일을 /etc/fail2ban/filter.d/에 생성하는 것을 잊지 마세요. 아래 내용을 포함해야 합니다:

[Definition]
failregex = FAILED login for .*. from 
ignoreregex =

운이 좋게도 webmin-auth 필터는 이미 fail2ban 팀에 의해 준비되어 있습니다. fail2ban을 재시작하세요:

/etc/init.d/fail2ban restart

phpMyAdmin (SSL 팁)

phpMyAdmin에 SSL을 통해 접근하고 싶다면, RoundCube와 동일한 팁을 적용할 수 있습니다. /etc/apache2/conf.d/phpmyadmin.conf 파일을 편집하고 파일 끝에 다음 줄을 붙여넣으세요:

  
    
      
      RewriteEngine on  
      RewriteCond %{HTTPS} !^on$ [NC]  
      RewriteRule . https://%{HTTP_HOST}:8080%{REQUEST_URI}  [L]  
      
    

이후 Apache를 재시작하세요:

/etc/init.d/apache2 restart
Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.