注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

欢迎光临我的博客

 
 
 

日志

 
 

install extmail on open solaris  

2010-12-30 18:28:14|  分类: 邮件服务 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

一、准备工作
1,准备ZFS分区来保存文件系统
用5块硬盘创建一个zpool,用raidz,名字为data
#zpool create data raidz c8t1d0 c8t2d0 c8t3d0 c8t4d0 c8t5d0
打开zfs的压缩功能,邮件数据特别适合压缩,大约能节约30%左右的磁盘空间,并且性能也会带来一定的提升
#zfs set compression=lzjb data
再创建2个目录,分别用来保存邮件和cgi
#zfs create data/domains
#zfs create data/extsuite

2,准备用户
用户:还用vuser:vgroup
创建用户:
# groupadd -g 1000 vgroup
# useradd -d /data/extsuite/ -m -g vgroup -u 1000 vuser

3,安装gcc和gmake,如果要编译程序啥的,要用到
#pkg install SUNWgcc
#pkg install SUNWgmake

4,下载extmail和extman,安装过程中要用。这两个包放在/data/extsuite目录下
#wget http://mirror.extmail.org/dist/extman-1.0.0.tar.gz
#wget http://mirror.extmail.org/dist/extmail-1.1.0.tar.gz
#tar xvfz extman-1.0.0.tar.gz
#mv extman-1.0.0 extman
#tar xvfz extmail-1.1.0.tar.gz
#mv extmail-1.1.0 extmail

5,安装pkgutil
用这个工具来装一些软件包,比较方便,省去了自己编译之苦。安装过程中的很多软件都是通过pkgutil工具,关于该工具的更多介绍,参考:http://www.blastwave.org/
#pkgadd -d http://blastwave.network.com/csw/pkgutil_i386.pkg

6,重新设置一下你的环境变量,如果不设置,会有很多命令找不到path
export PATH=/usr/gnu/bin:/usr/bin:/usr/X11/bin:/usr/sbin:/sbin:/bin:/usr/local/bin:/usr/local/sbin:/root/bin:/opt/csw/bin:/opt/csw/sbin
同时也编辑你的~/.bashrc,改PATH上面的

二、安装MySQL和Apache
1,安装Apache2.2
#pkg install SUNWapch22
#pkg install SUNWapch2d
#pkg install SUNWapch22m-fcgid
启动Apache
#svcadm enable http:apache22

2,安装MySQL5.1
#pkg install SUNWmysql51
启动MySQL
#svcadm enable database/mysql:version_51

三、安装postfix
其实可以参考之前那个帖子,不过俺还是贴过来吧。
1,安装Postfix,执行下面命令,一路按y即可
#pkgutil -i postfix
执行下面几个命令
#svcadm disable sendmail
#svcadm enable nfs/client
#mkdir /var/spool/postfix
#chgrp postdrop /var/spool/postfix/
#cd /opt/csw/var/spool/postfix/
#find . -depth | cpio -pdm /var/spool/postfix/
#cd /etc/ && ln -s  opt/csw/postfix/
#/opt/csw/bin/newaliases

2,保留一份干净的main.cf
#postconf -n > /etc/postfix/main2.cf
#mv /etc/postfix/main.cf /etc/postfix/main.cf.old
#mv /etc/postfix/main2.cf /etc/postfix/main.cf

3,编辑/etc/postfix/main.cf
添加如下内容
mynetworks = 127.0.0.1
myhostname = mail.chifeng.name
mydestination = $mynetworks $myhostname
mail_name = Postfix - by chifeng.name
smtpd_banner = $myhostname ESMTP $mail_name
smtpd_error_sleep_time = 0s
unknown_local_recipient_reject_code = 450
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_transport = maildrop:

4,拷贝对应的配置文件过来
#cp /data/extsuite/extman/docs/mysql_* /etc/postfix/

5,启动postfix
#svcadm enable cswpostfix

 

四、安装perl的一些模块和extman
1,理论上在你安装postfix的时候,perl5.8.8已经跟着一起装上了,这比系统自带的版本更新一点,替换掉系统自带的
#rm /usr/bin/perl
#ln -s /opt/csw/bin/perl5.8.8 /usr/bin/perl

2,安装perl-DBI
#pkgutil -i pm_dbdmysql
#pkgutil -i pm_dbi

3,安装UNIX-syslog
#pkgutil -i pm_unixsyslog

4,配置apache的虚拟主机
root@mail:/etc/apache2/2.2/conf.d# cat vhost.conf

NameVirtualHost *:80

# VirtualHost for ExtMail Solution
<VirtualHost *:80>
ServerName mail.chifeng.name
DocumentRoot /data/extsuite/extmail/html/

ScriptAlias /extmail/cgi/ /data/extsuite/extmail/cgi/
Alias /extmail/ /data/extsuite/extmail/html/

ScriptAlias /extman/cgi/ /data/extsuite/extman/cgi/
Alias /extman/ /data/extsuite/extman/html/

    <Location "/extman/cgi">
        SetHandler cgi-script
        Options +ExecCGI
        AllowOverride All
    </Location>
    <Directory "/usr/local/www">
        AllowOverride None
        Options None
        Order allow,deny
        Allow from all
    </Directory>

# Suexec config
#SuexecUserGroup vuser vgroup
</VirtualHost>

安装extman
#mysql -u root -p < /data/extsuite/extman/docs/extmail.sql
#mysql -u root -p < /data/extsuite/extman/docs/init.sql


五、安装maildrop和courier-imap
1,安装maildrop
#pkgutil -i maildrop
配置maildrop,增加如下两行到/etc/postfix/master.cf,并重启postfix

maildrop   unix        -       n        n        -        -        pipe
    flags=DRhu user=vuser argv=/opt/csw/bin/maildrop -w 90 -d ${user}@${nexthop} ${recipient} ${user} ${extension} {nexthop}

2,安装authlib
#pkgutil -i courier_auth
#root@mail:/opt/csw/etc/authlib# more authmysqlrc

MYSQL_SERVER            localhost
MYSQL_USERNAME          extmail
MYSQL_PASSWORD          extmail
MYSQL_SOCKET            /tmp/mysql.sock
MYSQL_PORT              3306
MYSQL_OPT               0
MYSQL_DATABASE          extmail
MYSQL_USER_TABLE        mailbox
MYSQL_CRYPT_PWFIELD     password
MYSQL_UID_FIELD         uidnumber
MYSQL_GID_FIELD         gidnumber
MYSQL_LOGIN_FIELD       username
MYSQL_HOME_FIELD        homedir
MYSQL_NAME_FIELD        name
MYSQL_MAILDIR_FIELD     maildir
MYSQL_QUOTA_FIELD       quota
MYSQL_SELECT_CLAUSE     SELECT username,password,"",uidnumber,gidnumber,\
                        CONCAT('/data/domains/',homedir),               \
                        CONCAT('/data/domains/',maildir),               \
                        quota,                                          \
                        name                                            \
                        FROM mailbox                                    \
                        WHERE username = '$(local_part)@$(domain)'

再修改authdaemonrc的如下2个参数

authmodulelist="authmysql"
authmodulelistorig="authmysql"

3,启动authlib
#chmoc +x /opt/csw/var/spool/authdaemon
#svcadm enable cswcourier:authlib

4,测试authlib
root@mail:~# authtest -s login postmaster@extmail.org extmail

Authentication succeeded.

     Authenticated: postmaster@extmail.org  (uid 1000, gid 1000)
    Home Directory: /data/domains/extmail.org/postmaster
           Maildir: /data/domains/extmail.org/postmaster/Maildir/
             Quota: 104857600S
Encrypted Password: $1$phz1mRrj$3ok6BjeaoJYWDBsEPZb5C0
Cleartext Password: extmail
           Options: (none)
  评论这张
 
阅读(482)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017