メールサーバー設定 · 2 min read · Feb 12, 2026

Exim、MySQL、Cyrus-Imapd、Horde WebmailをCentos 5.1に設定する - ページ 4

Pam_mysqlの設定

Pam_mysqlは、以下のcyrus-imapdサービスをmysqlデータベースに対して認証するために使用されます。IMAP、POP、SIEVE、LMTP、CSYNC。

Pam_mysqlの設定

サービスのためにpam_mysqlを有効にし、以下の変更を行います。

  • /etc/pam.d/imap auth optional pam_mysql.so user=horde passwd=hordepassword host=/var/lib/mysql/mysql.sock db=horde table=horde_users usercolumn=user_uid passwdcolumn=user_pass crypt=3 account required pam_mysql.so user=horde passwd=hordepassword host=/var/lib/mysql/mysql.sock db=horde table=horde_users usercolumn=user_uid passwdcolumn=user_pass crypt=3
  • /etc/pam.d/pop auth optional pam_mysql.so user=horde passwd=hordepassword host=/var/lib/mysql/mysql.sock db=horde table=horde_users usercolumn=user_uid passwdcolumn=user_pass crypt=3 account required pam_mysql.so user=horde passwd=hordepassword host=/var/lib/mysql/mysql.sock db=horde table=horde_users usercolumn=user_uid passwdcolumn=user_pass crypt=3
  • /etc/pam.d/sieve auth optional pam_mysql.so user=horde passwd=hordepassword host=/var/lib/mysql/mysql.sock db=horde table=horde_users usercolumn=user_uid passwdcolumn=user_pass crypt=3 account required pam_mysql.so user=horde passwd=hordepassword host=/var/lib/mysql/mysql.sock db=horde table=horde_users usercolumn=user_uid passwdcolumn=user_pass crypt=3
  • /etc/pam.d/lmtp auth optional pam_mysql.so user=horde passwd=hordepassword host=/var/lib/mysql/mysql.sock db=horde table=horde_users usercolumn=user_uid passwdcolumn=user_pass crypt=3 account required pam_mysql.so user=horde passwd=hordepassword host=/var/lib/mysql/mysql.sock db=horde table=horde_users usercolumn=user_uid passwdcolumn=user_pass crypt=3
  • /etc/pam.d/csync auth optional pam_mysql.so user=horde passwd=hordepassword host=/var/lib/mysql/mysql.sock db=horde table=horde_users usercolumn=user_uid passwdcolumn=user_pass crypt=3 account required pam_mysql.so user=horde passwd=hordepassword host=/var/lib/mysql/mysql.sock db=horde table=horde_users usercolumn=user_uid passwdcolumn=user_pass crypt=3

Saslauthdの設定

  • /etc/sysconfig/saslauthdを編集し、以下のように変更します。SOCKETDIR=/var/run/saslauthd # パスワードを確認する際に使用するメカニズム。 "saslauthd -v"を実行して、インストールが使用するようにコンパイルされたメカニズムのリストを取得します。 MECH=pam # コマンドラインでsaslauthdに渡す追加のフラグ。受け入れられるフラグのリストについては、saslauthd(8)を参照してください。 FLAGS="-r -n 0 -c"

ClamAVの設定

  • clamavユーザーをeximグループに追加します。usermod -G exim clamav
  • ソケットの場所を変更し、TCPを無効にします。/etc/clamd.confを変更します。LocalSocket /var/run/clamav/clamd.socket #TCPSocket 3310 #TCPAddr 127.0.0.1
  • 安全なセキュリティ署名をインストールします。wget http://www.sanesecurity.co.uk/clamav/update_sanesecurity.txt -O /usr/local/bin/update_sanesecurity.sh
    chmod +x /usr/local/bin/update_sanesecurity.sh
    ln -s /usr/local/bin/update_sanesecurity.sh /etc/cron.hourly/
    /usr/local/bin/update_sanesecurity.sh
  • clamavのためにローカルselinuxモジュールを有効にし、clamdlocal.teというファイルを作成し、以下を追加します。module clamdlocal 1.0; require { type proc_t; type var_t; type sysctl_kernel_t; type var_spool_t; type clamd_t; class dir { write search read remove_name add_name }; class file { write getattr read lock create unlink }; } #============= clamd_t ============== allow clamd_t proc_t:file { read getattr }; allow clamd_t sysctl_kernel_t:dir search; allow clamd_t sysctl_kernel_t:file read; allow clamd_t var_spool_t:dir read; allow clamd_t var_spool_t:file { read getattr }; allow clamd_t var_t:dir { write read add_name remove_name }; allow clamd_t var_t:file { write getattr read lock create unlink };
  • モジュールをコンパイルしてロードします。checkmodule -M -m -o clamdlocal.mod clamdlocal.te
    semodule_package -o clamdlocal.pp -m clamdlocal.mod
    semodule -i clamdlocal.pp

Spamassassinの設定

  • スタートアップオプションを変更します。/etc/sysconfig/spamassassinを編集し、以下のように変更します。SPAMDOPTIONS=" -l -d -c -m5 -H -m 10 --socketpath=/var/run/spamassassin/spamd.sock --socketowner=exim"
  • spamassassinのためにローカルspamdモジュールを有効にし、spamdlocal.teというファイルを作成し、以下を追加します。module spamdlocal 1.0; require { type spamd_t; type spamd_var_run_t; class capability { fowner chown kill }; class sock_file { write create unlink getattr setattr }; } #============= spamd_t ============== allow spamd_t self:capability { fowner chown kill }; allow spamd_t spamd_var_run_t:sock_file { write create unlink getattr setattr };
  • モジュールをコンパイルしてインストールします。checkmodule -M -m -o spamdlocal.mod spamdlocal.te
    semodule_package -o spamdlocal.pp -m spamdlocal.mod
    semodule -i spamdlocal.pp

最終調整

サービスの無効化

不要なサービスを無効にします。このスクリプトを使用してください。

サービスの有効化

chkconfig –level 234 exim on
chkconfig –level 234 mysqld on
chkconfig –level 234 spamassassin on
chkconfig –level 234 clamd on
chkconfig –level 234 httpd on
chkconfig –level 234 saslauthd on
chkconfig –level 234 cyrus-imapd on

service mysqld restart
service saslauthd restart
service spamassassin restart
service clamd restart
service exim restart
service cyrus-imapd restart
service httpd restart

管理ユーザーの作成

  • admin.sqlというファイルを作成し、以下を追加します(パスワードを適宜変更してください)。USE horde; REPLACE INTO horde_users (user_uid,user_pass) VALUES ( '[email protected]', -- これを変更 md5('verystrongpassword') );
  • データベースにユーザーを追加します。mysql -p horde < admin.sql

ファイアウォール

設定ファイル/etc/sysconfig/iptablesにこれらのルールを追加します。

*raw
:PREROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT
*filter
:FORWARD DROP [0:0]
:INPUT DROP [0:0]
:OUTPUT DROP [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m multiport -j ACCEPT --dports 80,443,25,110,143
-A INPUT -p icmp -m icmp -m limit --icmp-type 8 --limit 5/min -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -s 192.168.1.4 -j ACCEPT
COMMIT

ログイン

ふぅ!完了です。ブラウザを開いてhttps://192.168.1.4/にアクセスし、上記の詳細でログインしてください。管理者の下で他のユーザーを作成することができます。その他の機能もテストできます。

参考文献

Share: X/Twitter LinkedIn

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

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