(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”>

说明:这个对本文来说并非是不可少的。

你可能感兴趣的:(linux,职场,mail,休闲)