前回、Webメールアプリ RoundCube その2
にて、メールサーバー機能がないため、導入が頓挫していましたので
これを機会に、再度ローカルメールサーバーを構築してみました
とはいっても、今回は以前のように暗号化などは行っていません
前回のローカルメールサーバー構築については
POP形式で行いました
そのときのメモがわりに書いたのが
メールサーバー構築(Postfix+Dovecot)
から載っています
カテゴリ Postfix+Dovecot
にいろいろと書き込んでありますので
もしよければ参考にしてみてください
それにしても、ブログでメモしておくと
後々同じようなトラブルが起きたとき対処しやすくなりますので
これからも続けていこうと思います
さて、話がそれましたが
今回は、シェルスクリプトを使ってのセットアップとなります
とはいっても、まだ if や switch などを使った制御ではなく
ただ単にコマンドの羅列程度です
参考にさせていただいたのは、前回のときと同じサイトです
ただし、今回の設定したのは fedora13 32bit
メールサーバー構築(Postfix+Dovecot)
のほうになります
ある程度はスクリプトでできたのですが、
どうしてもコマンドを入力する場面はでてきます
まぁそれは今後の課題ということで、まずは今回の実験結果です
それでは、今回作成したスクリプト
setup_fedora_mail_server.sh
の内容です
途中に cp コマンドがあるように
あらかじめ同ディレクトリ内に
procmail設定ファイルの procmailrc
そして
procmailログローテーション設定ファイルの
procmail
を用意する必要があります
------------------------------—-
#!/bin/bash
#yum -y install yum-fastestmirror
#yum -y install nautilus-open-terminal
#/etc/rc.d/init.d/yum-updatesd stop
#yum -y remove yum-updatesd
#yum -y install yum-cron
#chkconfig yum-cron on
yum -y install postfix
#7行めに追記(自FQDN名を指定)
sed -i “77i myhostname = mail.linuxwiki.com” /etc/postfix/main.cf
#88行めに追記(自ドメイン名を指定)
sed -i “85i mydomain = linuxwiki.com” /etc/postfix/main.cf
#102行めに追記(ローカルからのメール送信時の送信元メルアド@以降にドメイン名>を付加)
sed -i ‘102i myorigin = $mydomain’ /etc/postfix/main.cf
#perl-TimeDate のインストール
yum -y install perl-TimeDate
#外部からの受信を許可
sed -i “s/inet_interfaces = localhost/inet_interfaces = all/g” /etc/postfix/main.cf
#167行目、行末へ , $mydomain を追記
#($は特殊記号なのでエスケープが必須になる)
sed -i “167s/\$/, \$mydomain/” /etc/postfix/main.cf
#423行目追記(メールボックスの形式をMaildir 形式へ)
sed -i “423i home_mailbox = Maildir/” /etc/postfix/main.cf
#575行めにメールサーバーソフトの隠蔽を追記
sed -i “575i smtpd_banner = \$myhostname ESMTP unknown” /etc/postfix/main.cf
#最下行へ追記
#SMTP-Auth 設定
echo -e ‘smtpd_sasl_auth_enable = yes’ >> /etc/postfix/main.cf
echo -e ‘smtpd_sasl_local_domain = $myhostname’ >> /etc/postfix/main.cf
echo -e ‘smtpd_recipient_restrictions =’ >> /etc/postfix/main.cf
#行頭に空白がはいっていないと、なぜかエラーになるので注意
echo -e ‘ permit_mynetworks’ >> /etc/postfix/main.cf
echo -e ‘ permit_sasl_authenticated’ >> /etc/postfix/main.cf
echo -e ‘ reject_unauth_destination’ >> /etc/postfix/main.cf
#受信メールサイズ設定
echo -e ‘message_size_limit = 20485760’ >> /etc/postfix/main.cf
#saslauthd 起動
/etc/rc.d/init.d/saslauthd start
chkconfig saslauthd on
sed -i “s/saslauthd/auxprop/g” /usr/lib/sasl2/smtpd.conf
mkdir -p /etc/skel/Maildir/{new,cur,tmp}
chmod -R 700 /etc/skel/Maildir/
sed -i “453i mailbox_command = /usr/bin/procmail” /etc/postfix/main.cf
## procmail procmailrc に関してはcp コマンドで作成済みファイルをコピー
cp -p procmailrc /etc/
cp -p procmail /etc/logrotate.d/
/etc/rc.d/init.d/sendmail stop
chkconfig sendmail off
#メールサーバー切り替え
#2を選択すること
alternatives –config mta
/etc/rc.d/init.d/postfix start
chkconfig postfix on
#Dovecot の導入
yum -y install dovecot
#設定ファイル変更
sed -i “21i protocols = imap imaps pop3 pop3s” /etc/dovecot.conf
sed -i “226i mail_location = maildir:~/Maildir” /etc/dovecot.conf
/etc/rc.d/init.d/dovecot start
chkconfig dovecot on
--------------------------------------------------—
ここまでで、大抵の設定はできるのですが
メールユーザの設定等は
自力で入力することになります
これはまだ、ログインなどの処理スクリプトをかけないのが原因です
このため、今回はメールユーザをそのまま fedora
パスワード関連に関しては
ローカル メールサーバー構築
を参考に
echo “hebereke” | saslpasswd2 -p -u linuxwiki.com -c fedora
としました
ユーザ登録のスクリプト化については
”簡単なユーザアカウント登録するシェルスクリプト’
とか
Linux処理の自動化 (GUI処理含む)
などを参考に、つくってみようと思います
今回の設定では、暗号化などは行っていません
このため、セキュリティには問題がありますので
実用はこのままではできません
次回は、前回中断してしまった RoundCube の導入を行おうと思います