RedHat Enterprise 5.4 搭建完整Postfix 邮件服务器(courier-imap,courier-authlib,extmail,extman)

导师让搭建一个邮件服务器,上网搜了一些教程,但是都有错误,在我三天半的努力下终于搭建完毕,向写那些教程的前辈表示感谢,以下是我的总结。

 !!!!!!!!!!!!!!!!!!!!!!(authmysql.so和athlib连接mysql的配置文件中用户名之后的空格千万注意,害我不浅阿)

一.安装 postfix 邮件服务器所需的软件列表:(一下软件用新点版本也行)
RedHat as 4.0
RedHat 高级服务器操作系统
2、Postfix
这一个是自然少不了的,邮件服务器系统的 smtp 服务器,在邮件服务器系统中充当MTA角色。软件版本:postfix-2.4.5
下载地址:
http://www.postfix.org/download.html
3、mysql
最优秀的开源数据库之一,用于存储虚拟域、虚拟账户信息。使用的版本: mysql-5.0.45
下载地址:
http://dev.mysql.com/downloads/mysql/5.0.html
4、apache
最优秀的 web 服务器软件之一,用于 extman 的后台管理,extmail 的 web 邮件收发。
软件版本:httpd-2.2.4
下载地址:
http://www.apache.org
5、php
Extman & extmail 需要使用 php.作用版本:php-5.2.3
下载地址:
http://www.php.net
6、cyrus-sasl
用于实现身份验证的smtp 服务器,使用版本:cyrus-sasl-2.1.22
下载地址:
http://download.chinaunix.net/download/0001000/71.shtml
7、courier-authlib
实现带验证的 pop3 服务器,使用版本:courier-authlib-0.58
下载地址:
http://download.chinaunix.net/download/0002000/1788.shtml
8、courier-imap
用于实现 pop3、imap 收邮件功能,使用版本: courier-imap-4.1.0
下载地址:
http://download.chinaunix.net/do ...6&Resourceid=77
9、openssl
提供安全的邮件服务器连接,使用版本:openssl-0.9.8e
下载地址:
http://www.openssl.org/source
10、extman
用于邮件服务器的后台管理,使用版本:extman-0[1].2.2
下载地址:
http://www.extmail.org
11、extmail
用于实现 webmail.使用版本:extmail-1[1].0.2
下载地址:
http://www.extmail.org
12、DBD-Mysql
用于解决依赖关系,extmail 将会用到,使用版本:DBD-Mysql-3.0002_4
下载地址:
http://search.cpan.org
13、Unix-Syslog
用于解决依赖关系,extmail 将会用到,使用版本:Unix-Syslog-0.100
下载地址:
http://search.cpan.org
14、BerkeleyDB
使用版本:BerkeleyDB-4.5.20
下载地址:
http://www.oracle.com/technology ...keley-db/index.html

 

二.邮件服务器系统的安装
本文约定:默认情况下,本文中的所有软件的压缩安装文件都放在 /root 目录下,除非特别说明的情况下。

禁用 selinux
[root @test root]# vi /etc/selinux/conifg
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
    enforcing - SELinux security policy isenforced.
    permissive - SELinux prints warnings instead ofenforcing.
    disabled - SELinux is fully disabled.
将 SELINUX=enforcing
改成
SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
    targeted - Only targeted network daemons areprotected.
    strict - Full SELinux protection.
SELINUXTYPE=targeted
Selinux 是 linux 系统中一个强制性的安全机制,但也带来了不少麻烦,为了避免不必要的麻烦,还是先关了吧。我之前在Fedora cora 5 上安装邮件服务器时就因为没有关掉 selinux ,而苦恼了一段时间。

 

1.安装 mysql服务器(这才是真正的数据库)

下载一个MySQL-server-community-5.1.44-1.rhel5.i386.rpm
[root @test root]#rpm -vihMySQL-server-community-5.1.44-1.rhel5.i386.rpm

 

安装 mysql客户端(提供mysql等命令和库文件的)
添加虚帐户mysql 并同时产生一个 mysql 组。注:如果系统中已有就不必添加了。
[root @test root]#groupadd  mysql
[root @test root]# useradd -g mysql mysql
解压缩mysql 安装文件
[root @test local]#tar xvzf mysql-5.0.45-linux-i686.tar.gz
[root @test local]#cd mysql-5.0.45
[root @test local]# ./configure --prefix=/usr/local/mysql

[root @test local]# make

[root @test local]# make install

[root @test local]# chown -R mysql:mysql /var/lib/mysql
初始化 mysql 数据库
[root @testlocal]#./script/mysql_install_db  —user=mysql&
修改目录所有权限为mysql 所有
[root @test local]#chown -R root .
[root @test local]#chown -R mysql:mysql data
[root @test local]#chgrp -R mysql .
       注:将/var/lib/mysql/mysql.sock链接到 /tmp 目录下,并保持名称不变,如果不这样做的话,有时候可能mysql 启动时会报错,如 ERROR 200:Can’tconnect to local MYSQL server throuht socket /tmp/mysql.sock.
[root @test local]#ln -s /var/lib/mysql/mysql.sock /tmp/
启动测试mysql
[root @test local]#/usr/local/mysql/bin/safe_mysqld —user= mysql&
复制一个编译目录的脚本,以使 mysql 每次启动时都能自动运行
[root @test local]#cp support-files/mysql.server/etc/rc.d/init.d/mysqld
[root @test local]#chmod 700 /etc/init.d/mysqld
[root @test local]#chkconfig —add mysqld
[root @test local]#chkconfig —level 35 mysqld on
[root @ test local] # echo “/usr/local/mysql/lib/mysql”>> /etc/ls.so.conf
[root @ test local] # ldconfig
说明:在用 /usr/local/mysql/bin/mysqld_safe —user=mysql& 命令启动测试 mysql 时,总是无法启动mysql ,自然也无法进入 mysql,开始还以为是自己操作失误,然后又重新解压mysql安装文件,重新安装,依然如此,甚是郁闷,最后查看日志/var/log/mysqld.log,显示:
070829  9:04:08 [ERROR]/usr/local/mysql/bin/mysqld: Can't create/write tofile'/var/run/mysqld/mysqld.pid' (Errcode: 13)
070829  9:04:08 [ERROR] Can'tstart server: can't create PID file: Permission denied
070829 09:04:08  mysqldended
       根据日志提示,查看/var/run/mysqld 目录,发现该目录下并没有mysqld.pid文件,查看该目录的文件权限,发现用户所有者即不属于root ,也不属于mysql ,文件所有者显示为27。据此推断,可能是mysql启动时会向此文件夹内写一些东西,但 mysql 的进程用户mysql 却没有权限写,导致mysql 无法启动,用touch/var/run/mysqld/mysqld.pid 命令创建mysql 所需要文件,chown -Rmysql:mysql/var/run/mysqld将/var/run/mysqld 的目录权限转给mysql。再次用/usr/local/mysql/bin/mysqld_safe —user=mysql& 启动mysql ,没有再报错,用netatst -tlnup 命令,查看mysql的端口号3306是否启动,已经可以看到3306端口处于监听状态,mysql启动成功,用/usr/lcoal/mysql/bin/mysql 进入mysql 数据库,没问题。至此 mysql安装成功。此问题只在 Fedora cora 5 中发现,我在 RHEL5.4 中安装 mysql 没有发现这个问题。

 

2、安装 openssl
[root @ test root] # tar zxvf openssl-0.9.8e.tar.gz
[root @ test root] # cd openssl-0.9.8e
[root @ test openssl-0.9.8e] # ./config shared zlib
[root @ test openssl-0.9.8e] # make
[root @ test openssl-0.9.8e] # make test
[root @ test openssl-0.9.8e] # make install
[root @ test openssl-0.9.8e] # mv /usr/bin/openssl/usr/bin/openssl.OFF
[root @ test openssl-0.9.8e] # mv /usr/include/openssl/usr/include/openssl.OFF
[root @ test openssl-0.9.8e] # rm /usr/lib/libssl.so
[root @ test openssl-0.9.8e] # ln -s /usr/local/ssl/bin/openssl/usr/bin/openssl
[root @ test openssl-0.9.8e] #ln -s /usr/local/ssl/include/openssl/usr/include/openssl
[root @ test openssl-0.9.8e] # ln -sv/usr/local/ssl/lib/libssl.so.0.9.8  /usr/lib/libssl.so
配置库文件搜索路径
[root @ test openssl-0.9.8e] #echo "/usr/local/ssl/lib">> /etc/ld.so.conf
[root @ test openssl-0.9.8e] # lconfig
检查是否安装 openssl
[root @ test openssl-0.9.8e] # openssl version
OpenSSL 0.9.8e 23 Feb 2007

 

3、安装 cyrus-sasl
[root @ test root] # tar cyrus-sasl-2.1.22.tar.gz
[root @ test root] # cd cyrus-sasl-2.1.22
[root @ test cyrus-sasl-2.1.22] #./configure--prefix=

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值