インストールガイド · 2 min read · Sep 29, 2025

Horde 5 WebmailをISPConfigにDebian JessieでPEARを通じてインストールする

Hordeは、メール、カレンダー、タスク、連絡先管理などを提供するグループウェアスイートです。また、SyncMLやActiveSyncを提供して、携帯電話や他のソフトウェアと同期することができます。Hordeの詳細については、彼らのウェブページをご覧ください: 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パッケージは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

Webアクセス可能な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証明書を提供できる場合のみ、SSLを1に設定してください。

既存のメールユーザーを選択してください。そのユーザーは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にはすでにいくつかの休日カレンダーが利用可能です。デフォルトでは、インストールされていません。インストールしたいカレンダーを1つ以上選択してください。これにより、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は、ユーザーがHorde内からISPConfigのパスワードを変更できるようにすることができます。これには、Hordeが提供するPasswdアドオンを設定する必要があります。

アドオンをインストールし、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

上記のコマンドは1行です。

次に、/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
    // 次の2つの設定では、特別な機能が必要な場合に
    // ルックアップおよび修正機能のためのカスタムクエリを指定できます。
    // ユーザー名やパスワードが必要な場所では、次のプレースホルダー参照を使用します:
    // %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',
  ),
);

もちろん、パスワードをMySQLのrootパスワードに置き換え、データベース名をISPConfigのデータベース名に変更してください。この変更が完了すれば、Horde内からPasswdツールを使用してパスワードを変更できます。

ポリシーセクションでは、パスワードの見た目に関するさまざまなオプションを設定できます。この設定では、少なくとも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

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。