在Debian Jessie上通过PEAR安装Horde 5 Webmail for ISPConfig

Horde是一个组件套件,提供电子邮件,日历,任务,联系人管理和更多的东西。它还提供SyncML和ActiveSync同步...

部落是一个组件套件,提供电子邮件,日历,任务,联系人管理和更多的东西。 它还提供SyncML和ActiveSync与您的手机或其他软件同步。 您可以在他们的网页上找到关于部落的更多信息: http : //www.horde.org/

这个Howto假设你遵循了Debian Jessie(Apache2,Bind,Dovecot)的ISPConfig 3安装以及所有的软件包。

1.安装必要的包装

apt-get install php5-sasl php5-intl libssh2-php php5-curl php-http php5-xmlrpc php5-geoip php5-ldap php5-memcache php5-memcached php5-tidy

2.删除冲突的包

php5-xcache包不支持部落。 而不是php5-xcache,其他缓存工具之一可以像memcache一样使用。

apt-get remove php5-xcache

3.注册部落梨通道

pear channel-discover pear.horde.org

4.设置部落安装目录

pear install horde/horde_role
pear run-scripts horde/horde_role

你会被问到以下问题:

基本部落应用程序的文件系统安装: / var / www / horde

您还可以为网络访问的部落文件选择另一个文件夹。 但是,您需要按照以下步骤调整路径。

5.安装部落组件Webmail版

pear install -a -B horde/webmail

这需要一段时间,并且在丢失梨包时会有一些错误。 那些将在以后修复。

6.创建MySQL数据库

部落安装脚本不会自行创建MySQL数据库。 所以我们必须先创建它,也可以根据用户创建它。

输入MySQL shell

mysql -u root -p

输入后,使用密码“PASSWORD”创建数据库和用户'部落'。 如果要更改数据库名称,用户名,请根据信息更改。 当然设置你自己的密码。

CREATE DATABASE horde;
GRANT ALL ON horde.* TO horde@localhost IDENTIFIED BY 'PASSWORD';
FLUSH PRIVILEGES;

再次退出MySQL Shell

exit;

7.运行安装脚本

webmail-install

你会被问到以下问题:

我们应该使用什么数据库后端? mysql

用户名连接到数据库为: 您在上一步中设置的用户名

要连接 的密码:您在上一步中设置的密码

我们应该如何连接到数据库? unix

UNIX套接字的位置: 只需按[Enter]

要使用 的数据库名称:您在上一步中设置的数据库名称

内部使用的字符集: utf-8

使用SSL连接到服务器: 0 *

认证机构用于SSL连接: 只需按[输入]

分割读取到不同的服务器?

指定要授予管理员权限的现有邮件用户(可选): user@domain.tld **

*只有您可以为每个域提供SSL证书,才将SSL设置为1。

**选择现有的电子邮件用户。 那个用户然后具有部落内部的配置权限。 这是创建初始配置文件所必需的。

8.为Apache用户创建自定义phptmp文件夹和chown horde文件夹

mkdir /var/www/horde/phptmp/
chown -R www-data:www-data /var/www/horde

9.添加其他PEAR组件

pear install channel://pear.php.net/Console_GetoptPlus-1.0.0RC1
pear install horde/Horde_ManageSieve
pear install channel://pear.php.net/XML_Serializer-0.20.2
pear install channel://pear.php.net/Date_Holidays-0.21.8
pear install channel://pear.php.net/Text_LanguageDetect-0.3.0
pear install pear/HTTP_Request2
pear install channel://pear.php.net/Console_Color2-0.1.2
pear install channel://pear.php.net/Numbers_Words-0.18.1
pear install channel://pear.php.net/Image_Text-0.7.0
pear install pear/Console_Getargs

10.添加本地PEAR假日日历(可选)

PEAR中已有几个假日日历。 默认情况下,它们未安装。 如果要安装,请选择一个或多个以下日历。 这使得部落Kronolith(=日历)能够显示该国的假期。 当然,您也可以将自己的自定义日历添加到PEAR安装。

pear install channel://pear.php.net/Date_Holidays_Australia-0.2.2
pear install channel://pear.php.net/Date_Holidays_Austria-0.1.6
pear install channel://pear.php.net/Date_Holidays_Brazil-0.1.2
pear install channel://pear.php.net/Date_Holidays_Croatia-0.1.1
pear install channel://pear.php.net/Date_Holidays_Czech-0.1.0
pear install channel://pear.php.net/Date_Holidays_Denmark-0.1.3
pear install channel://pear.php.net/Date_Holidays_Discordian-0.1.1
pear install channel://pear.php.net/Date_Holidays_EnglandWales-0.1.5
pear install channel://pear.php.net/Date_Holidays_Finland-0.1.2
pear install channel://pear.php.net/Date_Holidays_Germany-0.1.2
pear install channel://pear.php.net/Date_Holidays_Iceland-0.1.2
pear install channel://pear.php.net/Date_Holidays_Ireland-0.1.3
pear install channel://pear.php.net/Date_Holidays_Italy-0.1.1
pear install channel://pear.php.net/Date_Holidays_Japan-0.1.3
pear install channel://pear.php.net/Date_Holidays_Netherlands-0.1.4
pear install channel://pear.php.net/Date_Holidays_Norway-0.1.2
pear install channel://pear.php.net/Date_Holidays_PHPdotNet-0.1.2
pear install channel://pear.php.net/Date_Holidays_Portugal-0.1.1
pear install channel://pear.php.net/Date_Holidays_Romania-0.1.2
pear install channel://pear.php.net/Date_Holidays_SanMarino-0.1.1
pear install channel://pear.php.net/Date_Holidays_Serbia-0.1.0
pear install channel://pear.php.net/Date_Holidays_Slovenia-0.1.2
pear install channel://pear.php.net/Date_Holidays_Spain-0.1.4
pear install channel://pear.php.net/Date_Holidays_Sweden-0.1.3
pear install channel://pear.php.net/Date_Holidays_Turkey-0.1.1
pear install channel://pear.php.net/Date_Holidays_Ukraine-0.1.2
pear install channel://pear.php.net/Date_Holidays_UNO-0.1.3
pear install channel://pear.php.net/Date_Holidays_USA-0.1.1
pear install channel://pear.php.net/Date_Holidays_Venezuela-0.1.1

11.使用以下内容创建/etc/apache2/conf-available/horde.conf

Alias /Microsoft-Server-ActiveSync /var/www/horde/rpc.php
Alias /horde /var/www/horde
<Directory /var/www/horde>
           Options +FollowSymLinks
           AllowOverride All
           Require all granted
           AddType application/x-httpd-php .php
           php_value include_path ".:/usr/share/php"
           php_value open_basedir "none"
           php_value upload_tmp_dir "/var/www/horde/phptmp/"
</Directory>

然后启用这个新的apache配置代码段:

a2enconf horde

12.重新启动apache

/etc/init.d/apache2 restart

13.编辑/var/www/horde/config/conf.php并设置

$conf['testdisable'] = false; 

14.在任何域中打开部门测试页

http://www.domain.com/horde/test.php

大多数设置现在应该是好的。 但是,您可能想要修改一些默认的PHP垃圾回收内容。

重新编辑/var/www/horde/conf/conf.php并禁用测试页面

$conf['testdisable'] = true;

15.修复BaseRewrite选项

默认设置将无法正确识别BaseRewrite选项,并使Nag无法添加/编辑条目。 要解决这个问题,您需要编辑/var/www/horde/.htaccess文件并进行搜索

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    RewriteCond   %{REQUEST_FILENAME}  !-d
    RewriteCond   %{REQUEST_FILENAME}  !-f
    RewriteRule ^(.*)$ rampage.php [QSA,L]
</IfModule>

并用此替换整个块

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /horde
    RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    RewriteCond   %{REQUEST_FILENAME}  !-d
    RewriteCond   %{REQUEST_FILENAME}  !-f
    RewriteRule ^(.*)$ rampage.php [QSA,L]
</IfModule>

注意:当您更新部落时,此文件可能会被覆盖。 在这种情况下,只需再次编辑。

16.允许用户从部落更改密码(可选)

部落可以让人们从部落内改变他们的ISPConig密码。 为此,部落提供了需要配置为使用ISPConfig的Passwd插件

安装插件并将其选中给Apache用户:

pear install -a -B horde/passwd
chown -R www-data:www-data /var/www/horde/passwd

部落还提供了一种使用本地值更改配置文件的简单方法。 这是通过将现有的配置文件(例如conf.php)复制到conf.local.php来完成的。 如果您要更改部分部落应用程序的默认首选项设置,例如默认使用24小时时钟,这可能很有用。 因此,您可以为新用户提供均匀的启动配置。 Passwd插件也是一样。 通过使用本地配置文件,我们确保,未来的部落更新不会覆盖我们的设置。

cp -a /var/www/horde/passwd/config/backends.php /var/www/horde/passwd/config/backends.local.php

上面的命令是一行。

现在编辑/var/www/horde/passwd/config/backends.local.php文件并搜索

$backends['sql'] = array (
  'disabled' => false,
  'name' => 'SQL Server',
  [...]
    // 'query_lookup' => 'SELECT user_pass FROM horde_users WHERE user_uid = %u',
    // 'query_modify' => 'UPDATE horde_users SET user_pass = %e WHERE user_uid = %u',
  ),
);

并用此替换整个块

$backends['sql'] = array (
  'disabled' => false,
  'name' => 'SQL Server',
  'preferred' => '',
  'policy' => array(
    'minLength' => 7,
    'maxLength' => 64,
    'maxSpace' => 0,
    'minNumeric' => 1,
  ),
  'driver' => 'Sql',
  'params' => array(
    'phptype' => 'mysql',
    'hostspec' => 'localhost',
    'username' => 'root',
    'password' => '***',
    'encryption' => 'crypt-md5',
    'database' => 'ISPCONFIG_DATABASE',
    'table' => 'mail_user',
    'user_col' => 'email',
    'pass_col' => 'password',
    'show_encryption' => false
    // The following two settings allow you to specify custom queries for
    // lookup and modify functions if special functions need to be
    // performed. In places where a username or a password needs to be
    // used, refer to this placeholder reference:
    // %d -> gets substituted with the domain
    // %u -> gets substituted with the user
    // %U -> gets substituted with the user without a domain part
    // %p -> gets substituted with the plaintext password
    // %e -> gets substituted with the encrypted password
    //
    // 'query_lookup' => 'SELECT user_pass FROM horde_users WHERE user_uid = %u',
   // 'query_modify' => 'UPDATE horde_users SET user_pass = %e WHERE user_uid = %u',
  ),
);

当然,用root MySQL密码替换密码,并将数据库名称更改为ISPConfig数据库名称。 一旦更改,您可以使用Passwd工具来更改部落内的密码。

策略部分允许您为密码必须显示的样式设置各种选项。 在此设置中,必须至少包含7个字符,并且必须至少包含1个数字,不能有空格。 检查此文件的开头,找出其他选项。

最后的事情

完成所有更改后,请登录部门的管理用户。 在webmail安装脚本设置期间设置的电子邮件用户。 登录后,进入管理部分,然后部署配置并创建所有必需的配置。 首先,您可以使用刚创建的按钮,也可以选择自己查看每个部落应用程序的配置,并应用所需的更改。

部落还提供进一步的应用。 访问http://www.horde.org/apps看看有什么。

部落还提供一个RSS提要,以便您将收到有关较新版本和更新的通知,请参阅此处: http : //www.horde.org/apps/webmail/docs/UPGRADING