サーバー設定 · 2 min read · Dec 02, 2025

完璧なサーバーの拡張 - Debian Squeeze [ISPConfig 3] - ページ 2

3. ROUNDCUBE

上記の手順に従って、apt-getを使用してroundcubeをインストールできます。しかし、別の論理に従う場合(時間と勇気があれば)、独自のサブドメインに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を編集し、エイリアスを「webmail1」のようなものに変更します。

roundcubeをインストールします。(進む前にmysql管理者のパスワードを持っている必要があります – dbconfig-commonにデータベースを設定させます。データベース管理者のパスワードとroundcube用に作成される新しいユーザーのパスワードについていくつかの質問がされます。それらの質問に答えて続行してください:

apt-get install roundcube roundcube-mysql

例の回答:
“dbconfig-commonでroundcubeのデータベースを設定しますか?” …. はいと答える
“roundcubeで使用するデータベースの種類: …mysqlと答える
“データベースの管理ユーザーのパスワード:” … あなたの管理者DBパスワードと答える
“roundcubeのためのMySQLアプリケーションパスワード:” … roundcubeユーザーに与えたいパスワードと答える
“パスワードの確認:”… roundcubeユーザーに与えたいパスワードと答える

何か問題が発生した場合は、常に次のコマンドを実行できます:

dpkg-reconfigure roundcube-core

詳細については、この投稿を参照してください。

すべての人が彼のドメイン名の下でウェブメールにアクセスできるようにするために、/etc/apache2/conf.d/roundcubeファイルを作成または編集して、エイリアスを「webmail」に設定する必要があります。SSLを希望する場合は、apacheが常にISPConfigのSSLインストールにリダイレクトするように、最後の2つのディレクティブ(IfModule mod_rewrite.c)を含める必要があります。

nano /etc/apache2/conf.d/roundcube
# これらのエイリアスは、apacheサーバー上の複数のホストで正しく機能しません  
# 使用するにはコメントを外すか、設定に適応させてください  
#    Alias /roundcube/program/js/tiny_mce/ /usr/share/tinymce/www/  
    Alias /roundcube /var/lib/roundcube  
    Alias /webmail /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}:50443%{REQUEST_URI}  [L]  
      
    
  
  
  
    
      
      RewriteEngine on  
      RewriteCond %{HTTPS} !^on$ [NC]  
      RewriteRule . https://%{HTTP_HOST}:50443%{REQUEST_URI}  [L]  
      
    
  
  
  
# ISPConfig 3.0.5.1以上の場合、次の内容も追加してください  
  
AddType application/x-httpd-php .php  
php_flag magic_quotes_gpc Off  
php_flag track_vars On  
php_admin_flag allow_url_fopen Off  
php_value include_path .:/usr/share/php:/usr/share/pear  
php_admin_value upload_tmp_dir /var/lib/roundcube/temp  
php_admin_value open_basedir /usr/share/php:/usr/lib/roundcube:/etc/roundcube:/usr/share/roundcube:/var/lib/roundcube:/var/log/roundcube  
php_flag register_globals off  
   

/var/lib/roundcube/config/main.inc.phpを編集します:

nano /var/lib/roundcube/config/main.inc.php

そしてファイル内のいくつかの変数を設定します(ファイルを初めて編集する場合、行は60と66です):

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

次のプラグイン(fail2banを助けるロガー)をインストールする場合、同じファイル内のプラグインのリストを拡張する必要があります。もし唯一のプラグインが直後にインストールされるものであれば、行(42)を以下のように編集する必要があります:

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

http://mattrude.com/projects/roundcube-fail2ban-plugin/からroundcubeロガープラグインをインストールします。

基本的に、ファイル(fail2ban.php)をダウンロードして、roundcubeのプラグインフォルダ内のfail2banフォルダに貼り付ける必要があります。最終的にこのファイルを持っている必要があります:/usr/share/roundcube/plugins/fail2ban/fail2ban.php。次のコマンドを実行します:

cd /usr/share/roundcube/plugins/
wget –no-check-certificate http://github.com/downloads/mattrude/rc-plugin-fail2ban/roundcube-fail2ban-plugin.1.0.tgz
tar -xvzf roundcube-fail2ban-plugin.1.0.tgz
touch /var/log/roundcube/userlogins
chown www-data:www-data /var/log/roundcube/userlogins

このプラグインは、各失敗したログイン試行でログファイルを更新します:/var/log/roundcube/userlogins

ISPConfigのウェブメールのリンクを編集するのを忘れないでください(システム -> インターフェース設定 -> (タブ)メール)し、それを/webmailに設定します。最後に、apacheを再起動します。

/etc/init.d/apache2 restart

これで、http://www.example.com/webmailでウェブメールにアクセスできます。

4. FAIL2BAN

falkoが提案するjail.localファイルを拡張します。完璧なサーバー - Debian Squeeze (Debian 6.0) With BIND & Courier [ISPConfig 3]: /etc/fail2ban/jail.local

nano /etc/fail2ban/jail.local

次の内容を追加または編集する必要があります:

[roundcube]  
enabled  = true  
port     = http,50443  
filter   = roundcube  
logpath  = /var/log/roundcube/userlogins  
maxretry = 5  
  
[webmin-auth]  
enabled = true  
port    = 50000  
filter  = webmin-auth  
logpath  = /var/log/auth.log  
maxretry = 3   
  
[ssh]  
enabled = true  
port    = 50022  
filter  = sshd  
logpath  = /var/log/auth.log  
maxretry = 6

roundcubeの50443ポートは、httpsへのリダイレクトを有効にした場合のみ必要です(このチュートリアルの最初を見てください)。webmin-authの50000ポートは変更されたポートです(このチュートリアルの最初を見てください)。sshの50022ポートは変更されたポートです(このチュートリアルの次のセクションを見てください)。

最後に(非常に重要)、roundcube.confファイルを作成するのを忘れないでください /etc/fail2ban/filter.d/roundcube.conf。

nano /etc/fail2ban/filter.d/roundcube.conf

次の内容を含めます:

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

幸運なことに、webmin-authとsshフィルターはすでにfail2banによって用意されています。fail2banを再起動します:

/etc/init.d/fail2ban restart

誰かがfail2banに多くの監獄を追加すると、そのいくつかは起動しないかもしれません(/var/log/fail2ban.logにエラーがありますが、出力にはありません!!!)。次のコマンドを実行して自分で確認してください:

iptables -L -n 

残念ながら、解決策は少しハック的ですが…少なくとも解決策です:

/usr/bin/fail2ban-clientファイルの145行目にtime.sleep(0.1)またはtime.sleep(0.05)を挿入する必要があります:

nano /usr/bin/fail2ban-client

変更前のファイルは次のようになります:

[...]  
def __processCmd(self, cmd, showRet = True):  
                beautifier = Beautifier()  
                for c in cmd:  
                        beautifier.setInputCmd(c)  
                        try:  
[...]  

変更後のファイルは次のようになります:

[...]  
def __processCmd(self, cmd, showRet = True):  
                beautifier = Beautifier()  
                for c in cmd:  
                        time.sleep(0.05)  
                        beautifier.setInputCmd(c)  
                        try:  
[...]  

再度fail2banを再起動します:

/etc/init.d/fail2ban restart

すべての監獄がアクティブであることを確認するには、次のコマンドを実行します:

iptables -L -n 
Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。