ナビゲーション
FrontPage
FreeBSD
Linux
Citrix XenServer
VMware ESXi
Unixコマンド
MySQL
PostgreSQL
Windows
CMS/CRM
クラウド
用語
PHPスクリプト
Bashシェルスクリプト
Rubyスクリプト
開発日記
検索
ツールボックス
新しいページの作成
バックアップの表示
外部のリンク元
最近更新したページ
全ページ
ヘルプ
凍結
アップロード
ページ名の変更
最新の40件
2016-08-17
Linux/NagiosQL
Linux/CentOSチューニング
2016-02-23
Linux/ソフトウェアRAID復旧手順
2016-02-18
FreeBSD/DHCP
FreeBSD/squid
2016-02-15
Unixコマンド/file
2016-02-05
FreeBSD/DynaBook
FreeBSD/Linux compatibility
2016-01-21
PHPスクリプト/PEAR DBインストールできない
PHPスクリプト/PEAR DB
2016-01-20
PHP/フレームワーク/Zend Framework
PHP/フレームワーク
FreeBSD/Postfix+amavisd+clamav
2016-01-15
FreeBSD/sl
2015-12-04
Unixコマンド/dig
Unixコマンド/nslookup
Unixコマンド/traceroute
Linux/rsync
FreeBSD/rsync
Unixコマンド/vipw
2015-11-25
Linux/Postfix+MySQL+Postfix AdminによるバーチャルSMTPサーバの構築
Linux/Postfix + postgrey
2015-11-24
Linux/Postfix + amavisd + clamav
2015-05-25
Unixコマンド/ifconfig
2015-05-23
Unixコマンド/netstat
Unixコマンド/route
Unixコマンド/lsof
Unixコマンド/disown
Unixコマンド/time
Unixコマンド/crontab
2015-05-22
Unixコマンド/nohup
Unixコマンド/fgとbg
Unixコマンド/nice
Unixコマンド/kill
Unixコマンド/jobs
Unixコマンド/restor
Unixコマンド/dump
Unixコマンド/uncompress
Unixコマンド/compress
Unixコマンド/zcat
total:
1626
today:
1
yesterday:
0
now:
1
本文
ノート
?
編集
差分
一覧
FreeBSD/新vpopmail の編集
*新vpopmail [#s893e191] #contents **構成 [#xdc86af9] vpopmail 5.4.26~ qmail 1.03~ mysql 5.1.24~ qmail-scanner 2.01~ ClamAV 0.94~ spamassassin 3.2.5 **qmailインストール [#ke65315c] qmailには様々なパッチが存在しますが、とりあえずこの4つのパッチを当ててインストールします。 |BGCOLOR(#C0C0C0):CENTER:パッチ|BGCOLOR(#C0C0C0):CENTER:説明| |qmail-date-localtime.patch|Recieved フィールドの日時は、標準では GMT が入る。 これをローカルタイム(JST) にするには、qmail-date-localtime patch 当てる必要がある。| |qmailqueue-patch|環境変数QMAILQUEUEによりqueue登録プログラムを変更する。qmail-scanner導入のため必要。portにてmake時に WITH_QMAILQUEUE_PATCH=yes を指定することにより導入。| |qmail-smtpd-relay-reject|'%'等を含むアカウントへのメール受信を禁止し、relayを抑止する。このパッチを当てることにより、受信後エラーメール返信の手順を行わず、最初の受信時にエラーとするようになる。| |qmail-large-dns.patch|DNS の MX レコードが 512byte 以上の応答(RFC違反らしい)を返してくる AOL などに対応するためのパッチ。portにてデフォルトで導入される。| qmailの本体をportsを使って利用する準備に入る。portsを使うことで、qmailが必要とするシステムユーザの追加やMTAの切り替えが簡単に行える。ひとまずコンパイル前の状態で処理を止め、さきほど入手したパッチを適用する。 # cd /usr/ports/mail/qmail # make patch WITH_QMAILQUEUE_PATCH=yes MAIN_QMAIL_DATE_LOCALTIME=yes # cd work/qmail-1.03/ # fetch http://www.qmail.org/qmail-smtpd-relay-reject # patch -p1 < qmail-smtpd-relay-reject Hmm... Looks like a unified diff to me... The text leading up to this was: -------------------------- |--- orig/qmail-smtpd.c Mon Jun 15 06:53:16 1998 |+++ qmail-smtpd.c Sat Feb 9 12:07:19 2002 -------------------------- Patching file qmail-smtpd.c using Plan A... Hunk #1 succeeded at 53. Hunk #2 succeeded at 217. Hunk #3 succeeded at 266. Hmm... Ignoring the trailing garbage. done portsに展開されたファイルへのパッチの適用が終わったら、コンパイルとインストールを続けて行う。 # cd ../.. # make # make install ***sendmailの停止 [#bdd0fc19] # vi /etc/rc.conf ------------------------------ sendmail_enable="YES" ↓ sendmail_enable="NONE" ------------------------------ sendmailの代わりにqmailが呼び出されるようにリンクを張ります。 # mv /usr/sbin/sendmail /usr/sbin/sendmail.old # ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail **vpopmailインストール [#cfb80b1a] # cd /usr/ports/mail/vpopmail # make WITH_MYSQL=yes WITH_CLEAR_PASSWD=yes \ WITH_DOMAIN_QUOTAS=yes clean install ▼インストールされると、/usr/local/vpopmail/etc/vpopmail.mysql に以下のように書かれているはず。~ これをいじれば設定変更できる。~ ここでは例として、DB:vpopmaildb USER:vpopmailuser PASS:vpoppmailpassとします。~ MySQLはインストールされている事を前提としております。~ インストールは ⇒ [[ここ参照>/FreeBSD/Apache2.0]] # vi /usr/local/vpopmail/etc/vpopmail.mysql ------------------------------------------------- localhost|0|vpopmailuser|vpopmailpass|vpopmaildb localhost|0|vpopmailuser|vpopmailpass|vpopmaildb ------------------------------------------------- ▼データベース関連は自動的には作ってくれないので、作る必要がある。 $ mysql -u root -p > CREATE DATABASE vpopmaildb; > GRANT ALL ON vpopmaildb.* TO vpopmailuser@localhost IDENTIFIED BY 'vpopmailpass'; ▼localsがないとエラーが出力されるので、localsを作成。 # touch /var/qmail/control/locals **ClamAVのインストール [#pd47a87f] # cd /usr/ports/security/clamav # make install ***qmail-scannerで動作させるように修正 [#h46d1be3] # vi /usr/local/etc/clamd.conf ---------------------------------------- User clamav ↓変更 User qscand ***rc.conf [#q3d86280] # ClamAV clamav_clamd_enable="YES" clamav_freshclam_enable="YES" **qmailadminのインストール [#c2c2914f] # cd /usr/ports/mail/qmailadmin # make install CGIBINDIR=www/cgi-bin WEBDATADIR=www/data ***Apacheの設定 [#z0f84f4b] Alias /cgi-bin/ /usr/local/www/cgi-bin/ Alias /data/ /usr/local/www/data/ <Directory "/usr/local/www/cgi-bin/"> AllowOverride None Options ExecCGI Order allow,deny Allow from all </Directory> <Directory "/usr/local/www/data/"> AllowOverride None Options None Order allow,deny Allow from all </Directory> **Spamassassinのインストール(日本語対応) [#z0e9b6e0] ***MeCabのインストール [#h4778da6] # cd /usr/ports/japanese/mecab # make WITH_CHARSET=utf-8 install ***mecab-ipadicのインストール [#tcfe1f4f] # cd /usr/ports/japanese/mecab-ipadic # make WITH_CHARSET=utf-8 install ***Text-MeCabのインストール [#t8c11209] # cd /usr/ports/japanese/p5-Text-MeCab # make ENCODING=utf-8 install ***Encode-Detectのインストール [#f0da3b68] # cd /usr/ports/converters/p5-Encode-Detect # make install ***SpamAssassinのインストール [#n7a328a7] # cd /usr/ports/japanese/p5-Mail-SpamAssassin # make install ***rc.conf [#se18d8f0] # SpamAssassin spamd_enable="YES" spamd_flags="-s /var/log/spam.log -c -d -q -x -r /var/run/spamd/spamd.pid -v -u vpopmail" ***local.cfの作成 [#yce023da] うちで使っているlocal.cfを置いておきます。 &attachref(./local.cf); # cd /usr/local/etc/mail/spamassassin/local.cf.sample /usr/local/etc/mail/spamassassin/local.cf # vi /usr/local/etc/mail/spamassassin/local.cf -----------------------コメントアウト解除------------------------------ normalize_charset 1 ***SpamAssassinの残り処理 [#hf1a3775] # cp /usr/local/etc/mail/spamassassin/tokenizer.pre.sample /usr/local/etc/mail/spamassassin/tokenizer.pre # vi /usr/local/etc/mail/spamassassin/tokenizer.pre -----------------------コメントアウト解除------------------------------ loadplugin Mail::SpamAssassin::Plugin::Tokenizer::MeCab **qmail-scannerのインストール [#y8e333db] # cd /usr/ports/mail/qmail-scanner # make QMAILSCAN_SCANNERS="clamdscan,verbose_spamassassin" install # chmod +s /usr/local/bin/qmail-scanner-queue.pl ***文字化け対策 [#he78bf14] qmail-scanner のインストール時に、--lang ja_JP.EUC で、管理者宛のメッセージは日本語化されるのですが、ウィルス検出した、メールの Subject が日本語だと、その部分が文字化けしてしまいます。 この対策として、/usr/local/bin/qmail-scanner-queue.pl を2箇所ほど修正します。 まず、1箇所目は、&color(blue){sub email_sender { };という個所を探してその関数の open(SM,"|$qmailinject -h -f ''")||&tempfail("cannot open $qmailinject for sending quarantine report - $!"); ↓ open(SM,"|/usr/local/bin/nkf -j|$qmailinject -h -f ''")||&tempfail("cannot open $qmailinject for sending quarantine report - $!"); もう一箇所は、&color(blue){sub email_recips { };という関数の open(SM,"|$qmailinject -h -f ''")||&tempfail("cannot open $qmailinject for sending quarantine report - $!"); ↓ open(SM,"|/usr/local/bin/nkf -j|$qmailinject -h -f ''")||&tempfail("cannot open $qmailinject for sending quarantine report - $!"); と変更してください。 これで、nkf によって Subject も日本語化されるます。 ***qmail-scannerのバージョンの更新 [#w9057998] crontabに下記を追加 # qmail-scanner-version 00 4 * * * root /usr/local/bin/qmail-scanner-queue.pl -z ***ウィルスを発見した場合の通知先をadminに変更 [#x8b57adf] # vi /usr/local/bin/qmail-scanner-queue.pl -------------------------------------------- my $NOTIFY_ADDRS='admin'; **tcp.smtpの作成 [#w2096259] # cat /usr/local/vpopmail/etc/tcp.smtp # 127.0.0.1からはすべてパス 127.:allow,RELAYCLIENT="",RBLSMTPD="",QMAILQUEUE="/var/qmail/bin/qmail-queue" #:allow,RELAYCLIENT="",RBLSMTPD="",QMAILQUEUE="/var/qmail/bin/qmail-queue" # # 内部ローカルからはSpamAssassinを通さずQmail-Scannerのチェックのみ行う。 # (SpamAssassinはRELAYCLIENT変数がコントロール) 192.168.1.:allow,RELAYCLIENT="",RBLSMTPD="",QMAILQUEUE="/usr/local/bin/qmail-scanner-queue.pl" #:allow,RELAYCLIENT="",RBLSMTPD="",QMAILQUEUE="/usr/local/bin/qmail-scanner-queue.pl" # # その他はすべてQmail-Scanner、SpamAssassinでチェックする :allow,QMAILQUEUE="/usr/local/bin/qmail-scanner-queue.pl" **起動スクリプト [#jf0d55ad] #!/bin/sh # Using splogger to send the log through syslog. # Using qmail-local to deliver messages to Maildir format by default case "$1" in start) echo -n " STEP 1 : CDB " /usr/local/bin/tcprules /usr/local/vpopmail/etc/tcp.smtp.cdb \ /usr/local/vpopmail/etc/tcp.smtp.tmp < /usr/local/vpopmail/etc/tcp.smtp echo -n " STEP 2 : qmail " exec env - PATH="/var/qmail/bin:$PATH" \ /var/qmail/bin/qmail-start ./Maildir/ \ splogger qmail& exec env - PATH="/var/qmail/bin:$PATH" \ /usr/local/bin/tcpserver -v -x /usr/local/vpopmail/etc/tcp.smtp.cdb -R -H \ -u 82 -g 81 0 smtp /var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger smtp 3 & echo " STEP 3 : POP3" /usr/local/bin/tcpserver -R -H 0 pop3 \ /var/qmail/bin/qmail-popup ma21.ath.cx \ /usr/local/vpopmail/bin/vchkpw \ /var/qmail/bin/qmail-pop3d Maildir 2>&1 | /var/qmail/bin/splogger pop3 3 & exit 0 ;; stop) exec killall qmail-send tcpserver ;; *) echo "Usage: `basename $0` {start|stop}" >&2 exit 64 ;; esac **vpopmailの仕組み [#o0c6b703] http://www.bugbearr.jp/?cmd=read&page=FreeBSD%2Fvpopmail
タイムスタンプを変更しない
*新vpopmail [#s893e191] #contents **構成 [#xdc86af9] vpopmail 5.4.26~ qmail 1.03~ mysql 5.1.24~ qmail-scanner 2.01~ ClamAV 0.94~ spamassassin 3.2.5 **qmailインストール [#ke65315c] qmailには様々なパッチが存在しますが、とりあえずこの4つのパッチを当ててインストールします。 |BGCOLOR(#C0C0C0):CENTER:パッチ|BGCOLOR(#C0C0C0):CENTER:説明| |qmail-date-localtime.patch|Recieved フィールドの日時は、標準では GMT が入る。 これをローカルタイム(JST) にするには、qmail-date-localtime patch 当てる必要がある。| |qmailqueue-patch|環境変数QMAILQUEUEによりqueue登録プログラムを変更する。qmail-scanner導入のため必要。portにてmake時に WITH_QMAILQUEUE_PATCH=yes を指定することにより導入。| |qmail-smtpd-relay-reject|'%'等を含むアカウントへのメール受信を禁止し、relayを抑止する。このパッチを当てることにより、受信後エラーメール返信の手順を行わず、最初の受信時にエラーとするようになる。| |qmail-large-dns.patch|DNS の MX レコードが 512byte 以上の応答(RFC違反らしい)を返してくる AOL などに対応するためのパッチ。portにてデフォルトで導入される。| qmailの本体をportsを使って利用する準備に入る。portsを使うことで、qmailが必要とするシステムユーザの追加やMTAの切り替えが簡単に行える。ひとまずコンパイル前の状態で処理を止め、さきほど入手したパッチを適用する。 # cd /usr/ports/mail/qmail # make patch WITH_QMAILQUEUE_PATCH=yes MAIN_QMAIL_DATE_LOCALTIME=yes # cd work/qmail-1.03/ # fetch http://www.qmail.org/qmail-smtpd-relay-reject # patch -p1 < qmail-smtpd-relay-reject Hmm... Looks like a unified diff to me... The text leading up to this was: -------------------------- |--- orig/qmail-smtpd.c Mon Jun 15 06:53:16 1998 |+++ qmail-smtpd.c Sat Feb 9 12:07:19 2002 -------------------------- Patching file qmail-smtpd.c using Plan A... Hunk #1 succeeded at 53. Hunk #2 succeeded at 217. Hunk #3 succeeded at 266. Hmm... Ignoring the trailing garbage. done portsに展開されたファイルへのパッチの適用が終わったら、コンパイルとインストールを続けて行う。 # cd ../.. # make # make install ***sendmailの停止 [#bdd0fc19] # vi /etc/rc.conf ------------------------------ sendmail_enable="YES" ↓ sendmail_enable="NONE" ------------------------------ sendmailの代わりにqmailが呼び出されるようにリンクを張ります。 # mv /usr/sbin/sendmail /usr/sbin/sendmail.old # ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail **vpopmailインストール [#cfb80b1a] # cd /usr/ports/mail/vpopmail # make WITH_MYSQL=yes WITH_CLEAR_PASSWD=yes \ WITH_DOMAIN_QUOTAS=yes clean install ▼インストールされると、/usr/local/vpopmail/etc/vpopmail.mysql に以下のように書かれているはず。~ これをいじれば設定変更できる。~ ここでは例として、DB:vpopmaildb USER:vpopmailuser PASS:vpoppmailpassとします。~ MySQLはインストールされている事を前提としております。~ インストールは ⇒ [[ここ参照>/FreeBSD/Apache2.0]] # vi /usr/local/vpopmail/etc/vpopmail.mysql ------------------------------------------------- localhost|0|vpopmailuser|vpopmailpass|vpopmaildb localhost|0|vpopmailuser|vpopmailpass|vpopmaildb ------------------------------------------------- ▼データベース関連は自動的には作ってくれないので、作る必要がある。 $ mysql -u root -p > CREATE DATABASE vpopmaildb; > GRANT ALL ON vpopmaildb.* TO vpopmailuser@localhost IDENTIFIED BY 'vpopmailpass'; ▼localsがないとエラーが出力されるので、localsを作成。 # touch /var/qmail/control/locals **ClamAVのインストール [#pd47a87f] # cd /usr/ports/security/clamav # make install ***qmail-scannerで動作させるように修正 [#h46d1be3] # vi /usr/local/etc/clamd.conf ---------------------------------------- User clamav ↓変更 User qscand ***rc.conf [#q3d86280] # ClamAV clamav_clamd_enable="YES" clamav_freshclam_enable="YES" **qmailadminのインストール [#c2c2914f] # cd /usr/ports/mail/qmailadmin # make install CGIBINDIR=www/cgi-bin WEBDATADIR=www/data ***Apacheの設定 [#z0f84f4b] Alias /cgi-bin/ /usr/local/www/cgi-bin/ Alias /data/ /usr/local/www/data/ <Directory "/usr/local/www/cgi-bin/"> AllowOverride None Options ExecCGI Order allow,deny Allow from all </Directory> <Directory "/usr/local/www/data/"> AllowOverride None Options None Order allow,deny Allow from all </Directory> **Spamassassinのインストール(日本語対応) [#z0e9b6e0] ***MeCabのインストール [#h4778da6] # cd /usr/ports/japanese/mecab # make WITH_CHARSET=utf-8 install ***mecab-ipadicのインストール [#tcfe1f4f] # cd /usr/ports/japanese/mecab-ipadic # make WITH_CHARSET=utf-8 install ***Text-MeCabのインストール [#t8c11209] # cd /usr/ports/japanese/p5-Text-MeCab # make ENCODING=utf-8 install ***Encode-Detectのインストール [#f0da3b68] # cd /usr/ports/converters/p5-Encode-Detect # make install ***SpamAssassinのインストール [#n7a328a7] # cd /usr/ports/japanese/p5-Mail-SpamAssassin # make install ***rc.conf [#se18d8f0] # SpamAssassin spamd_enable="YES" spamd_flags="-s /var/log/spam.log -c -d -q -x -r /var/run/spamd/spamd.pid -v -u vpopmail" ***local.cfの作成 [#yce023da] うちで使っているlocal.cfを置いておきます。 &attachref(./local.cf); # cd /usr/local/etc/mail/spamassassin/local.cf.sample /usr/local/etc/mail/spamassassin/local.cf # vi /usr/local/etc/mail/spamassassin/local.cf -----------------------コメントアウト解除------------------------------ normalize_charset 1 ***SpamAssassinの残り処理 [#hf1a3775] # cp /usr/local/etc/mail/spamassassin/tokenizer.pre.sample /usr/local/etc/mail/spamassassin/tokenizer.pre # vi /usr/local/etc/mail/spamassassin/tokenizer.pre -----------------------コメントアウト解除------------------------------ loadplugin Mail::SpamAssassin::Plugin::Tokenizer::MeCab **qmail-scannerのインストール [#y8e333db] # cd /usr/ports/mail/qmail-scanner # make QMAILSCAN_SCANNERS="clamdscan,verbose_spamassassin" install # chmod +s /usr/local/bin/qmail-scanner-queue.pl ***文字化け対策 [#he78bf14] qmail-scanner のインストール時に、--lang ja_JP.EUC で、管理者宛のメッセージは日本語化されるのですが、ウィルス検出した、メールの Subject が日本語だと、その部分が文字化けしてしまいます。 この対策として、/usr/local/bin/qmail-scanner-queue.pl を2箇所ほど修正します。 まず、1箇所目は、&color(blue){sub email_sender { };という個所を探してその関数の open(SM,"|$qmailinject -h -f ''")||&tempfail("cannot open $qmailinject for sending quarantine report - $!"); ↓ open(SM,"|/usr/local/bin/nkf -j|$qmailinject -h -f ''")||&tempfail("cannot open $qmailinject for sending quarantine report - $!"); もう一箇所は、&color(blue){sub email_recips { };という関数の open(SM,"|$qmailinject -h -f ''")||&tempfail("cannot open $qmailinject for sending quarantine report - $!"); ↓ open(SM,"|/usr/local/bin/nkf -j|$qmailinject -h -f ''")||&tempfail("cannot open $qmailinject for sending quarantine report - $!"); と変更してください。 これで、nkf によって Subject も日本語化されるます。 ***qmail-scannerのバージョンの更新 [#w9057998] crontabに下記を追加 # qmail-scanner-version 00 4 * * * root /usr/local/bin/qmail-scanner-queue.pl -z ***ウィルスを発見した場合の通知先をadminに変更 [#x8b57adf] # vi /usr/local/bin/qmail-scanner-queue.pl -------------------------------------------- my $NOTIFY_ADDRS='admin'; **tcp.smtpの作成 [#w2096259] # cat /usr/local/vpopmail/etc/tcp.smtp # 127.0.0.1からはすべてパス 127.:allow,RELAYCLIENT="",RBLSMTPD="",QMAILQUEUE="/var/qmail/bin/qmail-queue" #:allow,RELAYCLIENT="",RBLSMTPD="",QMAILQUEUE="/var/qmail/bin/qmail-queue" # # 内部ローカルからはSpamAssassinを通さずQmail-Scannerのチェックのみ行う。 # (SpamAssassinはRELAYCLIENT変数がコントロール) 192.168.1.:allow,RELAYCLIENT="",RBLSMTPD="",QMAILQUEUE="/usr/local/bin/qmail-scanner-queue.pl" #:allow,RELAYCLIENT="",RBLSMTPD="",QMAILQUEUE="/usr/local/bin/qmail-scanner-queue.pl" # # その他はすべてQmail-Scanner、SpamAssassinでチェックする :allow,QMAILQUEUE="/usr/local/bin/qmail-scanner-queue.pl" **起動スクリプト [#jf0d55ad] #!/bin/sh # Using splogger to send the log through syslog. # Using qmail-local to deliver messages to Maildir format by default case "$1" in start) echo -n " STEP 1 : CDB " /usr/local/bin/tcprules /usr/local/vpopmail/etc/tcp.smtp.cdb \ /usr/local/vpopmail/etc/tcp.smtp.tmp < /usr/local/vpopmail/etc/tcp.smtp echo -n " STEP 2 : qmail " exec env - PATH="/var/qmail/bin:$PATH" \ /var/qmail/bin/qmail-start ./Maildir/ \ splogger qmail& exec env - PATH="/var/qmail/bin:$PATH" \ /usr/local/bin/tcpserver -v -x /usr/local/vpopmail/etc/tcp.smtp.cdb -R -H \ -u 82 -g 81 0 smtp /var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger smtp 3 & echo " STEP 3 : POP3" /usr/local/bin/tcpserver -R -H 0 pop3 \ /var/qmail/bin/qmail-popup ma21.ath.cx \ /usr/local/vpopmail/bin/vchkpw \ /var/qmail/bin/qmail-pop3d Maildir 2>&1 | /var/qmail/bin/splogger pop3 3 & exit 0 ;; stop) exec killall qmail-send tcpserver ;; *) echo "Usage: `basename $0` {start|stop}" >&2 exit 64 ;; esac **vpopmailの仕組み [#o0c6b703] http://www.bugbearr.jp/?cmd=read&page=FreeBSD%2Fvpopmail
テキスト整形のルールを表示する
ログインまたはアカウント作成