倉金家ホームページ趣味の部屋/サーバー構築メモ その2/メールサーバー その2
| ||||||
インストールCentOSインストール時にpostfixをインストールしておきましたが、そのままではMySQLとの連携ができないことがわかり、MySQL対応でビルドします。
| ||||||
準備ホームディレクトリに作業用のrpmディレクトリを作成します。
$ mkdir -p ~/rpm/{BUILD,RPMS/{i386,i586,i686,noarch,ppc},SOURCES,SPECS,SRPMS} (もしくは /usr/src/redhat-DEFAULT をコピーしrpmと名前変更) ~/.rpmmacros をつくり、以下を書き込み。 %_topdir /home/kiyoshi/rpm %_sysconfigdir /etc http://ftp.riken.jp/Linux/centos/5/os/SRPMS/を見てpostfixのバージョン等確認し、ソースをゲット。 $ wget http://ftp.riken.jp/Linux/centos/5/os/SRPMS/postfix-2.3.3-2.1.el5_2.src.rpm ソースをインストール。 $ rpm -ivh postfix-2.3.3-2.1.el5_2.src.rpm 警告: ユーザ mockbuild は存在しません - root を使用します...と警告が出るが無視。 http://www.postfix-jp.info/link.htmlを見て必要なパッチをゲット。 かの有名なVDAパッチ(Maildirのquotaなどのサポート)も入れよう。 $ wget http://vda.cvs.sourceforge.net/vda/VDA/postfix-2.3.3-vda.patch rpm/SOURCESに移動。 $ mv postfix-2.3.3-vda.patch rpm/SOURCES/ rpmbuildがインストールされていなかったらインストールしておきます。 | ||||||
SPEC変更/rpm/SPECS/postfix.specを編集。
%define MYSQL 1 # Patches に追加 Patch11: postfix-2.3.3-vda.patch # Apply obligatory patches にも追加 %patch11 -p1 -b .vda | ||||||
rpm作成コンパイルします。
$ rpmbuild -ba ~/rpm/SPECS/postfix.spec pcre-develがないとかmysql-develがないとか言われ、インストール。 待つこと数分、大量のメッセージが表示され、 rpm/RPMS/i386/ に postfix-2.3.3-2.1.i386.rpm ができます。 | ||||||
インストールOSインストールの際入れたpostfixはアンインストール。
作成したpostfixをインストールします。 $ su # rpm -ivh rpm/RPMS/i386/postfix-2.3.3-2.1.i386.rpm エラーも出ず、無事インストールされました。 Yum Extenderの設定→除外で、yum 除外リストに postfix* を書いておきます。この設定は /etc/yumex.conf に書き込まれますが、念のため /etc/yum.conf にも exclude=postfix* を書いておきます。 システムのmtaをpostfixに切替えてみます。(切替はこれでちゃんとやらないと問題が起きる。) # service sendmail stop # alternatives --config mta (postfixの番号を選んで[Enter]) # service postfix start 再起動してへんなエラーが出ずにpostfixが起動したのを確認したら設定が済むまでまた元のsendmailに戻しておきます。 以上でpostfixのインストールは完了ですが、これからが長い道のりです。 | ||||||
基本設定postfix の主要設定ファイルである /etc/main.cf を設定します。
まずは基本設定のみ。設定変更部分のみ記載。 但しディフォルト値を(うっかり変えないよう)明示的に書いてあるだけの部分もあり。 myhostname = mail.iroribata.net mydomain = iroribata.net …myhostname, mydomain は運用するドメインに合わせて myorigin = $myhostname append_dot_mydomain = no inet_interfaces = all local_recipient_maps = $alias_maps mynetworks_style = subnet mynetworks = 127.0.0.0/8, 192.168.0.0/16 mydestination= $myhostname, localhost, jiji.iroribata.net …メールサーバーおよびこのサーバーに設定されているホスト名 relay_domains = $mydestination home_mailbox = Maildir/ …Maildir形式を使う header_checks = pcre:/etc/postfix/header_checks smtpd_banner = $myhostname ESMTP $mail_name …バージョンまで言う必要はない disable_vrfy_command = yes …VRFYコマンドには応答しない 以上のごく基本的な設定を行った後、ためしにsendmailを止めてpostfixに切替えてみます。 # service sendmail stop # alternatives --config mta → postfixを指定 # service postfix start 無事起動するのを確認し、postfixから再度sendmailに戻しておきます。 | ||||||
引き続きPostfixAdminを導入しMySQLとの連携を行います。(次のページに。)
| ||||||