ソースコードコンパイルインストールpostfix
19217 ワード
一、設置前の準備
メールはDNSシステムに依存するのでpostfixをインストールする前にDNSをちゃんとしておきます.システムにsendmailがある場合はsendmailをオフにする必要があります
コンパイルインストールpostfixなので、rpmのpostfixがあれば削除し、postfixユーザーなどの情報も削除します.私は後でmysql認証に協力するので、rpmのpostfixはmysql認証をサポートしていないようで、私も検証したことがなくて、保険のため、直接ソースコードにインストールしました!
postfixユーザーおよびグループの作成
注意:ここでは怠けるためにpostfixユーザーを削除しないでください.postfixのrpmパッケージがインストールされた後、postfixユーザーのUIDとGIDは89です.ここでこのようなIDでサービスを実行すると、後でエラーが発生します.ID番号が500より大きいユーザーを自分で作成したほうがいいです.私がここで使っているのは2525で、みんなに直すことをお勧めしません.ここを直すと、後ろの多くの場所が、変える必要がありますから.postfixをやること自体がめんどくさい!
コンパイル環境および依存パッケージのインストール
一部のソースにはperl-Unix-syslogというパッケージがない場合がありますが、以下のコマンドを使用してインストール#rpm-ivhをダウンロードできます.ftp://rpmfind.net/linux/dag/redhat/el6/en/x86_64/dag/RPMS/perl-Unix-Syslog-1.1-1.el6.rf.x86_64.rpm
saslauthdサービスおよびmysqlの起動
二、postfixのインストールを開始する
注:上の命令で注意しなければならないのは、自分の状況に応じて何かを修正することです.ここでは64ビットのシステムなのでmysqlclientは/usr/lib 64/、32ビットのシステムであれば/usr/lib/そうでなければ/usr/bin/ld:cannot find-lmysqlclient
インストールが完了するとpostfixプロンプトで別名バイナリファイルの生成が表示されます
私のところは企业レベルのメールシステムを构筑するつもりで、仮想ユーザーをサポートする必要があります.地元のユーザーはこのいくつかのものをテストして、今は先にしません!
スクリプト管理postfixの起動と停止を提供し、以下の内容を/etc/initに置く.d/postfixの中
スクリプトに実行権限を追加し、起動に参加
postfixのcryus-saslベースの認証機能を開設するには、以下のコマンドを使用してpostfixがcyrusスタイルのsasl認証をサポートしているかどうかを確認します.出力が次の結果の場合、サポートされます.
次の内容を追加します.
注意:1、postfixのプロファイルでは、パラメータ行とコメント行は同じ行に存在できません.2、どのパラメータの値にも引用符を付ける必要はありません.そうしないと、引用符はパラメータ値の一部として使用されます.3、パラメータとその値を変更するたびにpostfix reloadを実行すると有効になります.ただしinet_を変更したらinterfacesではpostfixを再起動する必要があります.4、1つのパラメータの値が複数ある場合、それらを異なる行に置くことができ、その後の各行の前にスペースを1つ多く置くだけでよい.postfixは、最初の文字がスペースまたはtabのテキスト行を前の行の継続と見なします.
三、Courier authentication libraryのインストール
courier-authlibはCourierコンポーネントの認証ライブラリであり、Courierコンポーネントの他のコンポーネントに認証サービスを提供するためにcourierコンポーネントの独立したサブプロジェクトである.その認証機能には、通常、ログイン時のアカウントとパスワードの確認、1つのアカウントに関連するホームディレクトリやメールディレクトリなどの情報の取得、アカウントのパスワードの変更などが含まれる.その認証の実現形態としては、PAMによる/etc/passwdおよび/etc/shadowによる認証、GDBMまたはDBによる認証、LDAP/MySQL/PostgreSQLによる認証などがある.したがって、courier-authlibは、postfixなどのcourier以外の他のメールコンポーネントと統合して認証サービスを提供するためにもよく使用されます.
変更/etc/authdaemonrcファイル
構成はMySQL認証に合格し、/etc/authmysqlrcを変更し、そのうち25252525はpostfixユーザーのUIDとGIDである.
SysVサービススクリプトの提供と共有ライブラリファイルの追加とサービスの開始
ソケット方式なので、ポートがないので、プロセスが起動しているかどうかを確認します.
仮想ユーザーメールボックスが存在するディレクトリを新規作成し、postfixユーザーに権限を付与します.
次にSMTP認証を構成し、/usr/lib 64/sasl 2/smtpdを編集する.confは、次の内容であることを確認します.
四、postfixに仮想ドメインと仮想ユーザーをサポートさせ、postfixにdovecotを構成させる
仮想ドメインと仮想ユーザーをサポートし、/etc/postfix/mainを編集する.cf、以下の内容を追加します.
構成dovecot
dovecotがmysql認証を取得したファイルを編集する
dovecotサービスを開始するには、次の手順に従います.
五、ExtmailとExtmanのインストール
Extmailは中国人が開発したオープンソースのwebmailツールで、主にperlを使って書かれています.Extmailは,ユーザの登録,受信メールの送信などに用いられる.ExtmanはExtmainの管理ツールで、主に管理者がExtmailの情報を管理するために使用して、例えば仮想用を追加して、ユーザーを追加します!
ダウンロード先:http://www.extmail.org/cgi-bin/download.cgi
Extmailのインストール
Extmailのプライマリプロファイルの変更
extmailの一時ファイルディレクトリとセッションディレクトリの作成
apache関連構成
extmailはローカルメールの配信操作を行うため、apacheサーバを実行するユーザーのアイデンティティをメール配信エージェントのユーザーに変更する必要があります.もしapacheがSUEXECを開いたら、suexecを配置する必要があります.面倒ですが、私は直接消しました.
Extmail仮想ホストプロファイルの作成
Extmanのインストールと構成
この例の要件を満たすようにプロファイルを変更する
プライマリプロファイルの変更
その後、cgiディレクトリの所有者を変更します.
Extmanのデータベースのインポート
ユーザーextmailにextmailデータベースにアクセスする権限を付与
Extmanの一時ディレクトリを作成し、権限を付与
すべて完了すると、IPアドレスまたはドメイン名でExtmailにアクセスできます.extmailのトップページでは、ドメイン名にドメイン名を入力し、下の登録をクリックしてユーザーを登録できますが、デフォルトではextmailのドメインが1つしかありません.そのため、Extmanにログインしてドメインリストを管理し、自分の仮想ドメインを追加してメールボックスにログインするドロップダウンデルタを追加し、メールボックス管理にログインすることを選択します.デフォルトの管理者アカウントとパスワードは:[email protected] extmail*123*
六、Mailgraphの構成ext,Extmanのグラフィックログを使用する:(以下に必要なパッケージは自分でダウンロードする)
次に、グラフィックログの実行に必要なパッケージTime::HiRes、File::Tail、rrdtoolをインストールします.最初の2つのパッケージはhttp://search.cpan.org検索してダウンロードして、次のパッケージにアクセスできます.http://oss.oetiker.ch/rrdtool/pub/?M=Dダウンロードして入手して、yumでインストールすることもできます;注意取り付け順序は変更できません.
インストールTime::HiRes
インストールFile::Tail
rrdtoolのインストール
必要なシンボルリンクを作成します(Extmanはこれらのパスの下に関連するライブラリファイルを探します)
cmdserverの起動(バックグラウンドにシステム情報を表示)
自動起動キューに追加
使用方法:約15分待ち、メールシステムに一定のトラフィックがあればextmanにログインし、「グラフィックログ」をクリックするとグラフィック化されたログが表示されます.具体的には毎日、週、月、年は相応の画像をクリックして入るといいです.
注意:インストール中に多くの問題が発生します.私は出会った問題をまとめて、皆さんの参考を提供します.ここをクリックしてください
メールはDNSシステムに依存するのでpostfixをインストールする前にDNSをちゃんとしておきます.システムにsendmailがある場合はsendmailをオフにする必要があります
# service sendmail stop
# chkconfig sendmail off
コンパイルインストールpostfixなので、rpmのpostfixがあれば削除し、postfixユーザーなどの情報も削除します.私は後でmysql認証に協力するので、rpmのpostfixはmysql認証をサポートしていないようで、私も検証したことがなくて、保険のため、直接ソースコードにインストールしました!
# yum remove postfix
# userdel postfix
# groupdel postdrop
postfixユーザーおよびグループの作成
# groupadd -g 2525 postfix
# useradd -g postfix -u 2525 -s /sbin/nologin -M postfix
# groupadd -g 2526 postdrop
# useradd -g postdrop -u 2526 -s /sbin/nologin -M postdrop
注意:ここでは怠けるためにpostfixユーザーを削除しないでください.postfixのrpmパッケージがインストールされた後、postfixユーザーのUIDとGIDは89です.ここでこのようなIDでサービスを実行すると、後でエラーが発生します.ID番号が500より大きいユーザーを自分で作成したほうがいいです.私がここで使っているのは2525で、みんなに直すことをお勧めしません.ここを直すと、後ろの多くの場所が、変える必要がありますから.postfixをやること自体がめんどくさい!
コンパイル環境および依存パッケージのインストール
# yum groupinstall 'Development Libraries' 'Development Tools'
# yum install httpd php php-mysql mysql mysql-server mysql-devel openssl-devel dovecot perl-DBD-MySQL tcl tcl-devel libart_lgpl libart_lgpl-devel libtool-ltdl libtool-ltdl-devel expect perl-Unix-Syslog db4 db4-devel cyrus-sasl-* dovecot-mysql perl-CGI per-GD
一部のソースにはperl-Unix-syslogというパッケージがない場合がありますが、以下のコマンドを使用してインストール#rpm-ivhをダウンロードできます.ftp://rpmfind.net/linux/dag/redhat/el6/en/x86_64/dag/RPMS/perl-Unix-Syslog-1.1-1.el6.rf.x86_64.rpm
saslauthdサービスおよびmysqlの起動
# service saslauthd start
# chkconfig saslauthd on
# service mysqld start
# chkconfig mysqld on
二、postfixのインストールを開始する
# wget ftp://ftp.cuhk.edu.hk/pub/packages/mail-server/postfix/official/postfix-2.10.2.tar.gz
# tar xf postfix-2.10.2.tar.gz
# cd postfix-2.10.2
# make makefiles 'CCARGS=-DHAS_MYSQL -I/usr/include/mysql -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl -DUSE_TLS ' 'AUXLIBS=-L/usr/lib64/mysql -lmysqlclient -lz -lm -L/usr/lib64/sasl2 -lsasl2 -lssl -lcrypto'
注:上の命令で注意しなければならないのは、自分の状況に応じて何かを修正することです.ここでは64ビットのシステムなのでmysqlclientは/usr/lib 64/、32ビットのシステムであれば/usr/lib/そうでなければ/usr/bin/ld:cannot find-lmysqlclient
# make && make install
BTW: Check your /etc/aliases file and be sure to set up aliases
that send mail for root and postmaster to a real person, then run
/usr/bin/newaliases.
インストールが完了するとpostfixプロンプトで別名バイナリファイルの生成が表示されます
# newaliases
私のところは企业レベルのメールシステムを构筑するつもりで、仮想ユーザーをサポートする必要があります.地元のユーザーはこのいくつかのものをテストして、今は先にしません!
スクリプト管理postfixの起動と停止を提供し、以下の内容を/etc/initに置く.d/postfixの中
#!/bin/bash
#
# postfix Postfix Mail Transfer Agent
#
# chkconfig: 2345 80 30
# description: Postfix is a Mail Transport Agent, which is the program \
# that moves mail from one machine to another.
# processname: master
# pidfile: /var/spool/postfix/pid/master.pid
# config: /etc/postfix/main.cf
# config: /etc/postfix/master.cf
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ $NETWORKING = "no" ] && exit 3
[ -x /usr/sbin/postfix ] || exit 4
[ -d /etc/postfix ] || exit 5
[ -d /var/spool/postfix ] || exit 6
RETVAL=0
prog="postfix"
start() {
# Start daemons.
echo -n $"Starting postfix: "
/usr/bin/newaliases >/dev/null 2>&1
/usr/sbin/postfix start 2>/dev/null 1>&2 && success || failure $"$prog start"
RETVAL=$?
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/postfix
echo
return $RETVAL
}
stop() {
# Stop daemons.
echo -n $"Shutting down postfix: "
/usr/sbin/postfix stop 2>/dev/null 1>&2 && success || failure $"$prog stop"
RETVAL=$?
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/postfix
echo
return $RETVAL
}
reload() {
echo -n $"Reloading postfix: "
/usr/sbin/postfix reload 2>/dev/null 1>&2 && success || failure $"$prog reload"
RETVAL=$?
echo
return $RETVAL
}
abort() {
/usr/sbin/postfix abort 2>/dev/null 1>&2 && success || failure $"$prog abort"
return $?
}
flush() {
/usr/sbin/postfix flush 2>/dev/null 1>&2 && success || failure $"$prog flush"
return $?
}
check() {
/usr/sbin/postfix check 2>/dev/null 1>&2 && success || failure $"$prog check"
return $?
}
restart() {
stop
start
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
reload)
reload
;;
abort)
abort
;;
flush)
flush
;;
check)
check
;;
status)
status master
;;
condrestart)
[ -f /var/lock/subsys/postfix ] && restart || :
;;
*)
echo $"Usage: $0 {start|stop|restart|reload|abort|flush|check|status|condrestart}"
exit 1
esac
exit $?
スクリプトに実行権限を追加し、起動に参加
# chmod +x /etc/init.d/postfix
# chkconfig --add postfix
# chkconfig postfix on
# chown postfix.postfix -R /var/lib/postfix/
# chown postfix.postfix /var/spool/ -R
# service postfix start
postfixのcryus-saslベースの認証機能を開設するには、以下のコマンドを使用してpostfixがcyrusスタイルのsasl認証をサポートしているかどうかを確認します.出力が次の結果の場合、サポートされます.
# postconf -a
cyrus
dovecot
次の内容を追加します.
#vim /etc/postfix/main.cf
############################CYRUS-SASL############################
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject_invalid_hostname,reject_non_fqdn_hostname,reject_unknown_sender_domain,reject_non_fqdn_sender,reject_non_fqdn_recipient,reject_unknown_recipient_domain,reject_unauth_pipelining,reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_security_options = noanonymous
smtpd_sasl_application_name = smtpd
smtpd_banner = Welcome to our $myhostname ESMTP,Warning: Version not Available!
注意:1、postfixのプロファイルでは、パラメータ行とコメント行は同じ行に存在できません.2、どのパラメータの値にも引用符を付ける必要はありません.そうしないと、引用符はパラメータ値の一部として使用されます.3、パラメータとその値を変更するたびにpostfix reloadを実行すると有効になります.ただしinet_を変更したらinterfacesではpostfixを再起動する必要があります.4、1つのパラメータの値が複数ある場合、それらを異なる行に置くことができ、その後の各行の前にスペースを1つ多く置くだけでよい.postfixは、最初の文字がスペースまたはtabのテキスト行を前の行の継続と見なします.
三、Courier authentication libraryのインストール
courier-authlibはCourierコンポーネントの認証ライブラリであり、Courierコンポーネントの他のコンポーネントに認証サービスを提供するためにcourierコンポーネントの独立したサブプロジェクトである.その認証機能には、通常、ログイン時のアカウントとパスワードの確認、1つのアカウントに関連するホームディレクトリやメールディレクトリなどの情報の取得、アカウントのパスワードの変更などが含まれる.その認証の実現形態としては、PAMによる/etc/passwdおよび/etc/shadowによる認証、GDBMまたはDBによる認証、LDAP/MySQL/PostgreSQLによる認証などがある.したがって、courier-authlibは、postfixなどのcourier以外の他のメールコンポーネントと統合して認証サービスを提供するためにもよく使用されます.
# wget http://jaist.dl.sourceforge.net/project/courier/authlib/0.66.1/courier-authlib-0.66.1.tar.bz2
# tar xf courier-authlib-0.66.1.tar.bz2
# cd courier-authlib-0.66.1
# ./configure \
--prefix=/usr/local/courier-authlib \
--sysconfdir=/etc \
--without-authpam \
--without-authshadow \
--without-authvchkpw \
--without-authpgsql \
--with-authmysql \
--with-mysql-libs=/usr/lib64/mysql \
--with-mysql-includes=/usr/include/mysql \
--with-redhat \
--with-authmysqlrc=/etc/authmysqlrc \
--with-authdaemonrc=/etc/authdaemonrc \
--with-mailuser=postfix
# make
# make install
# chmod 755 /usr/local/courier-authlib/var/spool/authdaemon
# cp /etc/authdaemonrc.dist /etc/authdaemonrc
# cp /etc/authmysqlrc.dist /etc/authmysqlrc
変更/etc/authdaemonrcファイル
# vi /etc/authdaemonrc
authmodulelist="authmysql" # , authmysql
authmodulelistorig="authmysql"
daemons=10 # , ,
構成はMySQL認証に合格し、/etc/authmysqlrcを変更し、そのうち25252525はpostfixユーザーのUIDとGIDである.
# vi /etc/authmysqlrc
MYSQL_SERVER localhost
MYSQL_PORT 3306 ( mysql , 3306)
MYSQL_USERNAME extmail ( )
MYSQL_PASSWORD extmail ( , , Extmail , )
MYSQL_SOCKET /var/lib/mysql/mysql.sock
MYSQL_DATABASE extmail
MYSQL_USER_TABLE mailbox
MYSQL_CRYPT_PWFIELD password
DEFAULT_DOMAIN gm100861.com #
MYSQL_UID_FIELD '2525'
MYSQL_GID_FIELD '2525'
MYSQL_LOGIN_FIELD username
MYSQL_HOME_FIELD concat('/var/mailbox/',homedir)
MYSQL_NAME_FIELD name
MYSQL_MAILDIR_FIELD concat('/var/mailbox/',maildir)
SysVサービススクリプトの提供と共有ライブラリファイルの追加とサービスの開始
# cp courier-authlib.sysvinit /etc/rc.d/init.d/courier-authlib
# chmod 755 /etc/init.d/courier-authlib
# chkconfig --add courier-authlib
# chkconfig --level 2345 courier-authlib on
# echo "/usr/local/courier-authlib/lib/courier-authlib" >> /etc/ld.so.conf.d/courier-authlib.conf
# ldconfig -v
# service courier-authlib start ( )
# chkconfig courier-authlib on
ソケット方式なので、ポートがないので、プロセスが起動しているかどうかを確認します.
# ps -ef | grep courier
root 11347 1 0 17:02 ? 00:00:00 /usr/local/courier-authlib/sbin/courierlogger -pid=/usr/local/courier-authlib/var/spool/authdaemon/pid -start /usr/local/courier-authlib/libexec/courier-authlib/authdaemond
root 11348 11347 0 17:02 ? 00:00:00 /usr/local/courier-authlib/libexec/courier-authlib/authdaemond
root 11349 11348 0 17:02 ? 00:00:00 /usr/local/courier-authlib/libexec/courier-authlib/authdaemond
root 11350 11348 0 17:02 ? 00:00:00 /usr/local/courier-authlib/libexec/courier-authlib/authdaemond
root 11351 11348 0 17:02 ? 00:00:00 /usr/local/courier-authlib/libexec/courier-authlib/authdaemond
root 11352 11348 0 17:02 ? 00:00:00 /usr/local/courier-authlib/libexec/courier-authlib/authdaemond
root 11353 11348 0 17:02 ? 00:00:00 /usr/local/courier-authlib/libexec/courier-authlib/authdaemond
root 11354 11348 0 17:02 ? 00:00:00 /usr/local/courier-authlib/libexec/courier-authlib/authdaemond
root 11355 11348 0 17:02 ? 00:00:00 /usr/local/courier-authlib/libexec/courier-authlib/authdaemond
root 11356 11348 0 17:02 ? 00:00:00 /usr/local/courier-authlib/libexec/courier-authlib/authdaemond
root 11357 11348 0 17:02 ? 00:00:00 /usr/local/courier-authlib/libexec/courier-authlib/authdaemond
root 11358 11348 0 17:02 ? 00:00:00 /usr/local/courier-authlib/libexec/courier-authlib/authdaemond
仮想ユーザーメールボックスが存在するディレクトリを新規作成し、postfixユーザーに権限を付与します.
# mkdir �Cp /var/mailbox
# chown -R postfix /var/mailbox
次にSMTP認証を構成し、/usr/lib 64/sasl 2/smtpdを編集する.confは、次の内容であることを確認します.
# vi /usr/lib64/sasl2/smtpd.conf
pwcheck_method: authdaemond
log_level: 3
mech_list:PLAIN LOGIN
authdaemond_path:/usr/local/courier-authlib/var/spool/authdaemon/socket
四、postfixに仮想ドメインと仮想ユーザーをサポートさせ、postfixにdovecotを構成させる
仮想ドメインと仮想ユーザーをサポートし、/etc/postfix/mainを編集する.cf、以下の内容を追加します.
# vi /etc/postfix/main.cf
########################Virtual Mailbox Settings########################
virtual_mailbox_base = /var/mailbox
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_alias_domains =
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_uid_maps = static:2525
virtual_gid_maps = static:2525
virtual_transport = virtual
maildrop_destination_recipient_limit = 10
maildrop_destination_concurrency_limit = 10
##########################QUOTA Settings########################
message_size_limit = 14336000 #
virtual_mailbox_limit = 20971520
virtual_create_maildirsize = yes
virtual_mailbox_extended = yes
virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql_virtual_mailbox_limit_maps.cf
virtual_mailbox_limit_override = yes
virtual_maildir_limit_message = Sorry, the user's maildir has overdrawn his diskspace quota, please Tidy your mailbox and try again later.
virtual_overquota_bounce = yes
構成dovecot
# vi /etc/dovecot/dovecot.conf
protocols = imap pop3 lmtp
disable_plaintext_auth = no
# vi /etc/dovecot/conf.d/10-mail.conf
mail_location = maildir:/var/mailbox/%d/%n/Maildir
# cp /etc/dovecot/conf.d/auth-sql.conf.ext /etc/dovecot/conf.d/auth-sql.conf
# vi /etc/dovecot/conf.d/auth-sql.conf
passdb {
driver = sql
args = /etc/dovecot-mysql.conf
}
userdb {
driver = sql
args = /etc/dovecot-mysql.conf
}
dovecotがmysql認証を取得したファイルを編集する
# vi /etc/dovecot-mysql.conf
driver = mysql
connect = host=localhost dbname=extmail user=extmail password=extmail
default_pass_scheme = CRYPT
password_query = SELECT username AS user,password AS password FROM mailbox WHERE username = '%u'
user_query = SELECT maildir, uidnumber AS uid, gidnumber AS gid FROM mailbox WHERE username = '%u'
dovecotサービスを開始するには、次の手順に従います.
# service dovecot start
# chkconfig dovecot on
五、ExtmailとExtmanのインストール
Extmailは中国人が開発したオープンソースのwebmailツールで、主にperlを使って書かれています.Extmailは,ユーザの登録,受信メールの送信などに用いられる.ExtmanはExtmainの管理ツールで、主に管理者がExtmailの情報を管理するために使用して、例えば仮想用を追加して、ユーザーを追加します!
ダウンロード先:http://www.extmail.org/cgi-bin/download.cgi
Extmailのインストール
# tar zxvf extmail-1.2.tar.gz
# mkdir -pv /var/www/extsuite
# mv extmail-1.2 /var/www/extsuite/extmail
# cp /var/www/extsuite/extmail/webmail.cf.default /var/www/extsuite/extmail/webmail.cf
Extmailのプライマリプロファイルの変更
# vi /var/www/extsuite/extmail/webmail.cf
:
SYS_MESSAGE_SIZE_LIMIT = 5242880 #5M
SYS_SESS_DIR = /tmp/extmail session
SYS_UPLOAD_TMPDIR = /tmp/extmail/upload
SYS_USER_LANG = en_US
, :
SYS_USER_LANG = zh_CN
SYS_MIN_PASS_LEN = 8
SYS_MAILDIR_BASE = /home/domains
, :
SYS_MAILDIR_BASE = /var/mailbox
SYS_MYSQL_USER = db_user
SYS_MYSQL_PASS = db_pass
、 , :
SYS_MYSQL_USER = extmail
SYS_MYSQL_PASS = extmail
SYS_MYSQL_SOCKET = /var/lib/mysql/mysql.sock
SYS_MYSQL_HOST = localhost
,
SYS_MYSQL_TABLE = mailbox
SYS_MYSQL_ATTR_USERNAME = username
SYS_MYSQL_ATTR_DOMAIN = domain
SYS_MYSQL_ATTR_PASSWD = password
, 、 ;
SYS_AUTHLIB_SOCKET = /var/spool/authdaemon/socket
authdaemo socket , :
SYS_AUTHLIB_SOCKET = /usr/local/courier-authlib/var/spool/authdaemon/socket
extmailの一時ファイルディレクトリとセッションディレクトリの作成
# mkdir -p /tmp/extmail/upload
# chown postfix.postfix -R /tmp/extmail/
apache関連構成
extmailはローカルメールの配信操作を行うため、apacheサーバを実行するユーザーのアイデンティティをメール配信エージェントのユーザーに変更する必要があります.もしapacheがSUEXECを開いたら、suexecを配置する必要があります.面倒ですが、私は直接消しました.
# vi /etc/httpd/conf/httpd.conf
User postfix
Group postfix
#LoadModule suexec_module modules/mod_suexec.so # , suexec
#DocumentRoot "/var/www/html" # ,
Extmail仮想ホストプロファイルの作成
# vi /etc/httpd/conf.d/extmail.conf
<VirtualHost *:80>
ServerName mail.gm100861.com
DocumentRoot /var/www/extsuite/extmail/html/
ScriptAlias /extmail/cgi /var/www/extsuite/extmail/cgi
Alias /extmail /var/www/extsuite/extmail/html
ScriptAlias /extman/cgi /var/www/extsuite/extman/cgi
Alias /extman /var/www/extsuite/extman/html
</VirtualHost>
# service httpd restart
# chkconfig httpd on
Extmanのインストールと構成
# tar zxvf extman-1.1.tar.gz
# mv extman-1.1 /var/www/extsuite/extman
この例の要件を満たすようにプロファイルを変更する
# cp /var/www/extsuite/extman/webman.cf.default /var/www/extsuite/extman/webman.cf
プライマリプロファイルの変更
# vi /var/www/extsuite/extman/webman.cf
SYS_MAILDIR_BASE = /home/domains
, :
SYS_MAILDIR_BASE = /var/mailbox
SYS_DEFAULT_UID = 1000
SYS_DEFAULT_GID = 1000
ID postfix postfix id , 2525, , :
SYS_DEFAULT_UID = 2525
SYS_DEFAULT_GID = 2525
SYS_MYSQL_USER = webman
SYS_MYSQL_PASS = webman
:
SYS_MYSQL_USER = extmail
SYS_MYSQL_PASS = extmail
SYS_MYSQL_SOCKET = /var/lib/mysql/mysql.sock
その後、cgiディレクトリの所有者を変更します.
# chown -R postfix.postfix /var/www/extsuite/extman/cgi/
# chown -R postfix.postfix /var/www/extsuite/extmail/cgi/
Extmanのデータベースのインポート
# cd /var/www/extsuite/extman/docs
# mysql -u root -p < extmail.sql
# mysql -u root -p <init.sql
# cp mysql_virtual_* /etc/postfix/
ユーザーextmailにextmailデータベースにアクセスする権限を付与
# mysql -u root -p
mysql> GRANT all privileges on extmail.* TO extmail@localhost IDENTIFIED BY 'extmail';
mysql> GRANT all privileges on extmail.* TO [email protected] IDENTIFIED BY 'extmail';
Extmanの一時ディレクトリを作成し、権限を付与
# mkdir /tmp/extman
# chown postfix.postfix -R /tmp/extman/
すべて完了すると、IPアドレスまたはドメイン名でExtmailにアクセスできます.extmailのトップページでは、ドメイン名にドメイン名を入力し、下の登録をクリックしてユーザーを登録できますが、デフォルトではextmailのドメインが1つしかありません.そのため、Extmanにログインしてドメインリストを管理し、自分の仮想ドメインを追加してメールボックスにログインするドロップダウンデルタを追加し、メールボックス管理にログインすることを選択します.デフォルトの管理者アカウントとパスワードは:[email protected] extmail*123*
六、Mailgraphの構成ext,Extmanのグラフィックログを使用する:(以下に必要なパッケージは自分でダウンロードする)
次に、グラフィックログの実行に必要なパッケージTime::HiRes、File::Tail、rrdtoolをインストールします.最初の2つのパッケージはhttp://search.cpan.org検索してダウンロードして、次のパッケージにアクセスできます.http://oss.oetiker.ch/rrdtool/pub/?M=Dダウンロードして入手して、yumでインストールすることもできます;注意取り付け順序は変更できません.
インストールTime::HiRes
# tar zxvf Time-HiRes-1.9707.tar.gz
# cd Time-HiRes-1.9707
# perl Makefile.PL
# make
# make test
# make install
インストールFile::Tail
# tar zxvf File-Tail-0.99.3.tar.gz
# cd File-Tail-0.99.3
# perl Makefile.PL
# make
# make test
# make install
rrdtoolのインストール
# yum install -y rrdtool
必要なシンボルリンクを作成します(Extmanはこれらのパスの下に関連するライブラリファイルを探します)
# ln -sv /usr/lib64/perl5/auto/RRDs/RRDs.so /usr/lib64/perl5/5.10.0/x86_64-linux-thread-multi/CORE/
# ln -sv /usr/lib64/perl5/RRDp.pm /usr/lib64/perl5/5.10.0/
# ln -sv /usr/lib64/perl5/RRDs.pm /usr/lib64/perl5/5.10.0/
mailgraph_ext /usr/local,
# cp -r /var/www/extsuite/extman/addon/mailgraph_ext /usr/local/
# /usr/local/mailgraph_ext/mailgraph-init start
cmdserverの起動(バックグラウンドにシステム情報を表示)
# /var/www/extsuite/extman/daemon/cmdserver --daemon
自動起動キューに追加
# echo "/usr/local/mailgraph_ext/mailgraph-init start" >> /etc/rc.d/rc.local
# echo "/var/www/extsuite/extman/daemon/cmdserver -v -d" >> /etc/rc.d/rc.local
使用方法:約15分待ち、メールシステムに一定のトラフィックがあればextmanにログインし、「グラフィックログ」をクリックするとグラフィック化されたログが表示されます.具体的には毎日、週、月、年は相応の画像をクリックして入るといいです.
注意:インストール中に多くの問題が発生します.私は出会った問題をまとめて、皆さんの参考を提供します.ここをクリックしてください