Postfix を MySQL とメールクォータに対応させてビルドする

提供:maruko2 Note.
移動: 案内, 検索

CentOS 4/5 標準の Postfix パッケージは、検索テーブルタイプで MySQL をサポートしていないため、Postfix の SRPM (ソース RPM) の spec ファイルを編集し MySQL に対応させる。

Postfix は、バーチャルでの運用時に、メールボックス形式として Maildir 形式を使用した場合、メールクオータ (Quota) がうまくつかえない問題があるため、対策として VDA パッチを適用してビルドする。(VDA: Virtual Delivery Agent)

MySQL 対応、VDA パッチ済み RPM パッケージ


目次

必要なもの


ビルド手順

SRPM から RPM を作成する手順

  1. RPM を作成する環境を作る
  2. SRPM をダウンロードし、インストールする
  3. VDA パッチを ~/rpm/SOURCES/ ディレクトリ内にダウンロードし解凍する
  4. MySQL 対応と、VDA パッチが適用されるように postfix.spec ファイルを編集
  5. ビルドする
  6. 作成した RPM パッケージを使い Postfix をインストールする

1. RPM を作成する環境を作る

一般ユーザで RPM を作成する

2. SRPM をダウンロードし、インストールする

$ rpm -ihv postfix-2.3.3-2.src.rpm

Postfix のソースコードおよびパッチの一式が、~/rpm/SOURCES/ ディレクトリ、spec ファイルが ~/rpm/SPECS/ ディレクトリにインストールされる。

3. VDA パッチを ~/rpm/SOURCES/ ディレクトリ内にダウンロードし解凍する

$ cd ~/rpm/SOURCES/
$ wget http://vda.sourceforge.net/VDA/postfix-2.3.3-vda.patch.gz
$ gunzip postfix-2.3.3-vda.patch.gz

4. MySQL 対応と、VDA パッチが適用されるように postfix.spec ファイルを編集

spec ファイルが ~/rpm/SPECS/postfix.spec にあるので、次のように編集する。

%define LDAP 2
%define MYSQL 1            <- 0 から 1 へ変更
%define PCRE 1

# Patches
Patch1: postfix-2.1.1-config.patch
Patch3: postfix-alternatives.patch
Patch6: postfix-2.1.1-obsolete.patch
Patch7: postfix-2.1.5-aliases.patch
Patch8: postfix-large-fs.patch
Patch9: postfix-2.2.5-cyrus.patch
Patch10: postfix-2.3.3-vda.patch      <- 追加

#Apply obligatory patches
%patch1 -p1 -b .config
%patch3 -p1 -b .alternatives
%patch6 -p1 -b .obsolete
%patch7 -p1 -b .aliases
%patch8 -p1 -b .large-fs
%patch9 -p1 -b .cyrus
%patch10 -p1 -b .vda                  <- 追加

5. ビルドする

$ rpmbuild -ba ~/rpm/SPECS/postfix.spec

~/rpm/RPMS/i386 に RPM パッケージが作成され、~/rpm/SRPMS/ ディレクトリ内に SRPM パッケージが作成される。

postfix-2.3.3-2.i386.rpm
Postfix バイナリ RPM
postfix-pflogsumm-2.3.3-2.i386.rpm
maillog からサマリを作成する Perl スクリプト。
postfix-2.3.3-2.src.rpm
今回修正した postfix の SRPM パッケージ。
rpmbuild コマンドの例
spec ファイルから RPM のみ作成
rpmbuild -bb <spec file>
spec ファイルから RPM と SRPM を作成
rpmbuild -ba <spec file>
spec ファイルから SRPM のみ作成
rpmbuild -bs <spec file>

6. 作成した RPM パッケージを使い Postfix をインストールする

$ sudo rpm -ihv ~/rpm/RPMS/i386/postfix-2.3.3-2.i386.rpm
rpm コマンドの例
新規インストールの場合
rpm -ihv <package>
同一バージョンを上書きインストール
rpm -ihv --force <package>
アップグレードの場合
rpm -Uhv <package>
LINEで送る このエントリーをはてなブックマークに追加
個人用ツール
名前空間
変種
表示
操作
案内
ツールボックス

注目のページ

このサイトのはてなブックマーク数