courier-imap †
echo 'courier_authdaemond_enable="YES"' >> /etc/rc.conf
echo 'courier_imap_imapd_enable="YES"' >> /etc/rc.conf
echo 'courier_imap_imapd_ssl_enable="YES"' >> /etc/rc.conf
cd /usr/local/etc/courier-imap
cp imapd.cnf.dist imapd.cnf
vi imapd.cnf 編集
cd /usr/local/share/courier-imap/
vi mkimapdcert 編集 有効期限 365 to 3650
./mkimapdcert
./mkdhparams
cd /usr/local/etc/courier-imap
patch -p0 < /mnt/src/courier.patch
- ==> courier.patch <==
--- imapd.dist 2010-09-07 11:27:49.000000000 +0900
+++ imapd 2010-09-25 17:07:16.000000000 +0900
@@ -57,7 +57,7 @@
#
# Maximum number of connections to accept from the same IP address
-MAXPERIP=4
+MAXPERIP=10
##NAME: PIDFILE:0
#
qmail †
/var/qmail/scripts/enable-qmail
cd ~alias
echo '&info@zenno.com' > .qmail-root
echo '&root' > .qmail-postmaster
echo '&root' > .qmail-mailer-daemon
cd /var/qmail/control
touch badmailfrom
touch badmailto
echo '5000' > bouncemaxbytes
echo '120' > concurrencylocal
echo '120' > concurrencyremote
echo '10485760' > databytes
echo '#' > doublebounceto
echo '1000' > maxrcpt
echo '21600' > queuelifetime
ln -s rcpthosts senderhosts
touch smtproutes
echo "#\!/bin/sh" > /var/qmail/rc
echo 'exec env - PATH="/var/qmail/bin:$PATH" \' >> /var/qmail/rc
echo "qmail-start ./Maildir/" >> /var/qmail/rc
chmod +x /var/qmail/rc
SSL証明書 †
cp /usr/local/share/courier-imap/imapd.pem /var/qmail/cert.pem
daemontools †
echo 'svscan_enable="YES"' >> /etc/rc.conf
mkdir /var/qmail/services
cd /var/qmail/services
mkdir qmail smtpd smtpd2 smtpsd pop3d pop3sd
chmod +t *
mkdir qmail/log smtpd/log smtpd2/log smtpsd/log pop3d/log pop3sd/log
cd qmail
echo "#\!/bin/sh" > run
echo "PATH=/var/qmail/bin:/usr/local/bin:/bin:/usr/bin" >> run
echo "exec /var/qmail/rc" >> run
echo "#\!/bin/sh" > log/run
echo "exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t s16777215 n30 \" >> log/run
echo "/var/log/qmail/qmail" >> log/run
cd ../smtpd
echo "#\!/bin/sh" > run
echo "PATH=/var/qmail/bin:/usr/local/bin:/bin:/usr/bin" >> run
echo "exec tcpserver -c 120 -H -R -l $HOST -v -u 82 -g 81 \" >> run
echo "-x /usr/local/vpopmail/etc/tcp.smtp.cdb \" >> run
echo "0 smtp fixcrio recordio qmail-smtpd \" >> run
echo "$HOST /usr/local/vpopmail/bin/vchkpw true 2>&1" >> run
echo "#\!/bin/sh" > log/run
echo "exec /usr/local/bin/setuidgid qmails /usr/local/bin/multilog t s16777215 n30 \" >> log/run
echo "-* \" >> log/run
echo "+tcpserver:* \" >> log/run
echo "+*AUTH* \" >> log/run
echo "+*MAIL* \" >> log/run
echo "+*RCPT* \" >> log/run
echo "+*\>\ 4* \" >> log/run
echo "+*\>\ 5* \" >> log/run
echo "/var/log/qmail/smtpd" >> log/run
cd ../smtpd2
echo "#\!/bin/sh" > run
echo "PATH=/var/qmail/bin:/usr/local/bin:/bin:/usr/bin" >> run
echo "exec tcpserver -c 120 -H -R -l $HOST -v -u 82 -g 81 \" >> run
echo "-x /usr/local/vpopmail/etc/tcp.smtp.cdb \" >> run
echo "0 587 fixcrio recordio qmail-smtpd \" >> run
echo "$HOST /usr/local/vpopmail/bin/vchkpw true 2>&1" >> run
echo "#\!/bin/sh" > log/run
echo "exec /usr/local/bin/setuidgid qmails /usr/local/bin/multilog t s16777215 n30 \" >> log/run
echo "-* \" >> log/run
echo "+tcpserver:* \" >> log/run
echo "+*AUTH* \" >> log/run
echo "+*MAIL* \" >> log/run
echo "+*RCPT* \" >> log/run
echo "+*\>\ 4* \" >> log/run
echo "+*\>\ 5* \" >> log/run
echo "/var/log/qmail/smtpd2" >> log/run
cd ../smtpsd
echo "#\!/bin/sh" > run
echo "PATH=/var/qmail/bin:/usr/local/bin:/bin:/usr/bin" >> run
echo "exec tcpserver -c 120 -H -R -l $HOST -v -u 82 -g 81 \" >> run
echo "-x /usr/local/vpopmail/etc/tcp.smtp.cdb -s -n /var/qmail/cert.pem \" >> run
echo "0 smtps fixcrio recordio qmail-smtpd \" >> run
echo "$HOST /usr/local/vpopmail/bin/vchkpw true 2>&1" >> run
echo "#\!/bin/sh" > log/run
echo "exec /usr/local/bin/setuidgid qmails /usr/local/bin/multilog t s16777215 n30 \" >> log/run
echo "-* \" >> log/run
echo "+tcpserver:* \" >> log/run
echo "+*AUTH* \" >> log/run
echo "+*MAIL* \" >> log/run
echo "+*RCPT* \" >> log/run
echo "+*\>\ 4* \" >> log/run
echo "+*\>\ 5* \" >> log/run
echo "/var/log/qmail/smtpsd" >> log/run
cd ../pop3d
echo "#\!/bin/sh" > run
echo "PATH=/var/qmail/bin:/usr/local/bin:/bin:/usr/bin" >> run
echo "exec tcpserver -HRv -c120 \" >> run
echo "-l0 0 pop3 recordio qmail-popup $HOST \" >> run
echo "/home/vpopmail/bin/vchkpw qmail-pop3d Maildir 2>&1" >> run
echo "#\!/bin/sh" > log/run
echo "exec /usr/local/bin/setuidgid qmailp /usr/local/bin/multilog t s16777215 n30 \" >> log/run
echo "-* \" >> log/run
echo "+tcpserver:* \" >> log/run
echo "+*USER* \" >> log/run
echo "+*PASS* \" >> log/run
echo "+*APOP* \" >> log/run
echo "+*-ERR* \" >> log/run
echo "/var/log/qmail/pop3d" >> log/run
cd ../pop3sd
echo "#\!/bin/sh" > run
echo "PATH=/var/qmail/bin:/usr/local/bin:/bin:/usr/bin" >> run
echo "exec tcpserver -HRsv -c120 -n /var/qmail/cert.pem \" >> run
echo "-l0 0 pop3s recordio qmail-popup $HOST \" >> run
echo "/home/vpopmail/bin/vchkpw qmail-pop3d Maildir 2>&1" >> run
echo "#\!/bin/sh" > log/run
echo "exec /usr/local/bin/setuidgid qmailp /usr/local/bin/multilog t s16777215 n30 \" >> log/run
echo "-* \" >> log/run
echo "+tcpserver:* \" >> log/run
echo "+*USER* \" >> log/run
echo "+*PASS* \" >> log/run
echo "+*APOP* \" >> log/run
echo "+*-ERR* \" >> log/run
echo "/var/log/qmail/pop3sd" >> log/run
cd ../
chmod +x */run
chmod +x */log/run
mkdir /var/log/qmail
cd /var/log/qmail
mkdir qmail smtpd smtpd2 smtpsd pop3d pop3sd
chown qmaill:qnofiles qmail
chown qmails:qnofiles smtp*
chown qmailp:qnofiles pop3*
chmod 700 *
mkdir /var/service
cd /var/service
ln -s /var/qmail/services/qmail qmail
ln -s /var/qmail/services/smtpd smtpd
ln -s /var/qmail/services/smtpd2 smtpd2
ln -s /var/qmail/services/smtpsd smtpsd
ln -s /var/qmail/services/pop3d pop3d
ln -s /var/qmail/services/pop3sd pop3sd
vpopmail †
ln -s /usr/local/vpopmail/ /home/vpopmail
# smtp-auth の為に権限変更
chown root /home/vpopmail/bin/vchkpw
chmod 4755 /home/vpopmail/bin/vchkpw
# MySQL用の設定
cd /home/vpopmail/etc/
echo "localhost|0|USER|PASS|vpopmail" > vpopmail.mysql
chown vpopmail:vchkpw vpopmail.mysql
mysql -u root -pPASS
CREATE DATABASE vpopmail;
GRANT select,insert,update,delete,create,drop ON vpopmail.*
TO USER@localhost IDENTIFIED BY 'PASS';
quit
echo '*/5 * * * * /usr/local/vpopmail/bin/clearopensmtp' >> /var/cron/tabs/root
mount akari:/back /mnt
patch -p0 < /mnt/src/vlimits.patch
chown vpopmail:vchkpw vlimits.default
- ==> vlimits.patch <==
--- vlimits.default.orig 2010-09-17 15:38:51.000000000 +0900
+++ vlimits.default 2010-09-17 15:39:05.000000000 +0900
@@ -14,7 +14,7 @@
# default quota for newly created users (in bytes)
# example shows a user with a 10MB quota and a limit of 1000 messages
-#default_quota 10485760
+default_quota 31457280
#default_maxmsgcount 1000
# uncomment the following lines to disable certain features
patch -p0 < /mnt/src/tcp_smtp.patch
chown vpopmail:vchkpw tcp.smtp
- ==> tcp_smtp.patch <==
--- tcp.smtp.orig 2010-09-07 11:11:07.000000000 +0900
+++ tcp.smtp 2010-09-17 15:46:06.000000000 +0900
@@ -1 +1,18 @@
+##### for squirrelmail ######
+192.168.0.135:allow,RELAYCLIENT=""
+192.168.0.167:allow,RELAYCLIENT=""
+##### for mail-gateway ######
+192.168.0.142:allow,ALLOWEDHOST=""
+192.168.0.144:allow,ALLOWEDHOST=""
+192.168.0.146:allow,ALLOWEDHOST=""
+192.168.0.147:allow,ALLOWEDHOST=""
+192.168.0.148:allow,ALLOWEDHOST=""
+192.168.0.149:allow,ALLOWEDHOST=""
+192.168.0.150:allow,ALLOWEDHOST=""
+192.168.0.151:allow,ALLOWEDHOST=""
+192.168.0.152:allow,ALLOWEDHOST=""
+192.168.0.:allow,ALLOWEDHOST=""
+######## for localuser #######
127.:allow,RELAYCLIENT=""
+######## the others ##########
+:allow
qmailmrtg †
mrtg_daemon_enable="YES"
mkdir /usr/local/www/qmailmrtg
cd /usr/local/www/qmailmrtg
cp /mnt/src/qmail.mrtg.cfg qmail.mrtg.cfg
cp /mnt/src/index.html index.html
cp /mnt/src/qmailmrtg.conf /usr/local/etc/apache22/Includes/qmailmrtg.conf
echo '*/5 * * * * /usr/local/bin/mrtg /usr/local/www/qmailmrtg/qmail.mrtg.cfg' >> /var/cron/tabs/root
- ==> qmailmrtg.conf <==
Alias /qmailmrtg "/usr/local/www/qmailmrtg/"
<Directory "/usr/local/www/qmailmrtg/">
Options none
AllowOverride Limit
Order Deny,Allow
Deny from all
Allow from 192.168.
</Directory>
- ==> index.html <==
<!-- Begin Head -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> kenji.zenno.net - Qmail Mrtg Stats</TITLE>
<META HTTP-EQUIV="Refresh" CONTENT="300">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
</HEAD>
<BODY BGCOLOR="#ffffff" text="#000000" link="#000000" vlink="#000000"
alink="#000000">
<B>kenji.zenno.net Qmail Mrtg Stats</B>
<table BORDER=0 CELLPADDING=0 CELLSPACING=0>
<tr>
<td>
<B><a href=msg.html>Messages</a> (5 Minute Average)</B><BR>
<a href=msg.html><IMG BORDER=1 SRC="msg-day.png" width=450 height=185 ALT="day"></a>
</td>
<td>
<B><a href=concurrency.html>Local/Remote Concurrency</a> (5 Minute Average)</B><BR>
<a href=concurrency.html><IMG BORDER=1 SRC="concurrency-day.png" width=450 height=185 ALT="day"></a>
</td>
</tr>
<tr>
<td>
<B><a href=smtpad.html>SMTP Totals</a> (5 Minute Average)</B><BR>
<a href=smtpad.html><IMG BORDER=1 SRC="smtpad-day.png" width=450 height=185 ALT="day"></a>
</td>
<td>
<B><a href=smtp.html>SMTP Concurrency</a> (5 Minute Average)</B><BR>
<a href=smtp.html><IMG BORDER=1 SRC="smtp-day.png" width=450 height=185 ALT="day"></a>
</td>
</tr>
<tr>
<td>
<B><a href=smtpad2.html>SMTP2 Totals</a> (5 Minute Average)</B><BR>
<a href=smtpad2.html><IMG BORDER=1 SRC="smtpad2-day.png" width=450 height=185 ALT="day"></a>
</td>
<td>
<B><a href=smtp2.html>SMTP2 Concurrency</a> (5 Minute Average)</B><BR>
<a href=smtp2.html><IMG BORDER=1 SRC="smtp2-day.png" width=450 height=185 ALT="day"></a>
</td>
</tr>
<tr>
<td>
<B><a href=pop3ad.html>POP3 Totals</a> (5 Minute Average)</B><BR>
<a href=pop3ad.html><IMG BORDER=1 SRC="pop3ad-day.png" width=450 height=185 ALT="day"></a>
</td>
<td>
<B><a href=pop3.html>POP3 Concurrency</a> (5 Minute Average)</B><BR>
<a href=pop3.html><IMG BORDER=1 SRC="pop3-day.png" width=450 height=185 ALT="day"></a>
</td>
</tr>
<tr>
<td>
<B><a href=bits.html>Bits Transfered</a> (5 Minute Average)</B><BR>
<a href=bits.html><IMG BORDER=1 SRC="bits-day.png" width=450 height=185 ALT="day"></a>
</td>
<td>
<B><a href=messstatus.html>Message Status</a> (5 Minute Average)</B><BR>
<a href=messstatus.html><IMG BORDER=1 SRC="messstatus-day.png" width=450 height=185 ALT="day"></a>
</td>
</tr>
<tr>
<td><B><a href=queue-size.html>Queue Size</a> (5 Minute Average)</B><BR>
<a href=queue-size.html><IMG BORDER=1 SRC="queue-size-day.png" width=450 height=185 ALT="day"></a>
</td>
</tr>
</table>
</BODY>
</HTML>
管理用スクリプト †
mkdir /usr/local/scripts
ln -s /usr/local/scripts /usr/local/src
cp -p /back/src/queue* /usr/local/scripts
cp -p /back/src/fw2.sh /usr/local/scripts
cp -p /back/src/find-rm.sh /usr/local/scripts
cp -p /back/src/spam2.sh /usr/local/scripts
cp -p /back/src/back.sh /usr/local/scripts
cp -p /back/src/send-q.sh /usr/local/scripts
echo '0 * * * * /usr/local/scripts/queue.sh' >> /var/cron/tabs/root
echo '0 2 * * * /usr/local/scripts/find-rm.sh' >> /var/cron/tabs/root
echo 'MAILTO="i@zenno.com"' >> /var/cron/tabs/root
echo '*/4 * * * * /usr/local/src/queue2.sh' >> /var/cron/tabs/root
Mysqlチューニング †
echo "[mysqld]" > /usr/local/etc/my.cnf
echo "max_connections=1000" >> /usr/local/etc/my.cnf
echo "thread_cache=100" >> /usr/local/etc/my.cnf
/usr/local/etc/rc.d/mysql-server restart
Labelのカスタマイズ †
mkdir /data /log
vi /etc/fstab
------
# Device Mountpoint FStype Options Dump Pass#
/dev/ad4s1a / ufs rw 1 1
/dev/ad4s1b none swap sw 0 0
/dev/ad4s1d /log ufs rw 2 2
/dev/ad4s1e /data ufs rw 2 2
/dev/ad4s1f /back ufs rw 2 2
/dev/acd0 /cdrom cd9660 ro,noauto 0 0
-----
mount -a
df -h
-----
Filesystem Size Used Avail Capacity Mounted on
/dev/ad4s1a 4.8G 578M 3.9G 13% /
devfs 1.0K 1.0K 0B 100% /dev
/dev/ad4s1d 4.8G 478K 4.5G 0% /log
/dev/ad4s1e 19G 66K 18G 0% /data
/dev/ad4s1f 189G 53M 174G 0% /back
-----
/usr/local/etc/rc.d/mysql-server stop
/usr/local/etc/rc.d/svscan stop
cd /data
mkdir vpopmail domains
chown mysql:mysql vpopmail
chown vpopmail:vchkpw domains
chmod 700 *
cd /var/db/mysql
rm -r vpopmail
ln -s /data/vpopmail vpopmail
cd /home/vpopmail
rm -r domains
ln -s /data/domains domains
cd /log
mkdir qmail smtpd smtpd2 smtpsd pop3d pop3sd
chown qmaill:qnofiles qmail
chown qmails:qnofiles smtp*
chown qmailp:qnofiles pop3*
chmod 700 *
cd /var/log/
rm -r qmail
ln -s /log qmail
/usr/local/etc/rc.d/mysql-server start
/usr/local/etc/rc.d/svscan start
FreeBSD/インストール9.3