メールサーバーの構成が非常に分かりやすい絵を発見したので拝借。
サーバー移行:概要
- Raspberry Pi立ち上げ
- ユーザーの整理およびユーザーファイルの移行
- Apache2導入
- php導入
- MySQL導入
- Webサイトの移行
- PostgresからMySQLに変更
- Postfix導入
- Webmail導入
- OwnCloud導入
ユーザーアカウントを移行
別サーバーにユーザーアカウントを移行を参考に、ユーザーを移行していく。
NFS設定(主にクライアント側)
sudo rsync -av --progress --partial --exclude="/mnt/" -- / /mnt/fuga/(rootディレクトリ)
sudo rm -rf *
sudo exportfs -ra
sudo exportfs -v
sudo mount 192.168.0.xxx:/mnt/server/hoge /mnt/fuga
Apache起動時ワーニングの対処
以前あった、
apache2: Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
への対処で、apache2.confにServerNameを記述する対処を行った。
でも、もっと良さげな対処があることが判明。
/etc/hostsの内容を以下に変更
127.0.0.1 hoge.domain.com hoge localhost
これだと
$ hostname
$ hoge
$ hostname --fqdn
$ hoge.domain.com
と返してくれるようになる。
Raspberry PiのNFS起動
/mnt/server/hogeのetc/fstabの/dev/mmcblk0p2エントリをコメントアウト
/boot/cmdline.txtをNFS起動に設定
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/nfs nfsroot=192.168.0.xxx:/mnt/server/hoge,udp,vers=3 ip=192.168.0.yyy:192.168.0.xxx:192.168.0.1:255.255.255.0:rpi:eth0:off rootfstype=nfs smsc95xx.turbo_mode=N elevator=deadline rootwait
ip=
Howto: Raspberry Pi Root NFS share – boot your System over NFS share and definitively deal with Flash data corruption
Boot Raspberry Pi over NFS
Sendmail送信制限設定
/etc/mail/sendmail.mc
sendmail.mc は /etc/mail ディレクトリに入っています。このファイルを root で編集します。その後、次のように m4 コマンドで sendmail.cf ファイルを生成します。
# m4 /etc/mail/sendmail.mc > /etc/sendmail.cf
例えば50通に制限したい場合は、
define(`confMAX_RCPTS_PER_MESSAGE’, `10′)dnl
と追加記述してください。
relay_mail_from
送信者のメールアドレスがアクセスマップ内でRELAYと記述されていれば、中継を許可する。 もし、引数にdomainが指定されていれば、ドメインもチェックする。 なお、アクセスマップに関しては、access_dbを参照のこと。
FEATURE(`relay_mail_from’)dnl
FEATURE(`relay_mail_from’, `domain’)
/etc/mail/trusted-users
accessマップ
From:bob@your.domain RELAY ← this sender can relay
From:watanet.com RELAY ← ドメインごと中継許可
makemap hash /etc/mail/access < /etc/mail/access
sendmailの再起動
/etc/init.d/sendmail stop
/etc/init.d/sendmail start
sendmail再起動時のメッセージ
Makefile:365: 警告: ターゲット `/etc/aliases.db' へのコマンドを置き換えます
Makefile:362: 警告: ターゲット `/etc/aliases.db' への古いコマンドは無視されます
Makefile:421: 警告: ターゲット `/etc/aliases' へのコマンドを置き換えます
Makefile:362: 警告: ターゲット `/etc/aliases' への古いコマンドは無視されます
554 5.0.0 No local mailer defined
554 5.0.0 QueueDirectory (Q) option must be set
Raspberry Piサーバ設定
Raspbianイメージからインストール
・NOOBSは面倒
固定IP化
・/etc/network/interfaces
iface eth0 inet static
address 192.168.0.xxx
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 220.220.248.1
・/etc/hosts
192.168.0.yyy hoge
・/etc/resolv.conf
dnsmasqインストール
DHCPリースログ:/var/lib/misc/dnsmasq.leases
rootをHDDに移動する
https://melgrubb.wordpress.com/2014/08/01/raspberry-pi-home-server-part-6-adding-a-hard-drive/
gpartedもついでに入れる
/dev/sda1 → root 16GB
/dev/sda2 → Webサーバ用 84GB
/dev/sda3 → データ用(NTFS) 1900GB
/dev/sda1のPartition unique GUID
2E2853B9-8117-4635-B2B0-A0E887728FDC
/dev/sda1: UUID=”89b4f982-2aee-4393-b536-77cc639c435a” TYPE=”ext4″
/dev/sda3: LABEL=”Data” UUID=”2066C9B136993504″ TYPE=”ntfs”
minidlnaのインストール
http://www.instructables.com/id/Raspberry-Pi-Media-Server-MiniDLNA/?lang=ja
nfsサーバのインストール
sudo apt-get install -y nfs-common nfs-kernel-server
(-y は全ての問いに yes)
webサーバ用パーティションの用意
フォーマット:sudo mkfs.ext4 /dev/sda2
UUIDの確認:sudo blkid /dev/sda2
/dev/sda2: UUID=”e5faec66-6af8-4ed4-bb17-798c607281c3″ TYPE=”ext4″
mountポイントの作成:sudo mkdir /mnt/server
sudo chmod 777 /mnt/server
fstabの編集
/dev/disk/by-uuid/e5faec66-6af8-4ed4-bb17-798c607281c3 /mnt/server ext4 defaults,noatime 0 2
nfsの設定
/etc/exports
/mnt/server/hoge *(rw,wdelay,no_root_squash,no_subtree_check)
NFS起動時にrpc.nfsdやrpc.mountdでエラーが発生する→IPv6を有効にする
/etc/modulesにipv6を追記する
snd-bcm2835
ipv6
nfs自動起動設定
$ sudo update-rc.d rpcbind enable
$ sudo update-rc.d nfs-common- enable
$ sudo update-rc.d nfs-kernel-server enable
SpamAssassin日本語対応設定
SpamAssassinのユーザ毎の設定は ./SpamAssassin/user_prefs に書いておくのだけど、日本語メールの場合追加しておくといい設定がある。
まずは user_prefs に書いてあるとおり、
score HTML_COMMENT_8BITS 0
と
score UPPERCASE_25_50 0
score UPPERCASE_50_75 0
score UPPERCASE_75_100 0
score OBSCURED_EMAIL 0
score SUBJ_ILLEGAL_CHARS 0
を有効にしておく。
そして、以下の設定はたぶん足しておくといい設定。
score GAPPY_SUBJECT 0
score SUBJECT_ENCODED_TWICE 0
score TVD_SPACE_RATIO 0
score FM_FRM_RN_L_BRACK 0
score PLING_QUERY 0
score WEIRD_QUOTING 0
score FH_FROMEML_NOTLD 0
score MISSING_SUBJECT 0
score FROM_EXCESS_BASE64 0
以下はこれまでの経験上追加してきた設定。まあ、スパムも進化してきているから、これらの設定も有効ではなくなってきているのだろうけど、一応。
score DATE_IN_FUTURE_96_XX 4.5
score DATE_IN_PAST_96_XX 4.5
score DIET_1 3.0
score DRUG_ED_SILD 2.0
score DRUGS_ERECTILE 4.0
score RDNS_NONE 2.0
score RDNS_DYNAMIC 1.5
score BODY_ENHANCEMENT 2.6
score BODY_ENHANCEMENT2 1.7
score HELO_EQ_D_D_D_D 2.5
score HTML_EXTRA_CLOSE 2.0
score HTML_FONT_SIZE_LARGE 1.5
score HTML_FONT_SIZE_HUGE 2.5
score HTML_IMAGE_ONLY_04 3.5
score HTML_MESSAGE 0.2
score HTML_SHORT_CENTER 2.0
score HTML_SHORT_LINK_IMG_1 3.0
score HTML_SHORT_LINK_IMG_2 2.0
score HTML_SHORT_LINK_IMG_3 1.5
score INVALID_DATE 4.5
score MIME_HTML_MOSTLY 2.0
score MIME_QP_LONG_LINE 2.0
score RCVD_IN_PBL 2.0
score BAD_CREDIT 2.0
score FH_HELO_EQ_D_D_D_D 2.0
score STOX_REPLY_TYPE 1.0
score SUBJECT_FUZZY_TION 1.0
score MORE_SEX 3.5
score MONEY_BACK 2.0
score NORMAL_HTTP_TO_IP 1.5
score PRICES_ARE_AFFORDABLE 1.5
score SUBJ_BUY 2.0
score URI_HEX 1.0
IE9でフォントがバラバラ
新しいInternet Explorerが出てくると悩みが増える。IE9もしかりで、本サイトのタイトルのフォントがバラバラになっちゃった。
これはIE9のバグらしいんだけど、CSSのfont-familyの指定で日本語フォントを一番最初に追加することで回避することができるらしい。
ここで使っているArjuna Xでは、テーマのstyle.cssで以下のように追記する。
.headerMain h1 a:hover {
color:#36414d;
font-size:40px;
font-family:'MS Pゴシック', "Times New Roman", Times, serif;
text-decoration:none;
}
そうするとちゃんと
と表示されるようになる。テーマが更新されるたびにここを直さないとな。