这里是普通文章模块栏目内容页
RHEL5系统中安装Postfix+MySQL+IMAP+MailDrop+ExtMail邮件服务器

前提1:安装RHEL5时把所有的开发工具装上。

原理图

 

前提2 :开始前请确保您已经配置好指向此邮件服务器MX记录及其它DNS设置;同时,如果您的服务器事先已经安装了Sendmail,请卸载之;

配置yum 源 安装程序库

sudo -s
LANG=C
yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers

一、安装mysql-5.0.45

#groupadd mysql

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

#tar zxvf mysql-5.0.51b.tar.gz

#cd mysql-5.0.51b

#./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  /soft/mysql-5.0.51b (这里的目录指的是原压缩包解压后的目录)

#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

以下为提示信息

mysqld is alive

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

以下为提示信息

/usr/local/mysql/bin/mysqladmin  Ver 8.41 Distrib 5.0.51b, for redhat-linux-gnu on i686

Copyright (C) 2000-2006 MySQL AB

This software comes with ABSOLUTELY NO WARRANTY. This is free software,

and you are welcome to modify and redistribute it under the GPL license

Server version              5.0.51b-log

Protocol version    10

Connection           Localhost via UNIX socket

UNIX socket         /tmp/mysql.sock

Uptime:                4 min 23 sec

Threads: 1  Questions: 2  Slow queries: 0  Opens: 12  Flush tables: 1  Open tables: 6  Queries per second avg: 0.008

(/tmp/mysql.sock 注意这是mysql. sock的位置)

#/usr/local/mysql/bin/mysql –u root -p

mysql> grant all privileges on *.* to root@"%" identified by 'password' with grant option

这这命令是让root用户通过3066端口连到数据库。 Password是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

ln -sv /usr/local/mysql/bin/* /usr/bin/

#service mysqld restart

至此mysql安装完成

二、安装openssl-0.9.8h.tar.gz

# tar zxvf openssl-0.9.8h.tar.gz

# cd openssl-0.9.8h

# ./config shared zlib (./config no-sse2)

# 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 -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.0.9.8  /usr/lib/libssl.so

配置库文件搜索路径

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

# ldconfig

# ldconfig -v

检测安装结果

# openssl version

OpenSSL 0.9.8h 28 May 2008

  

三、安装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.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

#rm -rf /usr/sbin/pluginviewer

# rm -rf /usr/sbin/saslauthd

# rm -rf /usr/sbin/sasldblistusers2

# rm -rf /usr/sbin/saslpasswd2

# rm -rf /usr/sbin/testsaslauthd

# 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

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

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

创建运行时需要的目录并调试启动

# mkdir -pv /var/state/saslauthd     

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

启动并测试

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

# /usr/local/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

# ldconfig -v

开机自动启动

# echo "/usr/local/sbin/saslauthd -a shadow pam">>/etc/rc.local

四、安装BerkeleyDB 库

#tar zxvf db-4.7.25.tar.gz

#cd db-4.7.25/build_unix

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

#make

#make install

修改相应的头文件指向

# 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

配置库文件搜索路径

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

# ldconfig

# 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-cgi

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

(./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-cgi --enable-so --enable-ssl --with-ssl=/usr/local/ssl --enable-track-vars --enable-rewrite --with-zlib --enable-mods-shared=most --enable-suexec --with-suexec-caller=daemon --with-suexec-docroot=/var/www/extsuite/) 

(64位的要加

首先 运行 ./buildconfig

再编译 加上

--with-expat=builtin)

#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

(./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

# vim /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”>

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

# vim /var/www/index.php

<?php phpinfo(); ?>

# chmod 755 /vaw/www/index.php

测试php

 

有这个出来 就说明正确安装