免费注册 查看新帖 |

Chinaunix

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

[Mail] vpopmail5.4.10中文说明编译脚本 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-05-15 00:20 |只看该作者 |倒序浏览

  1. #/bin/bash

  2. ##########################################################################
  3. #        VPOPMAIL 5.4.10 中文编译安装脚本   
  4. #        2005-05-14 modi by ZhenZhong Zhong
  5. #        EMAIL: zzz@wxxhr.cn zzz@wxhrm.com
  6. ##########################################################################

  7. ##########################################################################
  8. # 这个脚本直接复制成setup.vpopmail.sh文件放到VPOPMAIL源代码目录下
  9. # 直接运行 setup.vpopmail.sh 即可编译安装
  10. # 运行 setup.vpopmail.sh clear 则删除安装
  11. # 这个版本已经知的一个BUG
  12. # 使用PostgreSQL数据库时,如果打开SQL_LOG
  13. # 则 vlog表不能创建  查看 vpgsql.h 发现是创建索引的
  14. # 命令格式不对。把他封掉就OK了。原文件vpgsql.h修改如下
  15. #
  16. #    229 #ifdef ENABLE_SQL_LOGGING
  17. #    230 #define VLOG_TABLE_LAYOUT "id serial, \
  18. #    231       userid char(32), passwd CHAR(32), \
  19. #    232       domain CHAR(64), logon VARCHAR(200), \
  20. #    233       remoteip char(18), message VARCHAR(255), \
  21. #    234       timestamp bigint default 0 NOT NULL, error INT "
  22. #    235 /*
  23. #    236       INDEX user_idx (userid), \
  24. #    237       INDEX domain_idx (domain), INDEX remoteip_idx (remoteip), \
  25. #    238       INDEX error_idx (error), INDEX message_idx (message)"
  26. #    239 */
  27. #    240 #endif
  28. ###########################################################################

  29. #安装路径
  30. INSTALLDIR="/home/vpopmail"

  31. #安装系统组名
  32. GROUP="vchkpw"

  33. #安装系统用户名
  34. USER="vpopmail"

  35. #qmail安装路径
  36. QMAILDIR="/var/qmail"

  37. #你的域名
  38. DOMAIN="domain.com"

  39. if [ "$1" == "clear" ] ; then
  40.         echo "make clean ..."
  41.         make clean
  42.         echo "Delete System User vpopmail ..."
  43.         userdel $USER
  44.         echo "Delete System Group vchkpw ..."
  45.         groupdel $GROUP
  46.         echo "Delete Vpopmail Install File ..."
  47.         rm -fr $INSTALLDIR
  48.         echo " "
  49.         echo "Delete Vpopmail Finished."
  50. fi

  51. #添加vpopmail组
  52. echo "Add group vchkpw ..."
  53. groupadd $GROUP -g 89

  54. #添加vpopmail用户
  55. echo "Add user vpopmail ..."
  56. useradd $USER -d $DOMAIN -u 89 -g $GROUP

  57. #安装路径
  58. PREFIX="--prefix=$INSTALLDIR"

  59. #附加包含的头文件路径 这里我使用PostgreSQL数据库
  60. INC_DIR="--enable-incdir=/home/postgres/include"

  61. #附加包含的库文件路径 这里我使用PostgreSQL数据库
  62. LIB_DIR="--enable-libdir=/home/postgres/lib"

  63. #是否允许漫游用户通过邮件服务器转发邮件:
  64. #支持漫游用户的原理是当某个漫游用户使用pop3取信以后,
  65. #则在某段时间内允许该地址通过邮件服务器收发邮件。
  66. #RO_USERS="--enable-roaming-users"
  67. RO_USERS="--disable-roaming-users"

  68. #漫游失效时间 默认为180分钟 即三个小时
  69. CLEAR_MIN="--enable-relay-clear-minutes=180"

  70. #写入系统日志级别:Log to syslog: n=nothing, e=errors only (default),
  71. # y=all attempts, p=errors with passwords, v=verbose
  72. # (all attempts, with passwords).
  73. LOG="--enable-logging=v"

  74. #是否使用系统认证 即是否使用 /etc/passwd /etc/shadow 系统文件进行认证
  75. #如果你使用系统帐户进行认证则开启。
  76. #如果使用数据库认证则该选项应关闭。
  77. #PASSWD="--enable-passwd"
  78. PASSWD="--disable-passwd"

  79. #是否使用加密密码,打开的话就为加密密码,默认使用加密密码。
  80. #如果数据库在本地的话使用明文密码没什么问题。嘿嘿效率高嘛。
  81. #使用明文密友可以减轻CPU压力
  82. #CLEAR_PASSWD="--disable-clear-passwd"
  83. CLEAR_PASSWD="--enable-clear-passwd"

  84. #是否使用VPOPMAIL的邮箱大小控制,默认为打开。
  85. #如果你想使用操作系统自带的大小控制,则关闭他。
  86. DOMAIN_QUOTAS="--enable-domainquotas"

  87. #用户认证方式
  88. #默认为cdb 可以使用mysql、pgsql、ldap、oracle、sybase等数据库或者
  89. #文件方式 即自行创建 用户与密码文件。
  90. #当然编译时必须包含他们使用的头文件与库文件。
  91. AUTH_MODULE="--enable-auth-module=pgsql"

  92. #是否打开认证日志
  93. AUTH_LOG="--enable-auth-logging"

  94. #使用数据库记录认证日志,支持mysql或者pgsql数据库。
  95. SQL_LOG="--enable-sql-logging"

  96. #是否把邮件别名控制文件放入MySQL数据库
  97. VALIAS="--disable-valias"

  98. #是否使用MySQL的limits来替换.qmailadmin-limits文件.
  99. MYSQL_LIMITS="--disable-mysql-limits"

  100. #vpopmail有一个密码自学习功能,就是在建立信箱时,密码设为空,
  101. #就会从客户端学习密码,也就是第一个pop3连上来的密码,
  102. #会被纪录并在以后的认证中使用。
  103. #可以通过察看vpasswd文件来看到这个过程。
  104. #在编译vpopmail时通过 --enable-learn-passwords=y 来打开这个功能。
  105. #遗憾的是这个功能只能在新建邮件账号时使用,在修改密码时不能用。
  106. LEARN_PASSWD="--enable-learn-passwords=n"

  107. #在虚拟域中是否允许通过反向IP地址查找虚拟域名
  108. IP_ALIAS="--enable-ip-alias-domains=n"

  109. # vpopmail运行时使用的用户
  110. USER="--enable-vpopuser=$USER"

  111. # vpopmail运行时使用的组
  112. GROUP="--enable-vpopgroup=$GROUP"

  113. #qmail安装路径
  114. QMAIL="--enable-qmaildir=$QMAILDIR"

  115. #是否使用散列算法设置用户邮件目录
  116. #如果你的用户非常多则开启此选项。
  117. #BIG_DIR="--enable-users-big-dir"
  118. BIG_DIR="--disable-users-big-dir"

  119. #所有虚拟域用户在一个数据库表中
  120. #如果关闭,则一个虚拟域一张表, 该选项仅支持MYSQL与PostgreSQL数据库。
  121. #推荐在虚拟域多而且用户也比较多的情况下,同时认证数据库为
  122. #MYSQL或者PostgreSQL的时候,打开此选项,可提高数据库效率。
  123. #ONE_SQL_TAB="--disable-many-domains
  124. ONE_SQL_TAB="--enable-many-domains"

  125. #使用DES crypt()算法替换MD5算法来加密密码
  126. ENCRY_PASSWD="--disable-md5-passwords"

  127. #是否使用文件锁, 默认为打开文件锁。
  128. #FILE_LOCK="--disable-file-locking"
  129. FILE_LOCK="--enable-file-locking"

  130. #是否使用文件即时写入磁盘功能,默认为关闭。
  131. #如果打开,会增加磁盘的读写次数。
  132. #FILE_SYNC="--enable-file-sync"
  133. FILE_SYNC="--disable-file-sync"

  134. #是否强制把进来的邮件先放到一个临地目录下, 形成搜索列表,
  135. #然后再进行投递。
  136. #如果收发邮件非常多的话,就打开吧。默认为关闭
  137. #注:这个选项不知我理解的是不是正确。如果有错误,请告之。
  138. #SEEK="--disable-make-seekable"
  139. SEEK="--enable-make-seekable"

  140. COMP="./configure $PREFIX $INC_DIR $LIB_DIR $RO_USERS $CLEAR_MIN"
  141. COMP="$COMP $LOG $PASSWD $CLEAR_PASSWD $DOMAIN_QUOTAS"
  142. COMP="$COMP $AUTH_MODULE $AUTH_LOG $SQL_LOG $VALIAS $MYSQL_LIMITS"
  143. COMP="$COMP $LEARN_PASSWD $IP_ALIAS $USER $GROUP $QMAIL $BIG_DIR"
  144. COMP="$COMP $ONE_SQL_TAB $ENCRY_PASSWD $FILE_LOCK $FILE_SYNC $SEEK"

  145. #清除编译环境
  146. make clean

  147. #设置编译环境
  148. $COMP

  149. #编译
  150. make

  151. #安装
  152. make install-strip

  153. #设置SMTP规则,关闭外部RELAY 只允许本机RELAY
  154. echo '127.0.0.1:allow,RELAYCLIENT=""' >; $INSTALLDIR/etc/tcp.smtp
  155. tcprules $INSTALLDIR/etc/tcp.smtp.cdb $INSTALLDIR/etc/tcp.smtp.tmp < $INSTALLDIR/etc/tcp.smtp

  156. #设置默认域名
  157. echo $DOMAIN >; $INSTALLDIR/etc/defaultdomain

  158. #设置邮箱容量达到90%的警告信息
  159. echo "From: 邮箱管理员
  160. Reply-To: postmaster@domain.com
  161. To: 邮箱用户
  162. Subject: 邮箱空间警告
  163. Mime-Version: 1.0
  164. Content-Type: text/html; charset=gb2312
  165. Content-Transfer-Encoding: base64

  166. 您的邮箱空间已经达到90%.如果想继续使用,请删除一些信件.

  167. 如果需要帮助,请联系邮箱管理员:

  168. Email : postmaster@domain.com

  169. " >; $INSTALLDIR/domains/.quotawarn.msg

  170. # 设置邮箱已满的警告信息
  171. echo "邮件被拒绝,用户的邮箱空间已满." >; $INSTALLDIR/domains/.over-quota.msg

  172. echo ""
  173. echo "Vpopmail Install Finshed."
复制代码

论坛徽章:
0
2 [报告]
发表于 2005-05-15 23:04 |只看该作者

vpopmail5.4.10中文说明编译脚本

如果使用maildrop,那是需要enable-make-seekable的支持的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP