さくらのレンタルサーバーを契約しました

読了まで:約3分


と言うことで久しぶりのブログですが今回はそう言う話です。

なんで今時レンタルサーバーを契約したのか

これについては、

今時、開発者なら VPS を借りるもんじゃね?

と思われるかもしれませんが、今回必要だった要件が下記の様な感じだったため、 今時の VPS ではなくあえてレンタルサーバーを借りました:

  • self-managed ではないメールサーバーを確保したかった
  • 静的生成したブログのデータを手軽に rsync で deploy したかった
  • サーバを落さずに運用するのが面倒だったのでその辺りを丸投げしたかった

まぁ一番の理由は self-managed ではないメールサーバが欲しかった辺りで、 今までは個人向け Gmail に ForwardEmail で独自ドメイン宛てのメールを転送してたんですが、 メール送信の辺りに微妙感が非常にあったので、今回はさくらのレンサバを借りました。

またこのブログは今まで Hugo で生成したファイル類を Google Cloud Storage に乗せて Cloudflare 経由で配信していたんですが、 GCS への deploy にも時間が掛っていたのでその辺りをなんとかしたかったと言うのも有ります。

あと残りの理由としてはメンテナンスコストと金銭的コストは低い方が良いよね、と言う感じですね。はい。

さくらのレンタルサーバーを借りてみてどうだったか

それで私が借りたサーバは Intel Xeon + FreeBSD 11.2 な環境で、 所詮はメールサーバと静的生成したファイルを Cloudflare 経由で流しているだけで CGI とか使ってないため、 特に今は困ることなく普通にレンサバを使えています。

ただしメールサーバとしての処理の部分は多少調整していて、

  • 受信したメールを ByDate/Y)e)a)r/M)o)n)t)h に自動的に振り分ける
  • 迷惑メールの処理に使う spamassassin の設定を調整する
  • 過去のメールアドレスも含めて一つの Mailbox にデータをまとめる

と言う様なことはやっています。

ちなみにメールの自動振り分けに使っている .mailfilter の設定と spamassassin の設定は下記の様な感じです。 が spamassasin の設定の方はネットで調べた設定をコピペして継ぎ接ぎしているので、ライセンスは不明と言う感じになります:

.mailfilter:

if ( ! ( /^From:\s*(.*)/ && lookup( $MATCH1, ".whitelist" ) ) )
{
        xfilter "/usr/local/bin/spamc"
}

if ( /^X-Spam-Flag:.*YES/ )
{
        to "maildir/.spam/"
}

DATE=`date +%Y.%m`
DEST=".ByDate.${DATE}"
YEAR=`date +.ByDate.%Y`

test="/bin/test"
mkdir="/bin/mkdir"
touch="/usr/bin/touch"

system "${test} -d maildir/${YEAR}/cur || ${mkdir} -m 700 -p maildir/${YEAR}/cur"
system "${test} -d maildir/${YEAR}/new || ${mkdir} -m 700 -p maildir/${YEAR}/new"
system "${test} -d maildir/${YEAR}/tmp || ${mkdir} -m 700 -p maildir/${YEAR}/tmp"
system "${touch} maildir/${YEAR}/maildirfolder"

system "${test} -d maildir/${DEST}/cur || ${mkdir} -m 700 -p maildir/${DEST}/cur"
system "${test} -d maildir/${DEST}/new || ${mkdir} -m 700 -p maildir/${DEST}/new"
system "${test} -d maildir/${DEST}/tmp || ${mkdir} -m 700 -p maildir/${DEST}/tmp"
system "${touch} maildir/${DEST}/maildirfolder"

to "maildir/${DEST}"

.spammassasin/user_prefs:

required_score 5.0
report_safe 0

# Japanese
normalize_charset 1
ok_locales ja en
ok_languages ja en

score FROM_EXCESS_BASE64 0
score GAPPY_SUBJECT 0
score HTML_COMMENT_8BITS 0
score OBFUSCATING_COMMENT 0
score OBSCURED_EMAIL 0
score SUBJECT_ENCODED_TWICE 0
score SUBJECT_EXCESS_BASE64 0
score SUBJ_ILLEGAL_CHARS 0
score UPPERCASE_25_50 0
score UPPERCASE_50_75 0
score WEIRD_QUOTING 0

# RBL

## all.rbl.jp
header    RCVD_IN_ALL_RBL_JP eval:check_rbl_txt('rbl.jp', 'all.rbl.jp.')
describe  RCVD_IN_ALL_RBL_JP Received via a relay in all.rbl.jp
tflags    RCVD_IN_ALL_RBL_JP net
score     RCVD_IN_ALL_RBL_JP 2.0

## url.rbl.jp
urirhssub URLBL_RBLJP url.rbl.jp. A 2
body      URLBL_RBLJP eval:check_uridnsbl('URLBL_RBLJP')
describe  URLBL_RBLJP Has URI in url.rbl.jp
tflags    URLBL_RBLJP net
score     URLBL_RBLJP 4.0

uridnsbl  URLBL_IP_RBLJP url.rbl.jp. TXT
body      URLBL_IP_RBLJP eval:check_uridnsbl('URLBL_IP_RBLJP')
describe  URLBL_IP_RBLJP Has IP URL in url.rbl.jp
tflags    URLBL_IP_RBLJP net
score     URLBL_IP_RBLJP 4.0

## dyndns.rbl.jp
urirhssub URLBL_DYNDNS_RBLJP  dyndns.rbl.jp.    A   4
body      URLBL_DYNDNS_RBLJP  eval:check_uridnsbl('URLBL_DYNDNS_RBLJP')
describe  URLBL_DYNDNS_RBLJP  URL uses Dynamic DNS service
tflags    URLBL_DYNDNS_RBLJP  net
score     URLBL_DYNDNS_RBLJP  4.0

score RCVD_IN_SORBS_BLOCK 0
score RCVD_IN_SORBS_DUL 0
score RCVD_IN_SORBS_HTTP 0
score RCVD_IN_SORBS_MISC 0
score RCVD_IN_SORBS_SMTP 0
score RCVD_IN_SORBS_SOCKS 0
score RCVD_IN_SORBS_WEB 0
score RCVD_IN_SORBS_ZOMBIE 0

# BAYES
score BAYES_99 8.0
score BAYES_95 5.0
score BAYES_80 3.0
score BAYES_60 2.0
score BAYES_50 1.0
score BAYES_40 0.5
score BAYES_20 -0.5
score BAYES_05 -2.0
score BAYES_00 -5.0

ちなみにこの設定でのスパムやフィッシングメールの処理精度ですが、

  • 基本的にはスパムやフィッシングは正しく処理できている
  • しかし時々は誤爆したりすり抜けが発生する
  • とは言えそれ以外は基本的には問題がない

と言う感じです。

なおスパムメールについては学習させた効果もあってほぼ誤検出せずに処理できているんですが、 フィッシングメールに関してはフィッシングメールが公式のメールのコピペで飛んで来るので、 公式のメールがフィッシングメールとして処理される誤爆が結構発生しています。

とは言えフィッシングメールについてはクレジットカードやアカウント周り云々のメールが来たら基本的にフィッシングを疑い、 メールに記載されているドメインとヘッダ情報を確認した上でブックマークから状態を確認する、 と言う運用でなんとかなっていますが。

以上

と言うことで最近いじってたメールと WebSite の Hosting 周りの話はそんな感じでした。

まぁ Hosting 環境については、Cloudflare 経由でしか配信してないので転送量とかはそう言うほども無いですし、 CGI などのスクリプトを動かす訳でもないので、とりあえず当面はこのままかな、と言う感じですね。

あとはまぁ今回の件とは別枠で、最近の開発だと the.kalaclista.com のテンプレートを全面的に書き直していて、 テンプレートを書き直すついでに Perl でキチンとテストを書く、と言う様なこともやってたりします。

なおテンプレートの書き直しと平行して記事ファイルやメタ情報の分離などもやっていて、 そう言う作業が終ったらテンプレートやテストの部分は GitHub で公開したい、とも考えています。 あとはまぁ Perl で Hugo のテストを書く、と言うのも共有できると良いなーと言う感じですね。はい。

にゃるら(カラクリスタ)

『輝かしい青春』なんて失かった人。
次に備えて待機中。

今は趣味でプログラミングをして
生活しています。