免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 11459 | 回复: 2
打印 上一主题 下一主题

iRedMail 安装指南 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-11-24 16:12 |只看该作者 |倒序浏览

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
  • 论坛徽章:
    0
    2 [报告]
    发表于 2010-01-11 16:28 |只看该作者

    问什么我的ldap 重启不了

    [root@localhost iRedMail-0.5.0]# /etc/init.d/ldap restart
    停止 slapd:                                               [失败]
    /etc/pki/tls/private/iRedMail.key is not readable by "ldap"[警告]
    正在检查 slapd 的配置文件: config file testing succeeded
                                                               [确定]
    启动 slapd:                                               [失败]

    论坛徽章:
    0
    3 [报告]
    发表于 2010-05-07 17:31 |只看该作者
    不错 非常适合拆分安装。
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则 发表回复

      

    北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
    未成年举报专区
    中国互联网协会会员  联系我们:huangweiwei@itpub.net
    感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

    清除 Cookies - ChinaUnix - Archiver - WAP - TOP