首先复制发行版的配置文件,并创建日志文件。日志文件的所有者必须是运行 web 服务器的用户。这通常是用户 “nobody” 或 “wwwrun”。
cd /usr/local/apache/htdocs/web-cyradm/config cp conf.php.dist conf.php touch /var/log/web-cyradm-login.log chown nobody /var/log/web-cyradm-login.log |
#The Cyrus login stuff $CYRUS = array( 'HOST' => 'localhost', 'PORT' => 143, 'ADMIN' => 'cyrus', 'PASS' => 'secret' ); |
这应该是自解释的。请注意,目前不支持 SSL 连接,这对于希望在与运行 cyrus-imapd 的服务器不同的服务器上运行 web-cyradm 的用户来说尤其重要。
自 0.5.2 版本起,web-cyradm 使用 PEAR 作为数据库抽象层。这增加了更多的灵活性。目前支持 MySQL 和 PostgreSQL。请注意,PostgreSQL 需要一个补丁,因为 Postfix 本身不支持 PostgreSQL。我强烈建议您使用 MySQL。我知道 MySQL 在事务等方面有一些限制,但它在发布的 Postfix 代码中是受支持的。
这些条目应该是自解释的
$DB = array( 'TYPE' => 'mysql', 'USER' => 'mail', 'PASS' => 'secret', 'PROTO' => 'unix', // set to "tcp" for TCP/IP 'HOST' => 'localhost', 'NAME' => 'mail' ); |
Web-cyradm 支持存储加密密码。我强烈建议使用加密。目前支持三种方法:Unix 兼容 (crypt)、md5 和 MySQL。Unix 兼容加密允许您从现有的/etc/shadow导入加密密码。这是首选选项。
不幸的是,MySQL 使用专有的加密方法,该方法仅在使用 MySQL 时可用。我目前正在考虑放弃对 MySQL 加密的支持,因为它仅适用于 MySQL,并且使得迁移到另一个数据库变得不可能。一旦有一种方法可以在 PHP 上重新设计 MySQL 加密,就会有一个解决方案(需要编程方面的帮助,法律限制?)
检查变量$CRYPT在文件config.inc.php中。值 “plain” 表示不加密,“crypt” 表示 Shadow 兼容加密,mysql 表示 MySQL 加密。
![]() | 仔细选择加密方法 |
---|---|
由于支持的加密方法都是单向加密,因此将无法从一种方法迁移到另一种方法。另请注意,这是一个全局变量,它用于所有密码,包括管理员用户的密码。我强烈建议使用 Unix Shadow 兼容加密,因为它使您独立于任何软件供应商。 |
支持两种用户名方案,它们在变量 “DOMAIN_AS_PREFIX” 中定义。默认设置是使用定义的前缀 ($DOMAIN_AS_PREFIX=0),例如域名 “example.com” 的前缀为 “test”。使用此方案,第一个用户获得用户名 test0001,第二个用户获得 test0002,依此类推。
另一种方案是使用像 “hans.mueller.example.com” 这样的用户名。如果使用这种情况,请设置 $DOMAIN_AS_PREFIX=1
目前,您不能混合使用这两种方案,请仔细评估哪种方案最符合您的需求
如果您选择使用 $DOMAIN_AS_PREFIX=1,请确保您取消注释选项unixhierarchysep: yes如 7.1.2 节 中所述