本文版权归作者所有,如其他个人、第三方网站或媒体报刊等需转载全文或节选,为支持我们的工作,请务必注明如下信息:
如果因此而给您带来麻烦,请您原谅,谢谢合作。
变更说明
本文档详细讲述Extmail的配置参数,给用户提供Extmail配置参数的使用参考。
本文档假设读者具有一定的Unix平台 / Linux平台系统经验,懂得vi编辑器的基本使用,并且懂得基本Extmail系统的安装(具体Extmail系统安装问题请参考相关Extmail HOWTO)。
本文档所有内容基于ExtMail 1.1.0 和ExtMan 1.0.0版本,并由Extmail项目组根据Extmail项目的建设和发展,适时予以更新。如手册与实际项目情况有冲突,以文档服从实际为原则。
webmail.cf文件用来对webmail的核心配置进行设定,该配置文件对Extmail至关重要。
存放路径:/var/www/extsuite/extmail/webmail.cf
注:如果没有按照官方HowTO安装系统,路径可能会有所不同,请根据您系统的实际情况而定。
参数说明:
SYS_CONFIG = # 程序根目录路径,此路径必须指向extmail目录;
SYS_LANGDIR = # 语言包目录路径,此路径必须指向extmail/lang目录;
SYS_TEMPLDIR = # 系统模板目录路径,此路径必须指向extmail/html目录;
SYS_HTTP_CACHE = # 系统HTTP缓存开关,1为开,0为关;
SYS_SMTP_HOST = # 系统SMTP主机名
SYS_SHOW_WARN = # 设置为1时,打印隐含的系统警告信息到标准输出(网页),默认为0;
SYS_IP_SECURITY_ON = # 首页登陆时ip安全,设置为1时不打开,便于管理员设置全局,而不需要改模板;
SYS_PERMIT_NOQUOTA = # 设置为0时,系统将不限制邮箱容量,默认设置为1;
SYS_SESS_DIR = # 系统当前会话文件的保存目录,默认为/tmp/;
SYS_LOG_ON = # 设置为1时系统将记录web登陆的日志,设置为0时不记录(日志记录在何处由SYS_LOG_TYPE参数控制);
SYS_LOG_TYPE = # 系统log的记录方式,有以下3种情况: # file:自定义文件(具体文件,由SYS_LOG_FILE参数控制); # syslog:系统syslogd指定的mail.*文件; # nosyslog:系统syslogd指定的非本机的log文件;
SYS_LOG_FILE = # 若sys_log_type 参数设置为files,此项指定files文件路径;
SYS_SESS_TIMEOUT = # 系统超时设置,默认为3小时; # 格式number+(s|m|h|d|M|y); 或者单纯数字,0代表系统超时为0秒 # 但是如果参数sys_sess_cookie_only设置为1则代表会话将在关闭浏览器后过期;
SYS_SPAM_REPORT_ON = # 系统spam报告开关;1为开,0为关;
SYS_SPAM_REPORT_TYPE = # 系统spam报告类型,默认为dspam;
SYS_SESS_COOKIE_ONLY # 该参数是指SID获取的来源。如果设置为1,则只根据cookie里的SID来获得,如果设置 # 为0,则同时从cookie及URL里取,如果没cookie则从URL里取。一般对于不支持cookie的浏览器,得设置为0;
SYS_USER_PSIZE = # webmail列表时,每页显示邮件数。默认10;
SYS_USER_SCREEN = # 屏幕显示分辨率设置,默认auto; # auto => full text # screen1 => 800x600 # screen2 => 1024x768 # screen3 => 1280x1024
SYS_USER_LANG = # 用户默认语言,中文可以设置为zh_CN;
SYS_APP_TYPE = # 当前配置文件对应的应用程序类型。必须填写Webmail;
SYS_USER_TEMPLATE = # 指定界面风格模板文件,默认为default;
SYS_USER_CHARSET = # 指定用户默认字符集,中文可以设置为gb2312;
SYS_USER_TRYLOCAL = # 系统默认编码为utf8,外发邮件时,该参数控制是否尝试将邮件内容转成其他内码 # 可以转成对应的本地编码,例如gbk、big5、shift-jis等,1转、0是不转; # 注意:如果设置了0但用户在偏好设置需要转换,系统还是会转换内码;
SYS_USER_TIMEZONE = # 指定用户默认时区,默认为东八区:+0800;
SYS_USER_CCSENT = 1 SYS_USER_SHOW_HTML = 1 SYS_USER_COMPOSE_HTML = 1 SYS_USER_CONV_LINK =1 SYS_USER_ADDR2ABOOK = 1 # 系统默认用户参数;
SYS_MESSAGE_SIZE_LIMIT = # 该参数控制写邮件时,单封信件的最大尺寸。以byte为单位,比如: 5242880 代表5MB;
SYS_MIN_PASS_LEN = # 指定邮件账户最短密码长度,默认2;
SYS_MFILTER_ON = # 过滤器开关;1为开,0为关;
SYS_NETDISK_ON = # 网络磁盘开关;1为开,0为关;若设置了0,则即使在extman内打开用户网络磁盘功能 # 用户都不能使用该功能;
SYS_SHOW_SIGNUP = # 首页“注册免费邮箱”的按钮显示开关;1为显示,0为关闭;
SYS_AUTH_TYPE = # 系统认证方式, 可选:mysql/ldap/authlib;
SYS_MAILDIR_BASE = # 邮件数据存放目录路径,必须使用绝对路径,比如:/home/domains;
SYS_AUTH_SCHEMA = virtual # 该设置有3个参数:vpopmail1/vpopmail2/virtual; # virtual即虚拟帐户; # vpopmail1 => all user accounts in one table 为对qmail+vpopmail(mysql版)的支持; # vpopmail2 => accounts in per domain table 为对qmail+vpopmail(mysql版)的支持;
SYS_CRYPT_TYPE = # 密码加密方式,支持以下方式: # crypt|cleartext|plain|md5|md5crypt|plain-md5|ldap-md5|sha|sha1;
注:Extmail密码格式介绍:
1、scheme(密码模型)
Extmail支持明文,crypt,md5,md5crypt,sha/sha1等主流的9-10种密码格式,采用如下的方法映射: CRYPT => crypt MD5 => md5 PLAIN-MD5 => plain_md5 LDAP-MD5 => ldap_md5 SHA => sha SHA1 => sha CLEARTEXT => clear PLAIN => clear
2、格式说明
Extmail可以辨认以下3种密码格式:
a、 $1$hhhhhh$xxxxxxxxxxx 该格式以md5()结果为基础,用一串hhhhhh(随机数)的hash对md5进行加密得到的密码, xxxxxxxxxxxxx 就是md5密文数据,它的特征是以$1$为前缀,符合此说明的格式就是md5crypt。 例:$1$187665$G.H.mgUc6NDNY
b、 {xxxx}yyyyyyyyyyyyyyy
该格式,{}里面是明文指定了密码模型,之后为加密数据。
比如:{MD5}xxxxxxxxxxxx,代表以MD5为加密方式,而xxxxxxxxxxxxx就是md5密文数据。
例:{CRYPT}ONHMD5XB/E8vk
c、 xxxxxxxxxxxxxxxxxxxxx 该格式是没有任何特征的密文,如果采用该格式,必须手工在webmail.cf和webman.cf的SYS_CRYPT_TYPE参数指定密码格式。 例:WdJmMDGalzcJY
SYS_MYSQL_USER = # MYSQL数据库用户信息设置,默认为:extmail;
SYS_MYSQL_PASS = # MYSQL数据库用户密码设置;
SYS_MYSQL_DB = # MYSQL数据库名设置;
SYS_MYSQL_HOST = # MYSQL数据库主机,默认为:localhost;
SYS_MYSQL_SOCKET = # MYSQL数据库SOCKET位置设置,默认为:/var/lib/mysql/mysql.sock;
SYS_MYSQL_TABLE = mailbox SYS_MYSQL_ATTR_USERNAME = username SYS_MYSQL_ATTR_DOMAIN = domain SYS_MYSQL_ATTR_PASSWD = password SYS_MYSQL_ATTR_QUOTA = quota SYS_MYSQL_ATTR_NDQUOTA = netdiskquota SYS_MYSQL_ATTR_HOME = homedir SYS_MYSQL_ATTR_MAILDIR = maildir # Extmail使用的MYSQL表设置,请不要修改默认配置;
SYS_MYSQL_ATTR_CLEARPW = clearpwd # 为了方便管理员对账户的管理,该设置用来保存明文密码; # 如果不需要该功能请注释掉此设置;
SYS_MYSQL_ATTR_DISABLEWEBMAIL = disablewebmail SYS_MYSQL_ATTR_DISABLENETDISK = disablenetdisk SYS_MYSQL_ATTR_DISABLEPWDCHANGE = disablepwdchange SYS_MYSQL_ATTR_ACTIVE = active # attr_disable**主要是设置是否打开禁用某个特性的功能。如果注释掉,那么即使数据库存在这个字段也会无效。比如disablewebmail,即支持用户登录webmail。 # 注:修改过该设置后,用户必须logout才能生效;
SYS_LDAP_BASE = o=extmailAccount,dc=example.com SYS_LDAP_RDN = cn=Manager,dc=example.com SYS_LDAP_PASS = secret SYS_LDAP_HOST = localhost # LDAP配置信息;
SYS_LDAP_ATTR_USERNAME = mail SYS_LDAP_ATTR_DOMAIN = virtualDomain SYS_LDAP_ATTR_PASSWD = userPassword # ldif配置属性;
SYS_LDAP_ATTR_CLEARPW = clearPassword SYS_LDAP_ATTR_QUOTA = mailQuota SYS_LDAP_ATTR_NDQUOTA = netdiskQuota SYS_LDAP_ATTR_HOME = homeDirectory SYS_LDAP_ATTR_MAILDIR = mailMessageStore SYS_LDAP_ATTR_DISABLEWEBMAIL = disablewebmail SYS_LDAP_ATTR_DISABLENETDISK = disablenetdisk SYS_LDAP_ATTR_DISABLEPWDCHANGE = disablePasswdChange SYS_LDAP_ATTR_ACTIVE = active # 参见SYS_MYSQL_ATTR*相关解释;
SYS_AUTHLIB_SOCKET = /var/spool/authdaemon/socket # authlib socket存放位置;
SYS_G_ABOOK_TYPE = # 全局地址本设置,可选ldap和file;
SYS_G_ABOOK_LDAP_HOST = localhost SYS_G_ABOOK_LDAP_BASE = ou=AddressBook,dc=example.com SYS_G_ABOOK_LDAP_ROOTDN = cn=Manager,dc=example.com SYS_G_ABOOK_LDAP_ROOTPW = secret SYS_G_ABOOK_LDAP_FILTER = objectClass=OfficePerson #当SYS_G_ABOOK_FILE设置为file,对应LDAP的配置;
SYS_G_ABOOK_FILE_PATH = /var/www/html/extmail/globabook.cf SYS_G_ABOOK_FILE_LOCK = 1 SYS_G_ABOOK_FILE_CONVERT = 0 SYS_G_ABOOK_FILE_CHARSET = utf-8 # 当SYS_G_ABOOK_FILE设置为file,对应file的配置;
webman.cf文件用来对Extman的核心配置进行设定,该配置文件对Extman至关重要。
存放路径:/var/www/extsuite/extman/webman.cf
注:如果没有按照官方HowTO安装系统,路径可能会有所不同,请根据您系统的实际情况而定。
参数说明:
SYS_CONFIG = # 程序根目录路径,此路径必须指向extman目录;
SYS_LANGDIR = # 语言包目录路径,此路径必须指向extman/lang目录;
SYS_TEMPLDIR = # 系统模板目录路径,此路径必须指向extman/html;
SYS_MAILDIR_BASE = # 邮件数据存放路径,必须为绝对路径,比如:/home/domains;
SYS_SHOW_WARN = # 设置为1时,打印隐含的系统警告信息到标准输出(网页),默认为0;
SYS_SESS_DIR = # 系统当前会话文件的保存目录,默认为/tmp/extman/;
SYS_CAPTCHA_ON = # 设置为1需要认证码登录extman,0不需认证码;
SYS_CAPTCHA_KEY = # 认证码的key随便输入一个字符串就行;
SYS_CAPTCHA_LEN = # 认证码的长度,默认为5;
SYS_PURGE_DATA = # 该设置控制删除用户时默认是否完全删除用户数据,0为否,1为是;
SYS_PSIZE = # 用户或域列表时,每页显示数据数目。默认20;
SYS_APP_TYPE = # 当前配置文件对应的应用程序类型。必须填写ExtMan;
SYS_TEMPLATE_NAME = # 指定界面风格模板文件,默认为default;
SYS_DEFAULT_EXPIRE = # 默认过期时间,格式:?y ?m ?d;
SYS_GROUPMAIL_SENDER = # 使用群发邮件模块,系统默认的发件人,例:postmaster@extmail.org;
SYS_DEFAULT_SERVICES = # 设置系统开放的功能,包括: smtpd, smtp, webmail, netdisk, imap, pop3 # (多参数以 "," 为分割符);
SYS_ISP_MODE = # 是否采用ISP模式,格式:yes|no – 如果yes,系统将采用 HashDir 模式来存放数据目录;
SYS_DOMAIN_HASHDIR = # 如果SYS_ISP_MODE =yes,此设置用来控制域目录是否采用HashDir 模式,格式:yes|no;
SYS_DOMAIN_HASHDIR_DEPTH = # 域目录HashDir的设置, 格式:长度x深度,如:2x1 => 长度 =2, 深度 =1 # 注:该参数生效必须:sys_isp_mode = yes;
SYS_USER_HASHDIR = # 如果SYS_ISP_MODE =yes,此设置用来控制用户数据目录是否采用HashDir 模式 # 格式:yes|no;
SYS_USER_HASHDIR_DEPTH = # 参见SYS_DOMAIN_HASHDIR_DEPTH;
SYS_DOMAIN_ROUTING_LIST = # 简单的分布存储设置,该参数为Domain级的路由设置。格式:transport 手册里规定的 # 格式都合法。如:lmtp:mx1.extmail.org,lmtp:mx2.extmail.org。 # 注意:必须设置 ISP_mode=yes才能生效;
SYS_USER_ROUTING_LIST = # 简单的分布存储设置,该参数为User级的路由设置。格式:transport 手册里规定的 # 格式都合法。如:smtp:[192.168.2.130],smtp:[192.168.2.128]。 # 注意:必须设置 ISP_mode=yes才能生效;
SYS_MIN_UID = # 系统最小UID设置;
SYS_MIN_GID = # 系统最小GID设置;
SYS_DEFAULT_UID = # 系统默认UID设置,如果为空,webman则忽略次参数;
SYS_DEFAULT_GID = # 系统默认GID设置,如果为空,webman则忽略次参数;
SYS_QUOTA_MULTIPLIER = # 该设置用来设定1MB的实际字节数;
SYS_QUOTA_TYPE = # 空间限制方法参数设置,可用参数:vda|courier;
SYS_DEFAULT_MAXQUOTA = # 添加域时,默认最大限额大小,单位MB;
SYS_DEFAULT_MAXALIAS = # 添加域时,默认最大别名数;
SYS_DEFAULT_MAXUSERS = # 添加域时,默认最大用户数;
SYS_DEFAULT_MAXNDQUOTA = # 添加域时,默认最大网络磁盘限额,单位MB;
SYS_USER_DEFAULT_QUOTA = # 添加用户时,默认磁盘限额,单位MB;
SYS_USER_DEFAULT_NDQUOTA = # 添加用户时,默认网络磁盘大小,单位MB;
SYS_USER_DEFAULT_EXPIRE = # 添加用户时,默认过期时间, 格式:?y ?m ?d;
SYS_BACKEND_TYPE = # 系统后台数据库设置,可用参数:mysql|ldap;
SYS_CRYPT_TYPE = crypt # 密码加密方式,支持以下方式: # crypt|cleartext|plain|md5|md5crypt|plain-md5|ldap-md5|sha|sha1; # 详见:webmail.cf SYS_CRYPT_TYPE 参数之Extmail密码格式介绍;
SYS_MYSQL_USER = # MYSQL数据库用户信息设置,默认为:webman;
SYS_MYSQL_PASS = # MYSQL数据库用户密码设置;
SYS_MYSQL_DB = # MYSQL数据库名设置;
SYS_MYSQL_HOST = # MYSQL数据库主机,默认为:localhost;
SYS_MYSQL_SOCKET = /var/lib/mysql/mysql.sock # MYSQL数据库SOCKET位置设置,默认为:/var/lib/mysql/mysql.sock;
SYS_MYSQL_TABLE = manager SYS_MYSQL_ATTR_USERNAME = username SYS_MYSQL_ATTR_PASSWD = password # Extman使用的MYSQL表设置,请不要修改默认配置;
SYS_MYSQL_ATTR_CLEARPW = clearpwd # 为了方便管理员对账户的管理,该设置用来保存明文密码; # 如果不需要该功能请注释掉此设置;
SYS_LDAP_BASE = dc=extmail.org SYS_LDAP_RDN = cn=Manager,dc=extmail.org SYS_LDAP_PASS = secret SYS_LDAP_HOST = localhost SYS_LDAP_ATTR_USERNAME = SYS_LDAP_ATTR_PASSWD = # LDAP配置信息;
# SYS_LDAP_ATTR_CLEARPW = clearPassword # 参见SYS_MYSQL_ATTR_CLEARPW相关解释;
SYS_RRD_DATADIR = # rrd图形数据目录;
SYS_RRD_TMPDIR = # rrd图形数据临时路径;
SYS_RRD_QUEUE_ON = # 图形日志中,是否显示队列信息;
SYS_CMDSERVER_SOCK = # cmdserver服务的sock路径
SYS_CMDSERVER_MAXCONN # cmdserver服务最大连接
SYS_CMDSERVER_PID = # cmdserver服务的PID文件路径
SYS_CMDSERVER_LOG = # cmdserver服务的日志文件路径
SYS_CMDSERVER_AUTHCODE = # cmdserver服务验证码
SYS_IGNORE_SERVER_LIST # 忽略服务器列表