成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

RHEL5.4 Postfix 郵件系統(tǒng)的安裝

第一篇 郵件系統(tǒng)簡介郵件系統(tǒng)組成部分: MTA MSA ,MUA,MDA,MAA1 MUA :是Mial User Agent 的簡稱 ,是郵件系統(tǒng)的客戶端程序,它提供了閱讀,發(fā)送和接受電子郵件

第一篇 郵件系統(tǒng)簡介

郵件系統(tǒng)組成部分: MTA MSA ,MUA,MDA,MAA

1 MUA :是Mial User Agent 的簡稱 ,是郵件系統(tǒng)的客戶端程序,它提供了閱讀,發(fā)送和接受電子郵件的用戶接口,如:linux 中的Mail ,Windowns 中的Foxmail ,Outlook 等

2 MSA :是Mail Submmission Agent的簡稱。是郵件提交代理,負(fù)責(zé)消息有MTA 發(fā)送之前必須完成所有準(zhǔn)備工作和錯誤檢測,MSA 是在MUA 和MTA 之間插入了一個頭腦清醒的檢測員,對所有的主機(jī)名,從MUA 得到的頭信息等信息進(jìn)行檢測

3 MTA:是Mail Transfer Agent 的簡稱,郵件轉(zhuǎn)發(fā)代理,負(fù)責(zé)郵件的存儲和轉(zhuǎn)發(fā);監(jiān)視用戶的代理請求,根據(jù)電子郵件的目標(biāo)地址找出對應(yīng)的電子郵件服務(wù)器,并將信件在服務(wù)器之間傳輸并且將接受到的郵件進(jìn)行緩沖。Linux 下有sendmail .Postfix,qmail 等

4 MDA :是Mail Ddlivery Agent 的簡稱。郵件投遞代理,從MTA 接受郵件并進(jìn)行適當(dāng)?shù)谋镜赝哆f,可以投遞一個本地用戶,一個郵件列表,一個文件或者是一個程序

5 MAA :是Mail Access Agent。郵件訪問代理,用于將用戶連接到系統(tǒng)郵件庫,使用POP 或者Imap 協(xié)議收取郵件。Linux 下常用的MAA 有,Cyrus-IMAP,COURIER-IMAP 等郵件中繼,當(dāng)郵件的目的傳輸是一旦源地址和目的地址都不是本地系統(tǒng),那么本地系統(tǒng)就是郵件中繼站(即是中轉(zhuǎn)站)

6 郵件交換過程如下圖

第二篇 Postfix 的安裝

郵件系統(tǒng)的邏輯結(jié)構(gòu)

,

注:配置postfix 系統(tǒng)時需要在DNS 服務(wù)器中配置郵件服務(wù)器MX 記錄 需要的軟件包

mysql-5.5.4-m3.tar.gz

openssl-1.0.0b.tar.tar

pcre-8.10.zip

perl-5.12.2.tar.gz

php-5.2.14.tar.bz2

postfix-2.7.1.tar.gz

Unix-Syslog-1.1.tar.gz.gz

zlib-1.2.5.tar.gz

extman-1.1.tar.gz

extmail-1.2.tar.gz

DBD-mysql-4.018.tar.gz.gz

db-4.8.26.tar.gz

cyrus-sasl-2.1.23.tar.gz

courier-imap-4.8.1.tar.bz2

courier-authlib-0.63.0.tar.bz2

courier-analog-0.16.tar.bz2

clamav-0.96.5.tar.gz

maildrop-2.5.2.tar.bz

Mail-SpamAssassin-3.3.1.tar.gz

GD-2.45.tar.gz.gz

第二. 安裝mysql

1 添加mysql 用戶

#groupadd mysql

#useradd –g mysql –s /bin/false –M mysql

2 編譯安裝mysql

#tar xvf mysql-5.5.4-m3.tar.gz

#cd mysql-5.5.4-m3

# ./configure

--prefix=/usr/local/mysql

--enable-thread-safe-client

,

--enable-local-infile

--with-charset=gbk

--with-extra-charset=all

--with-low-memory

#make && make install

#cp support-files/my-medium.cnf /etc/my.cnf

#cd /usr/local/mysql

#chown –R mysql.mysql .

#bin/mysql_install_db –user=mysql

#chown –R root .

#chown –R mysql var

#bin/mysqld_safe –user=mysql &

#cd /root/postfix/mysql-5.5.4-m3

#cp support/mysql.server /etc/rc.d/init.d/mysqld

#chmod 700 /etc/rc.d/init.d/mysqld

3 把mysql 加入到自動啟動隊列

#chkconfig –add mysqld

#chkconfig mysqld on

4 測試mysql

#/usr/local/mysql/bin/mysqladmin ping

mysqld is alive

#/usr/local/mysql/bin/mysqladmin version

#/usr/local/mysql/bin/mysql

5 添加root 用戶的密碼

#/usr/local/mysql/bin/mysqladmin –uroot –p “Oldpassword” password “newpassword”

注:此時的mysql 的root 用戶的密碼為空

6 配置mysql 的庫文件搜索路徑

#echo “/usr/local/mysql/lib/mysql” >>/etc/ld.so.conf

#ldconfig –v

注:一定要執(zhí)行l(wèi)dconfig –v 不然當(dāng)前不會去指定的mysql 的庫文件中查找mysql 的庫文件

7 把/usr/local/mysql/bin 添加到環(huán)境變量PATH 中

#vim /etc/profile

PATH=$PATH:/usr/local/mysql/bin

Export PATH

并執(zhí)行

#source /etc/profile

,

第三 安裝openssl ,在解壓安裝openssl 時一定要配置好當(dāng)前的系統(tǒng)時間,否則,在 解壓是和安裝時會報錯

1 安裝openssl

# openssl-1.0.0b.tar.tar

#cd openssl-1.0.0b

#./configure shared zlib

#make

#make test

#make install

2 刪除系統(tǒng)中的openssl 文件

# mv /usr/bin/openssl /usr/bin/openssl.OFF

# mv /usr/include/openssl /usr/include/openssl.OFF

# rm /usr/lib/libssl.so

3 創(chuàng)建新編譯的openssl 文件

# ln -sv /usr/local/ssl/bin/openssl /usr/bin/openssl

# ln -sv /usr/local/ssl/include/openssl /usr/include/openssl

#ln –sv /usr/local/ssl/lib/libssl.so.1.0.0 /usr/lib/libssl.so

4 配置openssl 庫文件搜索路徑

#echo “/usr/local/ssl/lib” /etc/ld.so.conf

#ldconfig –v

5 檢測openssl 的版本

#openssl version

OpenSSL 1.0.0b 16 Nov 2010

第四 安裝cyrus-sasl

1 安裝cyrus-sasl

#tar xvf cyrus-sasl-2.1.23.tar.gz

#cd cyrus-sasl-2.1.23

# ./configure --prefix=/usr/local/sasl2 (注意使用續(xù)行符)

--disable-gssapi

--disable-anon

--disable-sample

--disable-digest

--enable-plain

--enable-login

--enable-sql

--with-mysql=/usr/local/mysql

--with-mysql-includes=/usr/local/mysql/include/mysql

,

--with-mysql-libs=/usr/local/mysql/lib/mysql

--with-authdaemond=/usr/local/courier-authlib/var/spool/authdaemon/socket

#make

#make install

2 關(guān)閉系統(tǒng)自帶的sasl

#mv /usr/lib/libsasl2.a /usr/lib/libsasl2.a.OFF

#mv /usr/lib/libsasl2.so.2.0.22 /usr/lib/libsasl2.so.2.0.22.OFF

#mv /usr/lib/sasl2 /usr/lib/sasl2.OFF

#rm /usr/lib/libsasl2.so

#rm /usr/lib/libsasl2.so.2

3 重新創(chuàng)建新編譯的sasl 庫文件

#ln –sv /usr/local/sasl2/lib/* /usr/lib

Postfix2.3 以后的版本會分別在/usr/local/lib 和/usr/local/include 中搜索sasl 的庫文件及其頭文件,因此需要將其連接至此

#ln –sv /usr/local/sasl2/lib/* /usr/local/lib

#ln –sv /usr/local/sasl2/include/sasl/* /usr/local/include

4 創(chuàng)建運行時需要的目錄并調(diào)試啟動

# mkdir -pv /var/state/saslauthd

# /usr/local/sasl2/sbin/saslauthd -a shadow pam -d

5 啟動并測試

#/usr/local/sasl2/sbin/saslauthd –a shadow pam

#/usr/local/sasl2/sbin/testsaslauthd –u root –p root用戶密碼

6 添加配之文件搜索路徑

#echo “/usr/local/sasl2/lib" >> /etc/ld.so.conf

# echo "/usr/local/sasl2/lib/sasl2" >> /etc/ld.so.conf

# ldconfig –v 注:一定要執(zhí)行該命令,否則不會生效,除非是重啟系統(tǒng)

7 添加開機(jī)自動啟動

#echo “/usr/local/sasl2/sbin/saslauthd -a shadow pam ” >>/etc/rc.local

,

第五 安裝BerkeleyDB

1 解壓并安裝

#tar xvf DBD-mysql-4.018.tar.gz.gz

#cd DBD-mysql-4.018/dist

#./configure --prefix=/usr/local/BerkeleyDB

#make

#make install

2 修改相應(yīng)的頭文件

#mv /usr/include/db4 /usr/include/db4.OFF

# rm /usr/include/db_cxx.h

#rm /usr/include/db.h

#rm /usr/include/db_185.h

# ln -sv /usr/local/BerkeleyDB/include /usr/include/db4

# ln -sv /usr/local/BerkeleyDB/include/db.h /usr/include/db.h

# ln -sv /usr/local/BerkeleyDB/include/db_cxx.h /usr/include/db_cxx.h

3 配置庫文件搜索路徑

#echo “/usr/local/BerkeleyDB/lib “ >>/etc/ld.so.conf

#ldconfig –v

第六 安裝httpd

1 安裝httpd

#tar xfv httpd-2.2.17.tar.gz.gz

#cd httpd-2.2.17

#./configure

--prefix=/usr/local/apache

--enable-so

--enable-ssl

--with-ssl=/usr/local/ssl

--enable-track-vars

--enable-rewrite

--with-zlib

--enable-mods-shared=most

--enable-suexec (后面extmail 切換”運行時用戶”時要用到)

--with-suexec-caller=daemon

#make

#make install

2 配置開機(jī)啟動

#echo “/usr/local/apache/bin/apachectl start”>>/etc/rc.local

第七,安裝php

,

1 安裝php-5.2.14.tar.bz2

#tar xvf php-5.2.14.tar.bz2

#cd php-5.2.14

#./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs

--with-mysql=/usr/local/mysql

-with-mysqli=/usr/local/mysql/bin/mysql_config

--with-libxml-dir

--with-png-dir

--with-jpeg-dir

--with-zlib

--with-freetype -dir

--with-gd-dir

--enable-mbstring=all

#make

#make install

2 配置php 的配置文件

#cp php.ini-dist /usr/local/php/lib/php.ini

3 整合php 和apahce ,且apache 支持php

#cd /usr/local/apache/conf

#vim httpd.conf

并找到AddType application/x-compress .Z

AddType application/x-gzip .gz .tgz 并在其后添加一下兩行 AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps

4 找到DirectoryIndex index.html

修改為:

DirectoryIndex index.php index.html

5 驗證apache 是否能夠正常支持配php 文件

在/usr/local/apache/htdocs 中創(chuàng)建

#vim Test.php

Phpinfo();

?>

6 重啟apache

#/usr/local/apache/bin/apachectl stop

#/usr/local/apache/bin/apachectl start

7 訪問http ://IP/Test.php能夠正常顯示php 的版本號及其配置信息

,

8 將網(wǎng)站根目錄指定到/var/www:

找到DocumentRoot “/usr/local/apache/htdocs”

修改為:DocumentRoot “/var/www”(后文中我們還會注釋掉此行,以啟用虛擬主機(jī))

找到

修改為:

第八 安裝postfix

1 創(chuàng)建postfix 和postdrop 用戶

#groupadd –g 2525 postfix

#useradd –g postfix –u 2525 –s /sbin/nologin –M postfix

#groupadd –g 2526 postdrop

#useradd –g postdrop –u 2526 –s /bin/false –M postdrop

2 安裝postfix-2.7.1

#tar xvf postfix-2.7.1.tar.gz

#cd postfix-2.7.1

#make makefiles 'CCARGS=-DHAS_MYSQL -I/usr/local/mysql/include/mysql -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/local/sasl2/include/sasl -I/usr/local/BerkeleyDB/include -DUSE_TLS -I/usr/local/ssl/include/openssl ' 'AUXLIBS=-L/usr/local/mysql/lib/mysql -lmysqlclient -lz -lm -L/usr/local/sasl2/lib -lsasl2 -L/usr/local/BerkeleyDB/lib -L/usr/local/ssl/lib -lssl -lcrypto'

#make

#make install

按照以下的提示輸入相關(guān)的路徑

daemon_directory: [/usr/local/postfix/libexec]

data_directory: [/usr/local/postfix/lib]

html_directory: [/var/www/postfix_html]

mail_owner: [postfix]

mailq_path: [/usr/bin/mailq]

manpage_directory: [/usr/local/postfix/man]

newaliases_path: [/usr/bin/newaliases]

queue_directory: [/var/spool/postfix]

readme_directory: [no]

sendmail_path: [/usr/sbin/sendmail]

setgid_group: [postdrop]

,

3 生成別名二進(jìn)制文件,此步能夠提高postfix 的效率,如果不生成二進(jìn)制文 件。Postfix 的效率比較低下

#newaliases

4 配置postfix ,并啟動,測試postfix 并進(jìn)行發(fā)言

#cd /etc/postfix/

#vim main.cf

myhostname = mail.frank.net

mydomain = frank.net

myorigin = frank.net

inet_interfaces = all

mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

mynetworks = 192.168.18.0/24, 127.0.0.0/8

說明:

myorigin 參數(shù)用來指明發(fā)件人所在的域名;

mydestination 參數(shù)指定postfix 接收郵件時收件人的域名,即您的postfix 系統(tǒng)要接收到哪個

域名的郵件;

myhostname 參數(shù)指定運行postfix 郵件系統(tǒng)的主機(jī)的主機(jī)名,默認(rèn)情況下,其值被設(shè)定為本

地機(jī)器名;

mydomain 參數(shù)指定您的域名,默認(rèn)情況下,postfix 將myhostname 的第一部分刪除而作為

mydomain 的值;

mynetworks 參數(shù)指定你所在的網(wǎng)絡(luò)的網(wǎng)絡(luò)地址,postfix 系統(tǒng)根據(jù)其值來區(qū)別用戶是遠(yuǎn)程的

還是本地的,如果是本地網(wǎng)絡(luò)用戶則允許其訪問;

inet_interfaces 參數(shù)指定postfix 系統(tǒng)監(jiān)聽的網(wǎng)絡(luò)接口;

當(dāng)然在上面的myorigin=frank.net 同時也可以用$mydomain 來代替frank.net

在配置或者修改postfix 配置文件是,必須重新啟動postfix 或者reload ,配置才能生效,

但是如果是修改inet_interfaces,則需要重新啟動postfix

如果一個參數(shù)的值有多個,可以將它們放在不同的行中,只需要在其后的每個行前多置一個

空格即可;postfix 會把第一個字符為空格或tab 的文本行視為上一行的延續(xù)

5 啟動postfix

#/usr/local/postfix/sbin/postfix start

6 連接postfix ,并驗證postfix 是否正常啟動

# telnet localhost 25

Trying 127.0.0.1...

Connected to localhost.localdomain (127.0.0.1).

Escape character is '^]'.

220 mail.frank.net ESMTP Postfix

,

ehlo mail.frank.net

250-mail.frank.net

250-PIPELINING

250-SIZE 10240000

250-VRFY

250-ETRN

250-ENHANCEDSTATUSCODES

250-8BITMIME

250 DSN

mail from:root@frank.net

250 2.1.0 Ok

rcpt to:RedHat@frank.net

250 2.1.5 Ok

data

354 End data with .

subject:test!

test!!!

. 250 2.0.0 Ok: queued as AB94A1A561

quit

221 2.0.0 Bye

Connection closed by foreign host.

7 切換到redhat ,查看是否收到email 切換到redhat 用戶進(jìn)行收信: # su - redhat

$ mail

Mail version 8.1 6/6/93. Type ? for help.

"/var/spool/mail/redhat": 1 message 1 new

>N 1 root@frank.net Wed Sep 8 22:40 16/566 "test!"

&

第九 為postfix 開啟基于cyrus-sasl 的認(rèn)證

1 確認(rèn)postfix 是否支持cyrus 風(fēng)格的sasl 的認(rèn)證,

#/usr/local/postfix/sbin/postconf –a

cyrus

dovecot

如果出現(xiàn)上面的信息,說明postfix 支持cyrus 認(rèn)證

標(biāo)簽: