8. 配置 Web-cyradm

首先复制发行版的配置文件,并创建日志文件。日志文件的所有者必须是运行 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

8.1. Cyrus 设置

#The Cyrus login stuff
$CYRUS = array(
        'HOST'  => 'localhost',
        'PORT'  => 143,
        'ADMIN' => 'cyrus',
        'PASS'  => 'secret'
);

这应该是自解释的。请注意,目前不支持 SSL 连接,这对于希望在与运行 cyrus-imapd 的服务器不同的服务器上运行 web-cyradm 的用户来说尤其重要。

8.2. 数据库设置

自 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'
);

8.3. 默认配额

要使用的默认配额在变量中设置DEFAULT_QUOTA=20000并在创建新域时使用

8.4. 加密密码

Web-cyradm 支持存储加密密码。我强烈建议使用加密。目前支持三种方法:Unix 兼容 (crypt)、md5 和 MySQL。Unix 兼容加密允许您从现有的/etc/shadow导入加密密码。这是首选选项。

不幸的是,MySQL 使用专有的加密方法,该方法仅在使用 MySQL 时可用。我目前正在考虑放弃对 MySQL 加密的支持,因为它仅适用于 MySQL,并且使得迁移到另一个数据库变得不可能。一旦有一种方法可以在 PHP 上重新设计 MySQL 加密,就会有一个解决方案(需要编程方面的帮助,法律限制?)

检查变量$CRYPT在文件config.inc.php中。值 “plain” 表示不加密,“crypt” 表示 Shadow 兼容加密,mysql 表示 MySQL 加密。

Caution仔细选择加密方法
 

由于支持的加密方法都是单向加密,因此将无法从一种方法迁移到另一种方法。另请注意,这是一个全局变量,它用于所有密码,包括管理员用户的密码。我强烈建议使用 Unix Shadow 兼容加密,因为它使您独立于任何软件供应商。

8.5. 用户名

支持两种用户名方案,它们在变量 “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: yes7.1.2 节 中所述