本日も千鳥足


上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。



PageTop

postfxは非常に高速で設定しやすいMTAです。
普通のインストール方法はいたるところにあるので
postfixadminに対応させる様、改造のやり方を記載します。

ソースファイルからビルドしてmysql対応のpostfixパッケージを作成します。

少し知識が必要になりますので、

勉強がてらビルドしてみたい方は参考にしてください。

postfixを導入したいが、ビルドはムリという方は作成したものを
下記からダウンロードできますので、どうぞ。

postfixmysql対応版DLpostfix-2.3.3-2.i386.rpm

postfixmysql対応版DLpostfix-pflogsumm-2.3.3-2.i386.rpm

postfixのビルドの方法をご説明します。
teratermからrootユーザーでビルドをするのに必要なパッケージ群をYUMでインストールします。

[root os]#yum -y install rpm-build gcc db4-devel pkgconfig zlib-devel openldap-devel cyrus-sasl-devel pcre-devel mysql-devel openssl-devel


コンソールから 一般ユーザーでサーバーにログインします。

下記コマンドを入力しrpmフォルダとrpmmacrosを作成します。

$ mkdir -p ~/rpm/{BUILD,SOURCES,SPECS,SRPMS,RPMS/{i386,i486,i586,i686,noarch,ppc}}



viコマンドでファイル作成

$ vi ~/.rpmmacros


Aでインサートモードにし、以下を書き込む。

%_topdir /home/ユーザーフォルダ名/rpm

:wqで保存

wgetコマンドでpostfix-2.3.3-2.src.rpmのソースファイルをダウンロードする。

$ wget http://ftp.riken.jp/Linux/centos/5.2/os/SRPMS/postfix-2.3.3-2.src.rpm


ソースファイルを展開する。

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


フォルダを移動する。

$ cd ~/rpm/SOURCES


パッチファイルをダウンロードする。

$ wget http://vda.sourceforge.net/VDA/postfix-2.3.3-vda.patch.gz


パッチファイルを展開する。

$ gunzip postfix-2.3.3-vda.patch.gz


フォルダを移動する。

$ cd ~/rpm/SPECS


SPECファイルをviコマンドで書き換える

$ vi postfix.spec


Aでインサートモードにする。

2行目の
%define MYSQL 0を1に変更。
%define MYSQL 1
82行目付近の
Patch9: postfix-2.2.5-cyrus.patchの下に以下を追加する。
Patch10: postfix-2.3.3-vda.patch
138行目付近にある%patch9 -p1 -b .cyrusの下に以下を追加する。
%patch10 -p1 -b .vda


:wqで保存。

ビルドをします。

$ rpmbuild -ba postfix.spec


しばしビルドが走りパッケージ生成が始まります。

ビルドが終了するとプロンプトが戻ってきますので出来上がったファイルを確認します。

$ ls -l ~/rpm/RPMS/i386/postfix-*


ファイルが表示されるはずです。
-rw-rw-r-- 1 admin admin 9808463 3月 17 08:47 /home/ユーザーフォルダ/rpm/RPMS/i386/postfix-2.3.3-2.i386.rpm
-rw-rw-r-- 1 admin admin 50156 3月 17 08:47 /home/ユーザーフォルダ/rpm/RPMS/i386/postfix-pflogsumm-2.3.3-2.i386.rpm
必要なのはpostfixとpostfix-pflogsummの2つです。

出来上がったファイルを 手ごろな場所にコピーしてパーミッションをrootに変更します。
suコマンドでルートになります。

例)cp /tmp/ /home/ユーザーフォルダ/rpm/RPMS/i386/postfix-2.3.3-2.i386.rpm /tmp
  cp /tmp/ /home/ユーザーフォルダ/rpm/RPMS/i386/postfix-pflogsumm-2.3.3-2.i386.rpm /tmp

コピーできたらインストールを行います。
まずsendmailを削除します。

#rpm -e sendmail


次にフォルダがあるディレクトリに移動してインストールを実行します。

#rpm -ivh postfix-2.3.3-2.i386.rpm



#rpm -ivh postfix-pflogsumm-2.3.3-2.i386.rpm



これでインストール完了です。
いったんコンソールをきります。
再度rootユーザーでログインし、postconfコマンドをいれmysql対応か確認します。

# postconf -m|grep mysql


mysqlと表示されたらOKです。

※重要
ビルドしたpostfixはYUMでアップデートされるとmysql対応が外れてしまいます。

YUMのアップデートリストからpostfixを除外しておきます。
viコマンドでyum.confを編集します
exclude=postfix*を最下行に追加します。

# vi /etc/yum.conf

Aを入力しインサートモードにします。

[main]
cachedir=/var/cache/yum
keepcache=1
debuglevel=2
logfile=/var/log/yum.log
pkgpolicy=newest
distroverpkg=redhat-release
tolerant=1
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
metadata_expire=1800

# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
exclude=postfix*


:wqで保存します。

以上でpostfixのmysql対応パッケージ作成手順は終了です。
続いて
postfixadminで使用するvirtual用linuxユーザーを作成します。

コンソールから設定する場合はrootユーザーでログオンします。
前回sendmailを削除している場合は必要ありません。
MTAをsendmailからpostfixに切り替えます。

[root@os~]# alternatives --config mta


2 プログラムがあり 'mta' を提供します。

選択 コマンド
-----------------------------------------------
* 1 /usr/sbin/sendmail.sendmail
+ 2 /usr/sbin/sendmail.postfix

Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:


を入力しエンターを押します。
以上でMTA切替終了です。

以下でユーザー作成します。

[root@os~]# groupadd -g 10000
vuser グループ作成 ID 10000
[root@os~]# useradd -g vuser -u 10000 -M vuser
グループvuserのユーザーvuerを作成 ID 10000
[root@os~]# mkdir -m 771 /home/vuser
vuserホームデレィクトリ作成
[root@os~]# chown -R vuser:vuser /home/vuser
vuserホームディレクトリ割り当て


webminでユーザー作成する場合はシステムタブからユーザーとグループで新規ユーザー
を作成してください。 シェルはbin/bashで作成します。
ホームデレィクトリは自動にすれば/home/vuserが作成されます。
postfixのmain.cfファイルを編集します。
webminファイルマネージャなら/etc/postfix/main.cfを選び編集ボタンをクリック。
コンソールからなら

[root@os~]# vi /etc/postfix/main.cf

でファイルを開き
Aを入力しインサートモードで編集します。

main.cfの編集は以下(コメント部は割愛)のように設定します。

queue_directory = /var/spool/postfix

command_directory = /usr/sbin

daemon_directory = /usr/libexec/postfix

mail_owner = postfix

myhostname = サーバーホスト名(例)0123.centos.net

mydomain = ドメイン名 (例)centos.net

myorigin = $mydomain

inet_interfaces = all

mydestination = 空白にする事

unknown_local_recipient_reject_code = 550

#mynetworks_style = class
mynetworks_style = subnet
#mynetworks_style = host

mynetworks = 192.168.0.0/24, 127.0.0.0/8 サーバーの所属するネットワーク
#mynetworks = $config_directory/mynetworks
#mynetworks = hash:/etc/postfix/network_table

relay_domains = $mydestination

#alias_maps = dbm:/etc/aliases
alias_maps = hash:/etc/aliases
#alias_maps = hash:/etc/aliases, nis:mail.aliases
#alias_maps = netinfo:/aliases

#alias_database = dbm:/etc/aliases
#alias_database = dbm:/etc/mail/aliases
alias_database = hash:/etc/aliases
#alias_database = hash:/etc/aliases, hash:/opt/majordomo/aliases

#home_mailbox = Mailbox
home_mailbox = Maildir/

debug_peer_level = 2

debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id & sleep 5

sendmail_path = /usr/sbin/sendmail.postfix

newaliases_path = /usr/bin/newaliases.postfix

mailq_path = /usr/bin/mailq.postfix

setgid_group = postdrop

html_directory = no

manpage_directory = /usr/share/man

sample_directory = /usr/share/doc/postfix-2.3.3/samples

readme_directory = /usr/share/doc/postfix-2.3.3/README_FILES

~以下追加記載~

local_transport = virtual
virtual_transport = virtual
virtual_mailbox_base = /home/vuser
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_alias_domains = $virtual_alias_maps
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_minimum_uid = 10000
virtual_uid_maps = static:10000
virtual_gid_maps = static:10000
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
broken_sasl_auth_clients=yes


main.cfの編集は以上です。
viで編集した場合は:wqで保存
webminの場合はsave&closeで保存
次にmysqlでユーザー認証するためのファイルを作成します。
3つありますのでviかファイルマネージャで新規作成します。

[root@os~]# vi /etc/postfix/mysql_virtual_alias_maps.cf
user = postfix
password = mysqlのpostfixDBのパスワード
hosts = localhost
dbname = postfix
table = alias
select_field = goto
where_field = address



2個目のファイル

[root@os~]#vi /etc/postfix/mysql_virtual_domains_maps.cf
user = postfix
password = mysqlのpostfixDBのパスワード
hosts = localhost
dbname = postfix
table = domain
select_field = domain
where_field = domain



3個目のファイル

[root@os~]# vi /etc/postfix/mysql_virtual_mailbox_maps.cf
user = postfix
password = mysqlのpostfixDBのパスワード
hosts = localhost
dbname = postfix
table = mailbox
select_field = maildir
where_field = username


:wqかsave&closeで保存します。
mysql連動用ファイルの作成は終了です。

smtp.confの編集をします。
 viかファイルマネージャで

[root@os~]# vi /usr/lib/sasl2/smtpd.conf

を編集

pwcheck_method: authdaemond
authdaemond_path: /var/spool/authdaemon/socket
mech_list: plain login
log_level: 3

を書き込みます。
ファイルを保存します。
以上でpostfixの設定は終了です。





スポンサーリンク

関連スクラップ記事

関連エントリ抽出中...



PageTop

コメント


管理者にだけ表示を許可する
 

トラックバック

トラックバック URL
この記事にトラックバックする(FC2ブログユーザー)

パイオニア アンテナ分離型ETCユニット ND-ETC5 |

パイオニア アンテナ分離型ETCユニット ND-ETC5パイオニア製ETC対応ナ...

お買い得連絡通信 2010-01-24 (Sun) 18:45


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。