TOPに戻る
ZoneExpress HOME
トレース:
文書の表示
以前のリビジョン
最近の変更
索引
ログイン
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== Postfixアップデート(2.2.8→2.4.6)手順 ====== ==== 前提条件 ==== * 以下の手順は[[http://www.netcube.ne.jp/|ZoneExpress]]に標準搭載されているpostfix2.2.8をアップデートする場合の手順となります。他のサーバでアップデートする場合は設定が異なる場合があります。 * 以下の手順は postfix 2.2.8からpostfix2.4.6へのアップデート方法を説明しています。バージョンにより内容が異なる場合がありますがご了承ください。 * 以下の説明にはターミナルエミュレータを利用しています。ターミナルエミュレータについてはご自身でご用意ください。 * 弊社ではpostfixに関するサポートは行っておりません。postfixに関するご質問にはお答えできません。 * 以下ではpkg-getコマンドを利用したアップデートの手順を記述しております。 ※バージョン2.4.6はバージョン2.2.8とのインストールディレクトリが異なるため、手順を一読してからご実行ください。 ※下記Postfixアップデート手順のみではメールサーバとして機能しません。 受信メールサーバであるDovecotのインストールと設定が別途必要となります。 下記手順にてPostfixのアップデートを完了後、[[dovecot:install|こちら]]からDovecotの導入手順をご参照ください。 ====== ■前準備 ====== 入手できるパッケージカタログの更新を行います。 # pkg-get -U <note> オプションが大文字であることに注意してください。 </note> アップデートの必要があるかを確認します。 # pkg-get -c | grep postfix postfix 2.2.8,REV=2006.03.13 2.4.6,REV=2008.05.28 |ソフトウェア名|現在インストールされているバージョン|アップデート後のバージョン| ====== ■アップデート ====== pkg-getコマンドよりアップデートを実行します。 # pkg-get -u postfix <code> 次のパッケージは現在インストールされています: CSWpostfix postfix - Postfix Mail Transport Agent (i386) 2.2.8,REV=2006.03.13 このパッケージを削除しますか [y,n,?,q] </code> yを入力し(y=yes)エンター。 <note> 削除となっていますが、前バージョン(2.2.4)の設定ファイルは保持されます。 </note> <CSWpostfix> のインストールに成功しました。 上記の出力が表示され、以下の様に確認コマンド結果が出ていればアップデートは完了です。 <code> # pkg-get -c postfix software localrev remoterev postfix 2.4.6,REV=2008.03.02 SAME </code> ====== ■旧バージョン設定ファイルの引継ぎについて ====== Postfix2.2.4から2.4.6へのアップデートに伴いインストール場所が以下のように変更となるため |旧バージョン(2.2.4)|新バージョン(2.4.6)| |/opt/csw/etc/postfix|/etc/opt/csw/postfix| 手動で前バージョン設定を入れなおす必要があります。 前バージョンの環境設定ファイルをアップデートしたバージョンの環境設定ファイルへ上書きする。 <code> # mv /opt/csw/etc/postfix/* /etc/opt/csw/postfix/ </code> ===== 不要ファイルの削除 ===== 旧バージョン(2.2.4)の空となったディレクトリを削除します。 # rm -r /opt/csw/etc/postfix/ ====== ■main.cfの設定 ====== 新バージョン側の設定ファイル(main.cf)を変更します。 変更箇所のみ抜粋(全文は後述) # vi /etc/opt/csw/postfix <code> ## Body/Header Checks ## body_checks = regexp:/opt/csw/etc/postfix/maps/body_checks header_checks = regexp:/opt/csw/etc/postfix/maps/header_checks mime_header_checks = regexp:/opt/csw/etc/postfix/maps/mime_header_checks </code> 上記を下記のように変更。 <code> ## Body/Header Checks ## body_checks = regexp:/etc/opt/csw/postfix/maps/body_checks header_checks = regexp:/etc/opt/csw/postfix/maps/header_checks mime_header_checks = regexp:/etc/opt/csw/postfix/maps/mime_header_checks </code> ---------------- <code> ## Maps ## canonical_maps = dbm:/opt/csw/etc/postfix/canonical recipient_canonical_maps = dbm:/opt/csw/etc/postfix/recipient_canonical sender_canonical_maps = dbm:/opt/csw/etc/postfix/sender_canonical virtual_alias_maps = dbm:/opt/csw/etc/postfix/virtual alias_maps = dbm:/opt/csw/etc/postfix/aliases alias_database = dbm:/opt/csw/etc/postfix/aliases transport_maps = dbm:/opt/csw/etc/postfix/transport mydestination = $myhostname, localhost.$mydomain </code> 上記を下記のように変更。 <code> ## Maps ## canonical_maps = dbm:/etc/opt/csw/postfix/canonical recipient_canonical_maps = dbm:/etc/opt/csw/postfix/recipient_canonical sender_canonical_maps = dbm:/etc/opt/csw/postfix/sender_canonical virtual_alias_maps = dbm:/etc/opt/csw/postfix/virtual alias_maps = dbm:/etc/opt/csw/postfix/aliases alias_database = dbm:/etc/opt/csw/postfix/aliases transport_maps = dbm:/etc/opt/csw/postfix/transport mydestination = $myhostname, localhost.$mydomain </code> ---------------- <code> ## Add ## mail_owner = postfix 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 sample_directory = /opt/csw/share/doc/postfix/samples readme_directory = /opt/csw/share/doc/postfix/README_FILES inet_interfaces = localhost </code> ## Add ##以下はファイル最下行に新たに追記する文となります。 設定ファイルの変更は以上です。 ---------------- ※main.cf全文(変更済) # cat /etc/opt/csw/postfix/main.cf <code> ## Basic ## mynetworks = (サーバIPアドレス), 127.0.0.0/8 setgid_group = postdrop ## Path ## home_mailbox = Maildir/ command_directory = /opt/csw/sbin daemon_directory = /opt/csw/libexec/postfix mailq_path = /opt/csw/bin/mailq newaliases_path = /opt/csw/bin/newaliases queue_directory = /opt/csw/var/spool/postfix sendmail_path = /opt/csw/sbin/sendmail process_id_directory = pid manpage_directory = /opt/csw/share/man html_directory = no ## Limits ## mailbox_size_limit = 1024000000 message_size_limit = 51200000 queue_minfree = 76800000 ## SASL ## smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous broken_sasl_auth_clients = yes ## TLS ## smtpd_enforce_tls = no # smtpd_tls_cert_file = /opt/csw/openssl/certs/$myhostname.pem # smtpd_tls_loglevel = 0 # smtpd_use_tls = yes ## Miscellaneous ## owner_request_special = no recipient_delimiter = + mail_name = Mail smtpd_banner = $myhostname ESMTP smtpd_delay_reject = yes soft_bounce = no strict_rfc821_envelopes = yes unknown_local_recipient_reject_code = 550 disable_vrfy_command = yes allow_min_user = yes smtpd_error_sleep_time = 5s smtpd_junk_command_limit = 100 smtpd_etrn_restrictions = reject #smtpd_timeout = 120s ## Restrictions ## smtpd_helo_required = yes smtpd_client_restrictions = permit_mynetworks, permit_sasl_authenticated, #reject_rbl_client sbl-xbl.spamhaus.org, #reject_rbl_client spamcop.net, #reject_rbl_client dynablock.wirehub.net, #reject_rbl_client list.dsbl.org #reject_unknown_client smtpd_helo_restrictions = permit_mynetworks, reject_invalid_hostname, #check_helo_access dbm:/etc/opt/csw/postfix/hellowok-ips, #reject_non_fqdn_hostname, #reject_unknown_hostname smtpd_sender_restrictions = permit_mynetworks, reject_unlisted_sender, reject_non_fqdn_sender #reject_unknown_sender_domain smtpd_recipient_restrictions = permit_sasl_authenticated, reject_unlisted_recipient, reject_non_fqdn_recipient, reject_unauth_destination, reject_unknown_recipient_domain, reject_invalid_hostname, check_recipient_access dbm:/etc/opt/csw/postfix/filtered_domains smtpd_data_restrictions = reject_unauth_pipelining smtpd_end_of_data_restrictions = ## Body/Header Checks ## body_checks = regexp:/etc/opt/csw/postfix/maps/body_checks header_checks = regexp:/etc/opt/csw/postfix/maps/header_checks mime_header_checks = regexp:/etc/opt/csw/postfix/maps/mime_header_checks ## Maps ## canonical_maps = dbm:/etc/opt/csw/postfix/canonical recipient_canonical_maps = dbm:/etc/opt/csw/postfix/recipient_canonical sender_canonical_maps = dbm:/etc/opt/csw/postfix/sender_canonical virtual_alias_maps = dbm:/etc/opt/csw/postfix/virtual alias_maps = dbm:/etc/opt/csw/postfix/aliases alias_database = dbm:/etc/opt/csw/postfix/aliases transport_maps = dbm:/etc/opt/csw/postfix/transport mydestination = $myhostname, localhost.$mydomain ## Add ## sample_directory = /opt/csw/share/doc/postfix/samples readme_directory = /opt/csw/share/doc/postfix/README_FILES </code> ====== ■SMFの設定 ====== SMF側で新・旧バージョンの二重認識になっているため、旧バージョン(2.2.4)の方をを削除します。 ※SMF(サービス管理機能)については[[smf:smf|こちら]] 確認コマンドを入力します。(上が旧バージョン・下が新バージョン) # svcs -a | grep postfix disabled 10:42:02 svc:/network/postfix:default disabled 10:42:21 svc:/network/smtp/postfix:default 削除コマンドを入力します。(旧バージョンの削除) # svccfg delete svc:/network/postfix:default 確認コマンドを入力します。 # svcs -a | grep postfix disabled 10:42:21 svc:/network/smtp/postfix:default 上記のようにpostfixが1件のみ表示されれば成功です。 ====== ■postfixの起動確認 ====== postfixの起動を確認します。 * サーバログの確認 起動/停止の際にエラーが出ていないかを確認するため、ログの確認を行います。 ターミナルエミュレータをもう1つ起動します。 サーバログを開きます。 <code> $ tail -f /var/log/syslog </code> ※ -f オプションでファイルの更新分もリアルタイムで表示されます。 以降はサーバログを開いたターミナルエミュレータと併行して行いください。 * 起動抑止コマンド # svcadm disable svc:/network/smtp/postfix:default サーバログにエラーやwarningが出力されていないことを確認します。 Feb 26 10:52:08 ホスト名.jp postfix/postfix-script[8628]: [ID 197553 mail.info] stopping the Postfix mail system Feb 26 10:52:08 ホスト名.jp postfix/master[5181]: [ID 197553 mail.info] terminating on signal 15 * 起動コマンド # svcadm enable postfix サーバログにエラーやwarningが出力されていないことを確認します。 Feb 26 10:53:21 ホスト名.jp postfix/postfix-script[8745]: [ID 197553 mail.info] starting the Postfix mail system Feb 26 10:53:21 ホスト名.jp postfix/master[8746]: [ID 197553 mail.info] daemon started -- version 2.4.6, configuration /etc/opt/csw/postfix 起動状態がonlineとなっていることを確認します。 # svcs -a | grep postfix online 11:27:57 svc:/network/smtp/postfix:default * 再起動コマンド # svcadm restart postfix サーバログにエラーやwarningが出力されていないことを確認します。 Feb 26 11:06:42 ZEUA0618.zone-express.jp postfix/postfix-script[10202]: [ID 197553 mail.info] stopping the Postfix mail system Feb 26 11:06:42 ZEUA0618.zone-express.jp postfix/master[8746]: [ID 197553 mail.info] terminating on signal 15 Feb 26 11:06:42 ZEUA0618.zone-express.jp postfix/postfix-script[10248]: [ID 197553 mail.info] starting the Postfix mail system Feb 26 11:06:42 ZEUA0618.zone-express.jp postfix/master[10249]: [ID 197553 mail.info] daemon started -- version 2.4.6, configuration /etc/opt/csw/postfix 再起動後も問題ないことを確認します。 # svcs -a | grep postfix online 11:29:50 svc:/network/smtp/postfix:default 以上でアップデートは完了です。 ====== ■Dovecotの導入 ====== [[dovecot:install|こちら]]をご参照ください。 <note> dovecot未導入の場合、定期的にsyslogへ関連エラーが出力されるため、Postfixを停止状態にしてください。 </note>
postfix/update.txt · 最終更新: 2009/03/05 18:13 (外部編集)
文書の表示
以前のリビジョン
文書の先頭へ