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)
评论