What is Horde ?

Horde is a web application Framework.

Installing Horde

 # aptitude install horde3

Read /usr/share/doc/horde3/README.Debian.

Configuring Apache web server

In your ?VirtualHost file (perhaps 000-default), secure (mod_access, mod_ssl, ...) and enable Horde access. For example:

Alias /horde3 /usr/share/horde3
<Directory /usr/share/horde3>
    Options FollowSymLinks
    AllowOverride Limit
    deny from all
    allow from YOUR_IP
</Directory>

Secure /etc permissions:

# chgrp www-data /etc/horde
# chmod 750 /etc/horde

Configuring Horde

http://pkg-horde.alioth.debian.org/pics/horde-setup-1.png

When your web access is secure, remove the second and third lines from /etc/horde/horde3/conf.php file and prepare file permissions for web configuration :

# chmod 777 /etc/horde/horde3/conf.php
# touch /etc/horde/horde3/conf.php.bak
# chmod 777 /etc/horde/horde3/conf.php.bak

Prepare your log file :

# touch /var/log/horde/horde3.log
# chown root.www-data /var/log/horde/horde3.log
# chmod 770 /var/log/horde/horde3.log

Prepare your backend. For example, if you use a local MySQL server, change password and inject this file :

# gunzip < /usr/share/doc/horde3/examples/scripts/\
sql/create.mysql.sql.gz \
| mysql -u MYSQL_ADMIN -p

Then your are ready to browse Horde setup in http(s?)://YOUR_SERVEUR/horde3

http://pkg-horde.alioth.debian.org/pics/horde-setup-4.png

With default configuration, this parameters need more attention :

Generate your configuration and change permissions of configuration files :

# chmod 644 /etc/horde/horde3/conf.php
# chmod 700 /etc/horde/horde3/conf.php.bak

Now you can authorize all clients in your web server configuration.

Upgrading Horde

Secure your web server access and begin the upgrade. Change permissions for conf.php and conf.php.bak and regenerate configuration. Adjust permissions and re-open web server access.

Of course this method is also valid for sarge-to-etch upgrade.

Installing and configuring IMP

IMP is a webmail client.

 # aptitude install imp4

Prepare file permissions for web configuration. Generate your configuration and change permissions of configuration files. And specify your mail server(s) in /etc/horde/imp4/servers.php file.

Installing and configuring Ingo

Ingo is a mail filter component for IMP.

 # aptitude install ingo1

Prepare file permissions for web configuration. Generate your configuration and change permissions of configuration files.

Installing and configuring Turba

Turba is a contact management.

 # aptitude install turba2

Prepare file permissions for web configuration. Generate your configuration and change permissions of configuration files. And specify your backend(s) in /etc/horde/turba2/sources.php file.

Installing and configuring Gollem

Gollem is a file manager.

 # aptitude install gollem

Prepare file permissions for web configuration. Generate your configuration and change permissions of configuration files. And specify your backend(s) in /etc/horde/gollem/backends.php file.

Installing and configuring Nag

Nag is a task list manager.

 # aptitude install nag2

Prepare file permissions for web configuration. Generate your configuration and change permissions of configuration files.

Installing and configuring Forwards

Forwards is an autoforward component.

# aptitude install sork-forwards-h3

Prepare file permissions, and generate configuration with Horde setup.

Installing and configuring Vacation

Vacation is autovacation component.

# aptitude install sork-vacation-h3

Prepare file permissions, and generate configuration with Horde setup. If you use Vacation with vacation package, don't forget to correct vacation path to '/usr/bin/vacation' and use 'Berkeley DB 4.x hash, (little|big) endian' for type of database. Don't forget to adjust file permissions.