2017年10月28日土曜日

postfix3.2.2の導入方法

1)導入前に以下の作業を行う。
# systemctl stop postfix
# yum remove postfix


2)以下の手順で、ソースコードからコンパイルしてpostfixの導入を行う。

①以下のサイトからソースコードをダウンロードする。
wget ftp://ftp.riken.jp/net/postfix/postfix-release/official/postfix-3.2.2.tar.gz


②解凍を行う
tar zxfv postfix-3.2.2.tar.gz


③ディレクトリに移動する。
cd postfix-3.2.2


④デベロッパーツールを導入する。
yum install httpd-devel


⑤コンパイルとインストールを行う。
make
make install


⑥以下、聞かれる質問内容についてEnterKeyを押す。
------------------------------------------------------------------------------------------------------------------------
install_root: [/]   EnterKeyを押す
tempdir: [/root/postfix-3.2.2]   EnterKeyを押す 
config_directory: [/etc/postfix]  EnterKeyを押す
command_directory: [/usr/sbin]     EnterKeyを押す
daemon_directory: [/usr/libexec/postfix]  EnterKeyを押す
data_directory: [/var/lib/postfix]  EnterKeyを押す
html_directory: [no]       EnterKeyを押す
mail_owner: [postfix]      EnterKeyを押す
mailq_path: [/usr/bin/mailq.postfix]    EnterKeyを押す
manpage_directory: [/usr/share/man]    EnterKeyを押す
newaliases_path: [/usr/bin/newaliases.postfix]  EnterKeyを押す
queue_directory: [/var/spool/postfix]       EnterKeyを押す
readme_directory: [/usr/share/doc/postfix-2.10.1/README_FILES]  EnterKeyを押す
sendmail_path: [/usr/sbin/sendmail.postfix]            EnterKeyを押す
setgid_group: [postdrop]     EnterKeyを押す
shlib_directory: [no]       EnterKeyを押す
meta_directory: [/etc/postfix]   EnterKeyを押す

--------------------------------------------------------------------------------------------------------------------------


3)以下、サービスの登録を行う

# vi /etc/systemd/system/postfix.service
---------postfix.service-----------------------------------------
[Unit]
Description=Postfix Mail Transport Agent
After=syslog.target network.target
Conflicts=sendmail.service exim.service

[Service]
Type=forking
PIDFile=/var/spool/postfix/pid/master.pid
EnvironmentFile=-/etc/sysconfig/network
ExecStartPre=-/usr/libexec/postfix/aliasesdb
ExecStartPre=-/usr/libexec/postfix/chroot-update
ExecStart=/usr/sbin/postfix start
#ExecReload=/usr/sbin/postfix reload
ExecStop=/usr/sbin/postfix stop

[Install]
WantedBy=multi-user.target
-----------------------------------------------------------------------


4)以下、aliasesdbを作成する

# vi /usr/libexec/postfix/aliasesdb
------------------- aliasesdb ------------------------------------------------------------
#!/bin/bash

ALIASESDB_STAMP=/var/lib/misc/postfix.aliasesdb-stamp

make_aliasesdb() {
    if [ "$(/usr/sbin/postconf -h alias_database)" == "hash:/etc/aliases" ]
    then
            # /etc/aliases.db may be used by other MTA, make sure nothing
            # has touched it since our last newaliases call
            [ /etc/aliases -nt /etc/aliases.db ] ||
                    [ "$ALIASESDB_STAMP" -nt /etc/aliases.db ] ||
                    [ "$ALIASESDB_STAMP" -ot /etc/aliases.db ] || return 0
            /usr/bin/newaliases
            touch -r /etc/aliases.db "$ALIASESDB_STAMP"
    else
            /usr/bin/newaliases
    fi
}

make_aliasesdb
-------------------------------------------------------------------------------------------------


5)chroot-updateを作成します。

# vi /usr/libexec/postfix/chroot-update
-----------------------chroot-update---------------------------------------------------------
#!/bin/bash

[ -x /etc/postfix/chroot-update ] && exec /etc/postfix/chroot-update
exit 0
---------------------------------------------------------------------------------------------------

6)上記で作成したファイルの権限の変更を行う。

chmod 0750 /usr/libexec/postfix/chroot-update
# chmod 0750 /usr/libexec/postfix/aliasesdb

0 件のコメント:

コメントを投稿

php log(ECS ログ出力)

# PHPエラーログの設定 ENV PHP_INI_DIR /usr/local/etc/php RUN { \ echo 'log_errors = On' ; \ echo 'error_log = /proc/self/...