(1) [Mail]RHEL4上安裝基於postfix的全功能郵件服務器

 轉載請註明出處:http://marion.cublog.cn

所用軟件包:(本文中,以下軟件包都將在/usr/local/src中存放)

Postfix-2.4.5
Mysql-5.0.45
Sasl-2.1.22
DB-4.5.20
Openssl-0.98e
httpd-2.2.4
Php-5.2.3
courier-authlib-0.59.3
courier-imap-4.1.3
Extmail-1.0.2
Extman-0.2.2
maildrop-2.0.4
clamav-0.91.2
amavisd-new
SpamAssassin-3.2.3

系統邏輯結構
未命名2.JPG 


前提:開始前請確保您已經配置好指向此郵件服務器MX記錄及其它DNS設置;本示例中的域名爲benet.org,郵件服務器FQDN爲mail.benet.org,IP地址爲192.168.1.6;同時,如果您的服務器事先已經安裝了sendmail,請卸載之;

一、安裝mysql-5.0.45

#groupadd mysql
#useradd -g mysql -s /bin/false -M mysql
#tar zxvf mysql-5.0.45.tar.gz
#cd mysql-5.0.45

#./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 .
#chgrp -R mysql .
#bin/mysql_install_db --user=mysql
#chown -R root .
#chown -R mysql var
#bin/mysqld_safe --user=mysql &

#cd  /usr/local/src/mysql-5.0.45     (這裏的目錄指的是原壓縮包解壓後的目錄)
#cp  support-files/mysql.server  /etc/rc.d/init.d/mysqld
#chmod  700  /etc/rc.d/init.d/mysqld
加入自動啓動服務隊列:
#chkconfig --add mysqld
#chkconfig  --level  345  mysqld  on

測試
#/usr/local/mysql/bin/mysqladmin  ping
#/usr/local/mysql/bin/mysqladmin  version
#/usr/local/mysql/bin/mysql

添加root密碼
#/usr/local/mysql/bin/mysqladmin -uroot -p 舊密碼 password 新密碼
說明:此時mysql的root用戶的密碼爲空

配置庫文件搜索路徑
# echo "/usr/local/mysql/lib/mysql" >> /etc/ld.so.conf
# ldconfig -v

添加/usr/local/mysql/bin到環境變量PATH中
#export PATH=$PATH:/usr/local/mysql/bin


二、安裝openssl-0.9.8e

# tar zxvf openssl-0.9.8e.tar.gz
# cd openssl-0.9.8e
# ./config shared zlib
# make 
# make test
# make install
# mv /usr/bin/openssl /usr/bin/openssl.OFF
# mv /usr/include/openssl /usr/include/openssl.OFF
# rm /usr/lib/libssl.so
# ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
# ln -s /usr/local/ssl/include/openssl /usr/include/openssl
# ln -sv /usr/local/ssl/lib/libssl.so.0.9.8  /usr/lib/libssl.so

配置庫文件搜索路徑
# echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
# ldconfig -v

檢測安裝結果
# openssl version
OpenSSL 0.9.8e 23 Feb 2007


三、安裝sasl-2.1.22

#tar zxvf cyrus-sasl-2.1.22.tar.gz
#cd cyrus-sasl-2.1.22
#./configure --prefix=/usr/local/sasl2            (注意使用續行符)
--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

關閉原有的sasl:
# mv /usr/lib/libsasl2.a  /usr/lib/libsasl2.a.OFF
# mv /usr/lib/libsasl2.la  /usr/lib/libsasl2.la.OFF
# mv /usr/lib/libsasl2.so.2.0.19  /usr/lib/libsasl2.so.2.0.19.OFF
# mv /usr/lib/sasl2  /usr/lib/sasl2.OFF
# rm /usr/lib/libsasl2.so
# rm /usr/lib/libsasl2.so.2

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

postfix 2.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

創建運行時需要的目錄並調試啓動
# mkdir -pv /var/state/saslauthd      
# /usr/local/sasl2/sbin/saslauthd  -a  shadow  pam  -d

啓動並測試
# /usr/local/sasl2/sbin/saslauthd -a shadow pam 
# /usr/local/sasl2/sbin/testsaslauthd -u root -p root用戶密碼

配置庫文件搜索路徑
# echo "/usr/local/sasl2/lib" >> /etc/ld.so.conf
# echo "/usr/local/sasl2/lib/sasl2" >> /etc/ld.so.conf
# ldconfig -v

開機自動啓動
# echo "/usr/local/sasl2/sbin/saslauthd -a shadow pam">>/etc/rc.local


四、安裝BerkeleyDB

#tar zxvf db-4.5.20.tar.gz
#cd db-4.5.20/build_unix
#../dist/configure --prefix=/usr/local/BerkeleyDB
#make
#make install

修改相應的頭文件指向
# mv  /usr/include/db4  /usr/inculde/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

配置庫文件搜索路徑 
# echo "/usr/local/BerkeleyDB/lib" >> /etc/ld.so.conf
# ldconfig –v

五、安裝httpd-2.2.4

#tar jxvf httpd-2.2.4.tar.bz2
#cd httpd-2.2.4
#./configure 
--prefix=/usr/local/apache 
--sysconfdir=/etc/httpd 
--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

#echo "/usr/local/apache/bin/apachectl start" >> /etc/rc.local(系統啓動時服務自動啓動)

六、安裝php-5.2.3

# tar -zvxf php-5.2.3.tar.gz
# mkdir -p /usr/local/php
# cd php-5.2.3
# ./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-xml
  --with-png
  --with-jpeg
  --with-zlib
  --with-freetype 
  --with-gd  
  --enable-track-vars  
  --enable-mbstring=all 
# make
# make install
# cp php.ini-dist  /usr/local/php/lib/php.ini 

注:編輯apache配置文件httpd.conf,以apache支持php
# vi /etc/httpd/httpd.conf
1、添加如下二行
  AddType application/x-httpd-php  .php
  AddType application/x-httpd-php-source  .phps

2、定位至DirectoryIndex index.html 
  修改爲:
   DirectoryIndex  index.php  index.html

3、按照使用習慣,這裏將網站根目錄指定到/var/www:
找到DocumentRoot “/usr/local/apache/htdocs”
修改爲:DocumentRoot “/var/www”(後文中我們還會註釋掉此行,以啓用虛擬主機)

找到<Directory “/usr/local/apache/htdocs”>
修改爲:<Directory “/var/www”>

說明:這個對本文來說並非是不可少的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章