2004-01-31 暇を見て作ってる
新サーバーのインストールメモ
◆ [FreeBSD] ports/mail/qmail
WITH_QMAILQUEUE_PATCH 環境変数でqmail-queueの代わりを指定可能にする
WITH_BIG_TODO_PATCH 巨大なtodoを扱えるようにする?
WITH_BIG_CONCURRENCY_PATCH 謎
WITH_OUTGOINGIP_PATCH 出ていくIPをcontrol/outgoingipで設定可能に
例のposバグとかの修正はまだの模様…とりあえず、make patchした後、
--- qmail-smtpd.c Mon Jun 15 13:53:16 1998
+++ qmail-smtpd-patched.c Mon Jan 19 15:22:23 2004
@@ -316,8 +316,8 @@
if (flagmaybex) if (pos == 7) ++*hops;
if (pos < 2) if (ch != "\r\n"[pos]) flagmaybey = 0;
if (flagmaybey) if (pos == 1) flaginheader = 0;
+ ++pos;
}
- ++pos;
if (ch == '\n') { pos = 0; flagmaybex = flagmaybey = flagmaybez = 1; }
}
switch(state) {
こんなパッチを当ててから、make && make install
どーもperlがいるらしい(´・ω・`)
それはともかくとして。
make install後、make enable-qmail && make force-enable-qmailあたりをやっておくと幸せになれます。
あー、make installworld後もこの二つはいるかも。
さらにこの後、設定がいります。
cd work/qmail-1.03 && ./config-fast ドメイン名
今回はdaemontoolsから起動するのでそのための設定を書く。
/service/.qmailにparm 755でrunというファイルを作る。
中身は
#!/bin/sh
exec env - PATH="/var/qmail/bin:$PATH" \
qmail-start ./Mailbox /usr/local/bin/multilog t s1000000 n20 /var/log/qmail
こんな感じ。
作ったら、mv /service/.qmail /service/qmailで起動を確認。
ついでにtcpserverを使ってSMTPサーバーを立てる。
/service/.qmail-smtpdにrunというファイルを作る。
中身は
#!/bin/sh
exec 2>&1
exec /usr/local/bin/tcpserver -u qmaildのUID -g qmaildのGID \
-v -p -R 0 smtp /var/qmail/bin/qmail-smtpd
さらに、/service/.qmail-smtpd/logというディレクトリを作り、中にrunというファイルを作る。
中身は
#!/bin/sh
exec setuidgid ログ取り用ユーザー名 multilog t s1000000 n20 /var/log/qmail-smtp
こんな感じ。
で、mv /service/.qmail-smtpd /service/qmail-smtpdとして、起動を確認すればOK。
◆ [FreeBSD] ports/lang/perl5.8
make ; make install; use.perl port
jail環境内だと色々エラーになるが気にするな!
エラーが気になるなら;じゃなくて&使う
◆ [FreeBSD] jail作るときに
/usr/src/etcでmake distribution DESTDIR=targetを忘れやすい。
あと、jail/devを作り忘れやすい(笑)
devfsをmountするのがいやなので、mknodでちまちま作る。こんなページ(やる気がありません。/massさん)見つけて、制限できることが発覚…それは後の方で書いてある。
普通の作り方は、jail対象のディレクトリを/jailとすると
cd /usr/src
make buildworld
make installworld DESTDIR=/jail
cd etc
make distribution DESTDIR=/jail
かな。
アップデートの時は、installworldまでやりなおす事になる。(普通はbuildworldしてるでしょうが)
◆ [Unix] ezmlm(qmailadmin入れるときに勝手に入る)のインストールで
/usr/local/bin/ezmlmrcをコピーし忘れるとうまく動かないですよ。
ezmlmrc.jpをコピーしておきましょう。
◆ [Unix] CPUとかマザーボードとかの温度検出・電圧・ファン回転数検出。
xmbmonを入れれば、対応してるマザーなら検出できる。
結果はこんな感じに
Temp.= 38.0, 41.5, 54.5; Rot.= 7584, 9642, 0
Vcore = 1.54, 1.65; Volt. = 3.39, 5.11, 11.80, -11.79, -5.15
◆ [FreeBSD] vpopmail
make WITH_QMAIL_EXT=yes WITH_FILE_SYNC=yes WITH_DOMAIN_QUOTAS=yes HARDQUOTA=n RELAYCLEAR=1 VCHKPW_GID=vpopmailのGID VPOPMAIL_UID=vpopmailのUID WITH_CLEAR_PASSWD=yes
でコンパイル。
clearopensmtpをcronに登録するのを忘れないように。
vpopmailユーザーで、crontab -eとしておいて、
*/1 * * * * /usr/local/vpopmail/bin/clearopensmtp 2>&1 > /dev/null
(vpopmailユーザーになれない(シェルが無い)ときは、setuidgid vpopmail /bin/tcsh当たりを使うと楽。)
ちなみにこの方法でコンパイルすると、ユーザー・ドメインに対する容量制限はデフォルトでは無制限。
一応忘れないようにメモ。
バーチャルドメイン追加: ~vpopmail/bin/vadddomain ドメイン
メールボックス作成: ~vpopmail/bin/vadduser メールアドレス
メールボックス削除: ~vpopmail/bin/vdeluser メールアドレス
バーチャルドメイン削除: ~vpopmail/bin/vdeldomain ドメイン
パスワードの変更: ~vpopmail/bin/vpasswd メールアドレス
ユーザー情報の確認: ~vpopmail/bin/vuserinfo メールアドレス
ドメインquota設定: ~vpopmail/bin/vsetuserquota ドメイン 容量
ユーザーquota設定: ~vpopmail/bin/vsetuserquota メールアドレス 容量
その他ドメイン設定変更: ~vpopmail/bin/vmoddomlimits
その他ユーザー設定変更: ~vpopmail/bin/vmoduser
pop-before-smtp使うときは、tcpserverの起動時の-x オプションに~vpopmail/etc/tcp.smtp.cdbを追加。
これでpop-before-smtpが有効になります。
ちなみに、smtpdの起動スクリプトはこんな感じ
#!/bin/sh
exec 2>&1
exec /usr/local/bin/tcpserver -u qmaildのUID -g qmaildのGID \
-x /usr/local/vpopmail/etc/tcp.smtp.cdb \
-v -p -R 0 25 /var/qmail/bin/qmail-smtpd
pop3dの起動スクリプトはこんな感じ
exec 2>&1
exec /usr/local/bin/tcpserver -x cdbファイル -v -p -R \
-u vpopmailのUID -g vpopmailのGID \
0 110 \
/var/qmail/bin/qmail-popup 自分のドメイン名 \
/usr/local/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir
これを使えば、上に書いたsvscanとの組み合わせでそれなりに動かせます。
◆ [Unix] SSHDのhostkeyの作り方
/usr/bin/ssh-keygen -t rsa1 -b 1024 -f ssh_host_key -N ''
/usr/bin/ssh-keygen -t dsa -f ssh_host_dsa_key -N ''
/usr/bin/ssh-keygen -t rsa -f ssh_host_rsa_key -N ''
◆ [FreeBSD] jailで制限付きdevfs
普通にjail_example_devfs_enable="YES"とすれば、devfsrules_jailが適用されます。
これは、nullとかzeroとかrandomとかの普通いるもの+ログインに必要な物が入ってます。
jail_example_devfs_rulesetの指定は、/etc/defaults/devfs.rule /etc/devfs.ruleの「名前の部分」で指定する必要がある模様…ここで、何回もはまった。
自分で/etc/devfs.ruleに
[devfsrules_jail_nologin=10]
add include $devfsrules_hide_all
add include $devfsrules_unhide_basic
とか指定すると、jail_example_devfs_ruleset="devfsrules_jail_nologin"らしい
jail_example_devfs_ruleset="10"とするとエラーになる(´・ω・`)
devfs in jail の件、メールでのご指摘ありがとうございました。些細なことではありますが非常に気になっていたので、とてもすっきりしました。<br>感涙です。(つд`)
2019年新作高品質の腕時計 <br>ファッション業界に比類のない高品質だけでなく、唯一無二のデザインがあり <br>秀逸な素材と抜群な作工は完璧に融合します。しかも、色々な商品をお客様に提供しています。 <br>この中で貴方の好きな商品を選ぶことができます。 <br>お客様の需求に満足する為に、最高なスーパーコピー 代引き商品とサービスに提供されます。 <br>お客様の喜びさせることを保証します。 <br>お客様を歓迎して当店をご光臨賜ります。 <br>私達は長年の実体商店の販売経験を持って、あなたのために品質最上のブランドスーパーコピー時計、ブランドスーパー <br>コピーバッグ、ブランドスーパーコピー財布。 <br>製品はされています高品質と低価格で提供,100%品質保証. <br>★信用第一、良い品質、低価格は。 <br>広大な客を歓迎して買います! <br>★送料無料(日本全国) ご注文を期待しています! <br>★ 税関の没収する商品は再度無料にして発送します