CentOS6.5にHorde Groupware Webmail Editionをインストールした際の覚書です。
前提として、apache、php5.3以上、mysqlやメール周りの設定が完了している必要があります。
mysqlでユーザとDBを作成する。
以下のようなSQLを発行し、hordeが利用するアカウントとデータベースを作成する。
なお、アカウントは「horde」、パスワードは「YTDXYd77t3aDxZNW」。
利用するデータベースは「horde」でローカルにあるものとする。
CREATE USER 'horde'@'localhost' IDENTIFIED BY 'YTDXYd77t3aDxZNW'; GRANT USAGE ON * . * TO 'horde'@'localhost' IDENTIFIED BY 'YTDXYd77t3aDxZNW' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ; CREATE DATABASE IF NOT EXISTS `horde` ; GRANT ALL PRIVILEGES ON `horde` . * TO 'horde'@'localhost';
pearやgd、intlなどを利用できるようにする。
以下のコマンドを発行してphpまわりの設定を行う。
yum -y install php-pear php-mcrypt php-gd php-php-gettext php-xml yum -y install php-pdo php-intl php-mbstring php-mysql
Horde Groupware Webmail Editionのインストール
pear channel-discover pear.horde.org
を発行する。
[root@www ~]# pear channel-discover pear.horde.org Adding Channel "pear.horde.org" succeeded Discovery of channel "pear.horde.org" succeeded
上記のように表示されればOK。
次に
pear install horde/horde_role
を発行する。
[root@www ~]# pear install horde/horde_role downloading Horde_Role-1.0.1.tgz ... Starting to download Horde_Role-1.0.1.tgz (10,977 bytes) .....done: 10,977 bytes install ok: channel://pear.horde.org/Horde_Role-1.0.1 horde/Horde_Role has post-install scripts: /usr/share/pear/PEAR/Installer/Role/Horde/Role.php Horde_Role: Use "pear run-scripts horde/Horde_Role" to finish setup. DO NOT RUN SCRIPTS FROM UNTRUSTED SOURCES
上記のように表示されればOK。
次に
pear run-scripts horde/horde_role
を発行する。
[root@www ~]# pear run-scripts horde/horde_role Including external post-installation script "/usr/share/pear/PEAR/Installer/Role/Horde/Role.php" - any errors are in this script Inclusion succeeded running post-install script "Horde_Role_postinstall->init()" init succeeded Filesystem location for the base Horde application :
と表示されて止まるので、
/var/www/html/webmail
と入力する。ちなみにこのように設定すると、
http://www.xxx.xxx/webmail
というURLでHorde Groupware Webmail Editionにアクセスできるようになります。
最終的に
[root@www ~]# pear run-scripts horde/horde_role Including external post-installation script "/usr/share/pear/PEAR/Installer/Role/Horde/Role.php" - any errors are in this script Inclusion succeeded running post-install script "Horde_Role_postinstall->init()" init succeeded Filesystem location for the base Horde application : /var/www/html/webmail Configuration successfully saved to PEAR config. Install scripts complete
のように表示される。
次に
pear install -a -B horde/webmail
を発行する。
[root@www ~]# pear install -a -B horde/webmail ‥ Starting to download Text_Password-1.1.1.tgz (4,357 bytes) ...done: 4,357 bytes downloading memcache-2.2.7.tgz ... Starting to download memcache-2.2.7.tgz (36,459 bytes) ...done: 36,459 bytes downloading raphf-1.0.4.tgz ... Starting to download raphf-1.0.4.tgz (7,232 bytes) ...done: 7,232 bytes downloading propro-1.0.0.tgz ... Starting to download propro-1.0.0.tgz (6,217 bytes) ...done: 6,217 bytes downloading Horde_Thrift-2.0.1.tgz ... Starting to download Horde_Thrift-2.0.1.tgz (22,602 bytes) ...done: 22,602 bytes ‥ install ok: channel://pear.horde.org/Horde_Util-2.4.0 install ok: channel://pear.horde.org/Horde_Autoloader-2.1.0 install ok: channel://pear.php.net/Net_DNS2-1.3.2 install ok: channel://pear.php.net/Console_Table-1.2.0 install ok: channel://pear.php.net/MDB2-2.4.1 install ok: channel://pear.horde.org/Horde_Xml_Element-2.0.1 install ok: channel://pear.horde.org/Horde_Socket_Client-1.1.1 install ok: channel://pear.horde.org/Horde_Db-2.1.1 ‥ MDB2: Optional feature mysqli available (MySQLi driver for MDB2) MDB2: Optional feature mssql available (MS SQL Server driver for MDB2) MDB2: Optional feature oci8 available (Oracle driver for MDB2) MDB2: Optional feature pgsql available (PostgreSQL driver for MDB2) MDB2: Optional feature querysim available (Querysim driver for MDB2) MDB2: Optional feature sqlite available (SQLite2 driver for MDB2) MDB2: To install optional features use "pear install pear/MDB2#featurename"
のような感じに表示される。
次に
webmail-install
を発行する。
[root@www ~]# webmail-install Installing Horde Groupware Webmail Edition Configuring database settings What database backend should we use? (false) [None] (mysql) MySQL / PDO (mysqli) MySQL (mysqli) (pgsql) PostgreSQL (sqlite) SQLite Type your choice []:
ここで止まるので、 mysql と入力。
Username to connect to the database as* []
ここで止まるので、 horde と入力。(上で設定したmysqlのアカウント名)
Password to connect with
ここで止まるので、mysqlのユーザ作成時に設定したパスワードを入力する。なお、今回は「YTDXYd77t3aDxZNW」。
How should we connect to the database? (unix) UNIX Sockets (tcp) TCP/IP Type your choice [unix]:
ここで止まるが未入力のままリターンキーを押す。
Location of UNIX socket []
ここで止まるが未入力のままリターンキーを押す。
Database name to use* []
ここで止まるので、 horde と入力する。(上で設定したmysqlのデータベース名)
Internally used charset* [utf-8]
ここで止まるが未入力のままリターンキーを押す。
(UTF-8と違う場合は正しいものを入力する。)
Use SSL to connect to the server? (1) Yes (0) No Type your choice [0]:
ここで止まるが未入力のままリターンキーを押す。
(接続にSSLを利用する場合は 1 を入力する。)
Certification Authority to use for SSL connections [] Split reads to a different server? (false) Disabled (true) Enabled
ここで止まるが未入力のままリターンキーを押す。
Type your choice [false]:
ここで止まるが未入力のままリターンキーを押す。
Writing main configuration file... done. Creating and updating database tables... done. Configuring administrator settings Specify an existing mail user who you want to give administrator permissions (optional):
ここで止まるが未入力のままリターンキーを押す。
Writing main configuration file... done. Thank you for using Horde Groupware Webmail Edition!
上記が出ればインストール終了。
パーミッション変更
セキュリティ上の理由からファイルの所有権やパーミッションを変更する。
chown -R root:apache /var/www/html/webmail/config/* find /var/www/html/webmail/config/ -type f -exec chmod 0440 '{}' \;
あと、Horde Groupware Webmail Editionが使うキャッシュを保存するためのディレクトリの所有権を変更する。
chown apache:apache /var/www/html/webmail/static
Horde Groupware Webmail Editionにアクセスしてみる
http://www.xxx.xxx/webmail/
にアクセスしてみて、Horde Groupware Webmail Editionのログイン画面が出るか確認する。
ログイン情報は該当サーバのPOPアカウントのログイン情報です。
問題があるときは
Horde Groupware Webmail Editionにアクセスしていて、なにか問題があるときは、
http://www.xxx.xxx/webmail/test.php
にアクセスすると問題がある内容が表示されるので、設定を変更する。
ただし、test.phpはデフォルトではアクセスできない設定になっているので、確認する際は、
/var/www/html/webmail/config/conf.php
の
$conf['testdisable'] = true;
を
$conf['testdisable'] = false;
にする必要があります。