プロジェクト

全般

プロフィール

Rspamdのインストール

RHEL9を例に、Postfix、Apache httpdと連携する想定でRspamdのインストールを行います。

Redisの準備

  • キャッシュDBにRedisが必要なのでインストールを行います。
    # yum install redis
    
  • メモリを超えた際にTTL期限が短いものを優先削除する設定を変更します
    # vi /etc/redis/redis.conf
    --------------------
    maxmemory-policy volatile-ttl
    
  • 起動設定&起動を行います
    # systemctl enable --now redis
    

Rspamdのインストール

  • EPELを導入します
    # yum install epel-release
    
  • 開発向けリポジトリCRB(Code Ready Builder)を有効化します
    # dnf config-manager --enable crb
    
  • 下記から対応OS向けのリポジトリから「rspamd.repo」のURLを探します
    https://rspamd.com/rpm-stable/
    
  • RHEL系はcentos-xのrspamd.repoをダウンロードしてyumのリポジトリ設定に配置します
    wget https://rspamd.com/rpm-stable/centos-9/rspamd.repo -P /etc/yum.repos.d/
    
  • インストールを行います。
    # yum install rspamd
    

初期設定

  • 初期設定ウィザードを実行します
    # rspamadm configwizard
    --------------------
    Controller password is not set, do you want to set one?[Y/n]:
    WebUIのパスワード
    
    それ以外はそのままENTERでOK
    
  • 管理者用パスワードの設定します
    # rspamadm pw
    表示される暗号化文字列をコピー
    
  • コピーした文字列を設定します
    # vi /etc/rspamd/local.d/worker-controller.inc
    --------------------
    password = "前述のウィザードで設定されたもの";
    enable_password = "コピーした文字列を貼り付ける";
    
    • 同様の方法で前述のWebUIのパスワード(password)を後から設定または変更してもよい
  • 起動設定&起動を行います
    # systemctl enable --now rspamd
    

httpdとの連携

  • プロキシを行うためのhttpdの設定ファイルを作成します
    # vi rspamd.conf
    --------------------
    <Location /rspamd>
            Order allow,deny
            Allow from all
    </Location>
    <IfModule mod_rewrite.c>
            RewriteEngine  on
            RewriteRule ^/rspamd$ /rspamd/ [R,L]
            RewriteRule ^/rspamd/(.*) http://localhost:11334/$1 [P,L]
    </IfModule>
    
  • 設定を反映します
    # systemctl restart httpd
    
  • ブラウザで次のURLを開き、前述のパスワードでログインします
    http://サーバのIPアドレス/rspamd
    • Rspamdはデフォルトでは「bind_socket」設定でlocalhostからのみの接続に制限されています。
      上記の手法の場合、接続元がlocalhostのhttpdからとなるためlocalhostの接続とみなされます。