Unix-way → Установка и настройка почтового веб-интерфейса Horde для панели управления хостингом ISPConfig на Apache в Debian Linux

Horde представляет собой не только веб-интерфейс для почты. Это целый набор сервисов — календарь, задачи, управление контактами и другие функции. Также есть возможность синхронизации с мобильными устройствами (SyncML и ActiveSync).

Установка зависимостей

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


Регистрация Horde Pear

pear channel-discover pear.horde.org


Каталог для установки

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


Отвечаем на вопрос:

Filesystem installation for base Horde application: /var/www/horde


Установка Horde

pear install -a -B horde/webmail


Будут некоторые ошибки, связанные с отсутствие пакетов. Позже исправим.

Создание базы данных MySQL

Заходим в оболочку MySQL:

mysql -u root -p


Создаем базу данных и пользователя «horde» с паролем «PASSWORD».

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


Не забудьте поменять на свои значения. Выходим из оболочки:

exit;


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

webmail-install


Отвечаем на вопросы:

What database backend should we use? mysql

Request persistent connections? 0

Username to connect to the database as: пользователь базы

Password to connect with: пароль базы

How should we connect to the database? unix

Location of UNIX socket: нажмите enter

Database name to use: имя базы

Internally used charset: utf-8

Use SSL to connect to the server: 0 (если можете дать на каждый домен SLL сертификат установите 1)

Certification Authority to use for SSL connection: нажмите enter

Split reads to a different server? false

Filesystem installation for base Horde application: /var/www/horde

Specify an existing mail user who you want to give administrator permissions (optional): user@domaincom


Настройка

Создаем пользовательский каталог phptmp и даем права:

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


Добавляем дополнительные компоненты PEAR:

pear install channel://pear.php.net/SOAP-0.13.0
pear install pear/MDB2#mysql
pear install channel://pear.php.net/HTTP_WebDAV_Server-1.0.0RC7
pear install channel://pear.php.net/XML_Serializer-0.20.2
pear install channel://pear.php.net/Date_Holidays-0.21.6
pear install Net_LDAP
pear install channel://pear.php.net/Text_CAPTCHA-0.4.3
pear install pear/HTTP_Request2
pear install channel://pear.php.net/Console_Color2-0.1.1


Создаем /etc/apache2/conf.d/horde.conf с содержимым:

Alias /Microsoft-Server-ActiveSync /var/www/horde/rpc.php
Alias /horde /var/www/horde
<Directory /var/www/horde>
           Options +FollowSymLinks
           AllowOverride None
           order allow,deny
           allow from all
           php_value include_path ".:/usr/share/php"
           php_value open_basedir "none"
           php_value upload_tmp_dir "/var/www/horde/phptmp/"
</Directory>


Перезагружаем apache:

/etc/init.d/apache2 restart


Редактируем:

vi /var/www/horde/conf/conf.php


$conf['testdisable'] = false; 


Проверяем работу:

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


Разрешение пользователям менять свои пароли

Ставим:

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


В Horde есть простой способ изменять конфиги с локальными параметрами. Это делается путем копирования существующего conf.php и переименования на conf.local.php. Таким образом, можно обеспечить одинаковую стартовую конфигурацию новым пользователям.

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


Редактируем backends.local.php:

vi /var/www/horde/passwd/config/backends.local.php


$backends['hordesql'] = array (
'disabled' => false,


Меняем на:

$backends['hordesql'] = array (
'disabled' => true,


Затем ищем блок:

$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',
  ),
);


Не забудьте изменить пароли и имена.

>>>Дополнительные приложения<<<
>>>Документация<<<
  • avatar
  • pashtuun
  • 8001
  • +13
  • 05 апреля 2012, 14:17

Комментариум (0)

RSS свернуть / развернуть

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.