- 论坛徽章:
- 0
|
Installation_zh
iRedMail 安装指南
安装需求
操作系统
版本
架构
Red Hat Enterprise Linux
5.x
i386, x86_64
CentOS
5.x
i386, x86_64
同步系统时钟
系统时钟不同步会导致提供 POP3/IMAP 服务的 Dovecot 程序自行终止,所以建议在做以下操作之前先同步系统时钟。最简单的方法是使用 ntpdate 命令:
# yum install ntp
# cat /etc/ntp.conf |grep rhel
server 0.rhel.pool.ntp.org
server 1.rhel.pool.ntp.org
server 2.rhel.pool.ntp.org
# ntpdate 0.rhel.pool.ntp.org
Yum 仓库
为了避免从网络下载软件包可能发生的软件包不完整、下载速度慢、网络故障等问题, 我们强烈建议您使用本地的 DVD/CD iso 来创建 yum 仓库,这样在安装的时候速度快, 而且可以保证所有软件包都能顺利安装。
如果您有局域网内的 yum 仓库,可以直接使用它,就不需要按照以下的步骤重复创建了。
下面的操作都是在您安装好 RHEL/CentOS 系统后进行的。
- 先从光盘或已有的 YUM 仓库安装 createrepo 工具,以及网络下载工具 wget:
# rpm -ivh createrepo-x.y.z.rpm
# rpm -ivh wget-x.y.z.rpm
createrepo 命令用于生成 yum 仓库所必须的一些信息,这些信息都存放在 repodata/ 目录底下,您打开看看就会明白它做了些什么事情。
使用 ISO 文件制作 yum 仓库
DVD ISO
如果你使用的是 DVD 光盘,可以直接挂载光盘,然后制作 yum 仓库:
# mkdir /mnt/dvd/
# mount /dev/cdrom /mnt/dvd/
# cd /mnt
# createrepo .
如果您使用的是官方的 DVD ISO,则需要将它复制到系统上,挂载后制作 yum 仓库:
# mkdir /mnt/dvd/
# mount -o loop /root/rhel5.1-dvd.iso /mnt/dvd
# cd /mnt
# createrepo .
CD ISO
如果您使用的是多个 CD iso 文件,需要先复制到系统上,挂载后制作 yum 仓库。
有几个 ISO 就创建几个目录,并将对应的 ISO 挂载上去:
# mkdir -p /mnt/{1,2,3,4,5,6}
# mount -o loop rhel5.1-disc1.iso /mnt/1
# mount -o loop rhel5.1-disc2.iso /mnt/2
# mount -o loop rhel5.1-disc3.iso /mnt/3
# mount -o loop rhel5.1-disc4.iso /mnt/4
# mount -o loop rhel5.1-disc5.iso /mnt/5
创建 yum 仓库:
# cd /mnt/
# createrepo .
定义 yum 仓库
创建 yum 仓库的定义文件:/etc/yum.repos.d/dvdiso.repo,然后加入以下内容:
[DVDISO]
name=DVD ISO
baseurl=file:///mnt/
enabled=1
gpgcheck=0
测试 yum 仓库
强烈建议执行 'yum clean all' 命令,将所有 yum metadata 等信息清空,再重新获取最新的仓库信息:
# yum clean all
# yum list
如果在 'yum list' 命令的输出中能够看到刚才制作的仓库里的软件包的名字,那就是 OK 了。再试着安装一个软件包看是否成功:
# yum install cyrus-sasl.i386
如果是 x86_64 平台,则将后面的 i386 改为 x86_64:
# yum install cyrus-sasl.x86_64
如果安装成功,表示 yum 仓库和 RPM 包都没问题。可以继续往下进行配置了。
系统主机名
这里说的 hostname 是指使用 'hostname' 命令打印出来的系统主机名,例如:
$ hostname
mail.iredmail.org
不管您的 Linux 系统是否作为公网服务器,我们都强烈建议您设置一个合适的主机名。
在 RHEL/CentOS 系统中,主机名的设置涉及到两个文件:
- /etc/sysconfig/network
- /etc/hosts
在 /etc/sysconfig/network 中设置 HOSTNAME 变量,例如:
HOSTNAME=mail.iredmail.org
在 /etc/hosts 中将它指向 127.0.0.1 这个地址。例如:
127.0.0.1 localhost localhost.localdomain mail.iredmail.org mail
Installation
注意:
iRedMail 安装软件都是通过 yum 命令进行,所以配置好 yum 仓库非常 重要。 并且,iRedMail 只提供 RHEL/CentOS 官方 ISO 里不包含的 RPM 包,这些 包都可以通过以下地址下载:
# 用到的二进制包。
http://www.osspinc.com/iredmail/packages/rpms/
# 用到的一些源码包。
http://www.osspinc.com/iredmail/packages/misc/
# 所有经过 iRedMail 项目重新打包的软件源码(src.rpm)。
http://www.osspinc.com/iredmail/packages/srpms/
Fresh Installation
- 通过 ftp、scp 等方式将 iRedMail 复制到需要部署邮件服务器的主机上,再通过 ssh 或 telnet 连接到主机上进行下面的操作;
- 解压缩: # tar xjf iRedMail-x.y.z.tar.bz2
- 执行 'script' 命令,它会将当前终端的所有输出信息都保存到指定的文件中: # script output.log
注意:
如果您在使用 iRedMail 部署好邮件服务之后发现有问题,请一定记得将这个文件发给我,以便于我分析和排错。
- 使用 iRedMail 提供的脚本获取搭建邮件服务器所需要的 RPM 包: # cd iRedMail-x.y.z/pkgs/
# sh get_all.sh
注:
- get_all.sh 只下载在光盘上没有的 RPM 包;
- 脚本默认使用 wget 作为下载工具。如果需要使用其它下载工具,可以修改 get_all.sh 文件里的 FETCH_CMD 参数。
- 如果所有的软件包已经下载到本地,并且按照正确的目录存放,可以打开 get_all.sh 文件,将靠近文件末尾的这两行给删除,它们就是负责下载软件包的: fetch_rpms && \
fetch_misc && \ 脚本还会自动生成一个 yum 仓库定义文件:/etc/yum.repos.d/iRedMail.repo,内容如下: [iRedMail]
name=Yum repo generated by iRedMail: http://iredmail.googlecode.com/
baseurl=file:///root/iRedMail-x.y.z/pkgs/rpms
enabled=1
gpgcheck=0
注意:
为了加快安装进程、避免网络故障导致的安装失败等问题,强烈建议您将其它的 yum 仓库都禁用掉,只启用由本地的 DVD 镜像制作的仓库。
TIP:
只需要将 /etc/yum.repos.d/ 目录下以 '.repo' 结尾的文件里的 enabled 的值设置为 0 即可禁用仓库。例如:
enabled=0
- 设置后 yum 仓库后,请使用以下命令确认能够查看到 DVD 和下载的 RPM 包: # yum clean all
# yum list
- 确认无误后,可以开始执行主脚本了: # cd iRedMail-x.y.z/
# sh iRedMail.sh
- 它会调用 'dialog' 程序引导用户配置邮件服务器:
# ********************************************************
# ******************** 公共参数 **************************
# ********************************************************
欢迎页面
主要的功能列表
设置用于存储所有邮件的目录
在这里,您需要选择使用哪种程序来存储虚拟域和虚拟用户。iRedMail 同时提供了 OpenLDAP 与 MySQL,您可以按照自己的喜好进行选择。iRedMail 推荐使用 MySQL,因为功能更完善。
# ********************************************************
# ********************* OpenLDAP *************************
# ********************************************************
NOTE: 以下是使用 OpenLDAP 存储虚拟域的时候需要设置的参数:
定义 LDAP 的前缀。通常用公司的域名来定义,如:
dc=osspinc,dc=com
而存储邮件虚拟域和虚拟用户的数据则都存放在以下 LDAP 分支:
o=domains,dc=osspinc,dc=com
这个 LDAP 节点称为邮件服务器的 LDAP base dn。
设置 LDAP 的管理员密码。管理员的 dn 为:
cn=Manager,dc=osspinc,dc=com
设置 Postfix 在连接 LDAP 进行查询时使用的账号的密码。
iRedMail 默认使用会生成以下两个 dn:
cn=vmail,dc=osspinc,dc=com
cn=vmailadmin,dc=osspinc,dc=com
其中:
- cn=vmail 只有浏览 LDAP base dn 的权限,无法修改 LDAP 里的任何内容。这个账号将用于 Postfix 等程序从 LDAP 里查询虚拟域和虚拟用户的信息。
- cn=vmailadmin (只)可以浏览和修改 LDAP base dn 里的内容。建议用这个 dn 来管理邮件服务器的虚拟域和虚拟用户。
# ********************************************************
# ********************** MySQL ***************************
# ********************************************************
以下是使用 MySQL 存储虚拟域的时候需要设置的参数。
注意:iRedMail 支持对已有 MySQL 环境的支持,具体配置方法请参考文档:
这里设置的是 MySQL 数据库管理员 'root' 用户的密码。
这里设置的是用于查询和管理虚拟域的数据库的两个账号的密码。其中:
- 数据库名默认是:vmail。定义在 iRedMail-x.y.z/conf/mysql 文件中(VMAIL_DB)。
- 用户 vmail: 只能查询数据库。用于 Postfix 里的 MySQL 查询操作。
- 用户 vmailadmin:可用于管理虚拟域的数据库。提供给管理员使用。
# ********************************************************
# ** 公共参数。设置虚拟域、域管理员账号、第一个普通用户 **
# ********************************************************
这里定义邮件服务器的第一个虚拟域,例如:
osspinc.com
openbsdonly.org
a.cn
这是定义虚拟域的管理员的名称,默认是 postmaster*。
设置虚拟域的管理员的密码。
这里设置的是你的虚拟域的第一个普通用户。例如:用户 www。它的邮件地址将是:
www@a.cn
设置第一个普通用户的密码。
选择是否启用 SPF 和 DKIM 功能。
NOTE:
关于 SPF 与 DKIM 的作用,请参考 wiki 文档:
选择是否启用 POP3,POP3,IMAP,IMAPS 功能。
# ********************************************************
# ************* 配合 LDAP 的可选组件 *********************
# ********************************************************
# ********************************************************
# ************* 配合 MySQL 的可选组件 ********************
# ********************************************************
选择配合 MySQL 的可选组件。如果您选择了 PostfixAdmin,还会出现下面两个配置界面:
这里设置 PostfixAdmin 里的管理员的名称,可以是邮件地址,也可以是其它字符串。
这里设置 PostfixAdmin 里的管理员的密码。
# ========================================================
# ==================== 公共参数 ==========================
# ========================================================
这里定义操作系统上的 root 用户的邮件别名,例如:www@osspinc.com 所有发送给 root 的邮件都将变成发送给 www@osspinc.com。
执行完之后即可开始安装了,安装完后需要重启系统。
在使用 iRedMail 部署好邮件系统后,请参考你服务器上的 iRedMail-x.y.z/ 目录下的 'iRedMail.tips' 文件, 里面对各个组件所对应的配置文件、访问地址都做了记录。
iRedMail 的邮件服务器客户端用户使用指南请阅读以下页面:
Exist MySQL
对于已经安装了 MySQL 的服务器系统,可以参考以下步骤,配置 iRedMail 使用已有的 MySQL 数据库。
按照正常步骤使用 dialog 工具配置 iRedMail -- 即上面的图片演示部分。当提示是否开始安装时,选择“否”。 Configuration completed.
*************************************************************************
**************************** WARNNING ***********************************
*************************************************************************
* *
* Please do remember to *REMOVE* configuration file after installation *
* completed successfully. *
* *
* * /root/iRedMail-x.y.z/config #
* *
*************************************************************************
RHMS >>> Continue? [y|N]n #
RHMS >>> Canceled, Exit. #
编辑 'iRedMail-x.y.z/conf/mysql' 文件,找到以下参数: export MYSQL_FRESH_INSTALLATION='YES'
export MYSQL_SERVER='127.0.0.1'
export MYSQL_PORT='3306'
export MYSQL_SOCKET='/var/lib/mysql/mysql.sock'
export MYSQL_ROOT_USER='root'
export MYSQL_ROOT_PASSWD='passwd'
根据自己的实际情况,配置好 MySQL 的服务器地址,端口号,以及 MySQL root 密码,例如: export MYSQL_FRESH_INSTALLATION='NO' #
export MYSQL_SERVER='192.168.122.249' #
export MYSQL_PORT='3306' #
export MYSQL_SOCKET='/var/lib/mysql/mysql.sock'
export MYSQL_ROOT_USER='root' #
export MYSQL_ROOT_PASSWD='secret' #
如果你的 Apache 路径或者 php.ini 文件的路径与默认的不一致,还需要打开 'conf/httpd' 文件,修改路径: #
# HTTPD_SERVERROOT:Apache 站点根目录,默认是 '/var/www'。
# HTTPD_DOCUMENTROOT:Document root,默认是 '/var/www/html' 目录。
#
export HTTPD_SERVERROOT='/var/www'
export HTTPD_DOCUMENTROOT="${HTTPD_SERVERROOT}/html/"
export HTTPD_CONF="/etc/httpd/conf/httpd.conf"
export HTTPD_CONF_DIR="/etc/httpd/conf.d"
export PHP_MODULES_DIR="${HTTPD_SERVERROOT}/lib/php/modules/"
export HTTPD_SSL_CONF="${HTTPD_CONF_DIR}/ssl.conf"
# ---- PHP ----
export PHP_INI='/etc/php.ini'
还要通知 iRedMail 不要安装相关的软件包。打开 'functions/packages.sh',将以下几行注释掉: #
# 在以下几项设置前加上 '#' 符号,用于注释该行。
#
ALL_PKGS="${ALL_PKGS} httpd.${ARCH} mod_ssl.${ARCH}"
ALL_PKGS="${ALL_PKGS} php.${ARCH} php-imap.${ARCH} php-gd.${ARCH} php-mbstring.${ARCH} libmcrypt.${ARCH} php-mcrypt.${ARCH} php-pear.noarch php-xml.${ARCH} php-pecl-fileinfo.${ARCH}"
ALL_PKGS="${ALL_PKGS} php-ldap.${ARCH}"
ALL_PKGS="${ALL_PKGS} php-mysql.${ARCH}"
改好上面的参数后,就可以重新执行 iRedMail.sh 这个脚本开始安装了: # sh iRedMail.sh
RHMS >>> Check configuration file: /root/iRedMail-x.y.z/config... Found. #
Question >>> Use it for mail server setting? [y|N]y #
RHMS >>> Use configuration file: /root/iRedMail-x.y.z/config for mail server setting. #
...
Exist Components
在已安装了某些组件的环境也可以使用 iRedMail,主要是加入了对安装、配置 组件的函数执行结果的检测。
所有的函数在执行完后,都会将“是否已执行过”这个状态标记记录在 iRedMail-x.y.z/.iRedMail.installation.status 这个文件中(注意,该文件 是以英文句点开头的,在 Unix 系统下是隐藏的),重复执行 iRedMail.sh 会 自动检测这个文件,以获得各个函数的执行状态。
例如:函数 apache_php_config(),在执行完毕之后,它会写入这个信息到 .iRedMail.installation.status 文件:
status_apache_php_config="DONE"
格式是:
status_函数名="DONE"
所以如果需要支持已有的 AMP 环境,只需要将相关的函数的执行状态直接标记为 DONE,iRedMail 就会忽略这些函数,不安装配置对应的组件。
该方法也可以用于在安装完 iRedMail 后,安装遗漏的组件。
HowTo use mbox format
如何使用 mbox 邮箱格式?
iRedMail 支持 Maildir 和 mbox 格式的邮箱,默认并且推荐使用的是 Maildir 格式,性能更好。
要使用 mbox 格式,你只需要修改文件 'iRedMail-x.y.z/conf/global' 文件,将 'HOME_MAILBOX' 变量的值修改为 'mbox' 即可:
# Maildir format: mbox, Maildir.
HOME_MAILBOX='mbox'
然后即可执行 'sh iRedMail.sh' 命令开始安装。
First Thing You Should Do After Installation
iRedMail 安装完成后,您需要首先查看 iRedMail 目录下的 'iRedMail.tips' 文件,这里保存了:
- 密码等敏感信息;
- 您选择的邮件相关的组件的配置文件路径及其它重要信息;
Trouble Shooting
sysreport.sh
如果您在使用 iRedMail 部署了邮件服务之后发现有些组件无法正常使用,您可以在服务器上执行以下脚本: # cd iRedMail-x.y.z/tools/
# sh sysreport.sh
sysreport.sh 脚本会将邮件服务涉及到的所有相关的配置文件、日志文件复制到 '/tmp/iRedMail_sysreport/' 目录下,并将它打包压缩成 '/tmp/iRedMail_sysreport.tar.bz2' 文件。
您可以给我发邮件,在邮件里写上您碰到的情况,并将 'iRedMail-x.y.z/iRedMail.log' 文件和 '/tmp/iRedMail_sysreport.tar.bz2' 文件作为附件。
注:
如果您还保留了 iRedMail-x.y.z 安装目录,可以将 'iRedMail-x.y.z/conf/ldap_init.ldif' 文件一同发给我。但是发给我之前,建议您将里头的密码给清空。
我的联系方式已经列在本页面了:
Contact US
。
来自:iRedMail 项目主页:
http://code.google.com/p/iredmail/
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/18630/showart_1663083.html |
|