Установка Horde · 6 min read · Sep 29, 2025

Установка Horde 5 Webmail для ISPConfig на Debian Jessie через PEAR

Horde — это пакет группового программного обеспечения, который предлагает электронную почту, календарь, управление задачами, контактами и многое другое. Он также предлагает SyncML и ActiveSync для синхронизации с вашими мобильными телефонами или другим программным обеспечением. Вы можете узнать больше о Horde на их веб-странице: http://www.horde.org/

Этот Howto предполагает, что вы следовали установке ISPConfig 3 для Debian Jessie (Apache2, Bind, Dovecot) и всем пакетам там.

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 не работает с Horde. Вместо php5-xcache можно использовать один из других инструментов кэширования, таких как memcache.

apt-get remove php5-xcache

3. Зарегистрируйте канал Horde Pear

pear channel-discover pear.horde.org

4. Установите директорию установки Horde

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

Вам будет задан следующий вопрос:

Установка файловой системы для базового приложения Horde: /var/www/horde

Вы также можете выбрать другую папку для веб-доступных файлов horde. Однако вам нужно будет отрегулировать путь на следующих шагах.

5. Установите Horde Groupware Webmail Edition

pear install -a -B horde/webmail

Это займет некоторое время, и будут некоторые ошибки, касающиеся отсутствующих пакетов pear. Они будут исправлены позже.

6. Создайте базу данных MySQL

Скрипт установки Horde не создаст базу данных MySQL самостоятельно. Поэтому мы должны создать ее сначала, а также соответствующего пользователя.

Введите оболочку MySQL как

mysql -u root -p

После входа создайте базу данных и пользователя ‘horde’ с паролем ‘PASSWORD’. Если вы хотите изменить имя базы данных, имя пользователя, измените соответствующую информацию. Установите свой собственный пароль, конечно.

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

Выйдите из оболочки MySQL снова

exit;

7. Запустите скрипт установки

webmail-install

Вам будут заданы следующие вопросы:

Какой бэкенд базы данных мы должны использовать? mysql

Имя пользователя для подключения к базе данных: Имя пользователя, которое вы установили на предыдущем шаге

Пароль для подключения: Пароль, который вы установили на предыдущем шаге

Как мы должны подключиться к базе данных? unix

Местоположение UNIX-сокета: Просто нажмите [enter]

Имя базы данных для использования: Имя базы данных, которое вы установили на предыдущем шаге

Внутренне используемая кодировка: utf-8

Использовать SSL для подключения к серверу: 0 *

Орган сертификации для использования для SSL-соединения: Просто нажмите [enter]

Разделить чтения на другой сервер? false

Укажите существующего почтового пользователя, которому вы хотите предоставить права администратора (необязательно): [email protected]

  • Установите SSL на 1 только если вы можете предоставить для каждого домена SSL-сертификат.

Выберите существующего пользователя электронной почты. Этот пользователь затем имеет права на конфигурацию изнутри самого Horde. Это необходимо для создания начальных конфигурационных файлов.

8. Создайте пользовательскую папку phptmp и измените владельца папки horde на пользователя Apache

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 уже доступно несколько календарей праздников. По умолчанию они не установлены. Выберите один или несколько из следующих календарей, если хотите их установить. Это позволяет в Horde 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

           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/"

Затем включите этот новый фрагмент конфигурации apache:

a2enconf horde

12. Перезапустите apache

/etc/init.d/apache2 restart

13. Отредактируйте /var/www/horde/config/conf.php и установите

$conf['testdisable'] = false; 

14. Откройте тестовую страницу horde на любом домене

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 и найти


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

и заменить весь блок на этот


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

Примечание: Когда вы обновляете Horde, этот файл может быть перезаписан. В этом случае просто отредактируйте его снова.

16. Разрешение пользователям изменять свой пароль из Horde (необязательно)

Horde может позволить людям изменять свой пароль ISPConfig из Horde. Для этого Horde предоставляет дополнение Passwd, которое необходимо настроить для работы с ISPConfig.

Установите дополнение и измените владельца на пользователя Apache:

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

Horde также предоставляет простой способ изменить конфигурационные файлы с локальными значениями. Это делается путем копирования существующего конфигурационного файла (например, conf.php) в conf.local.php. Это может быть полезно, если вы хотите изменить настройки предпочтений по умолчанию некоторых приложений Horde, например, использовать по умолчанию 24-часовой формат. Таким образом, вы можете предоставить однородную стартовую конфигурацию для новых пользователей. То же самое касается дополнения Passwd. Используя локальный конфигурационный файл, мы гарантируем, что будущее обновление horde не перезапишет наши настройки.

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
    // Следующие два параметра позволяют вам указать пользовательские запросы для
    // функций поиска и изменения, если необходимо выполнить специальные функции.
    // В местах, где необходимо использовать имя пользователя или пароль,
    // используйте эту ссылку-заполнитель:
    // %d -> заменяется на домен
    // %u -> заменяется на пользователя
    // %U -> заменяется на пользователя без части домена
    // %p -> заменяется на открытый пароль
    // %e -> заменяется на зашифрованный пароль
    //
    // '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 для изменения пароля из Horde.

Раздел политики позволяет вам установить различные параметры для того, как должен выглядеть пароль. В этой настройке он должен содержать не менее 7 символов и должен содержать как минимум 1 цифру и не содержать пробелов. Проверьте начало этого файла, чтобы узнать, какие другие параметры доступны.

17. Финальные моменты

После того как вы внесли все изменения, войдите с административным пользователем для horde. Пользователь электронной почты, который вы установили во время настройки скрипта webmail-install. После входа перейдите в раздел администрирования, затем в конфигурацию horde и создайте все необходимые конфигурации. Для начала вы можете использовать кнопку, которая просто создает их все, или вы можете выбрать просмотреть конфигурацию для каждого приложения horde самостоятельно и применить изменения, которые вы хотите.

Horde также предлагает дополнительные приложения. Посетите http://www.horde.org/apps, чтобы увидеть, что там.

Horde также предлагает RSS-канал, чтобы вы могли получать уведомления о новых версиях, а для обновления смотрите здесь: http://www.horde.org/apps/webmail/docs/UPGRADING

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.