Horde3

From SaruWiki
Revision as of 20:50, 30 August 2009 by Saruman! (talk | contribs) (→‎Configure: expounded)
Jump to navigation Jump to search

A standard howto for the Horde3 installation can be found at wiki.debian.org. Our notes on Horde3 installation are the following:

Installation

First make sure you have a nice little LAMP server running, with MySQL, Apache2, PHP5 et cetera. Now install the base package plus dependencies:

apt-get install horde3

Now make the site available: in /etc/apache2/sites-available, find the site(s) that will get horde3 enabled. In the site definition files, include the following snippet:

Alias /horde3 /usr/share/horde3
       <Directory /usr/share/horde3>
           Options FollowSymLinks
           AllowOverride Limit
           deny from all
           allow from all 192.168 127.0.0
       </Directory>
<Files ~ "\.(inc|bak)$">
    deny from all
</Files>

If you include the code in an SSL protected site, you can also add

<Location /horde3>
    SSLCipherSuite HIGH:MEDIUM
</Location>

Restart your Apache webserver, and horde3 is operational. However, if you surf to http://your.web.server/horde3 you read this:

Horde3 configuration disabled by default because the administration/install wizard gives the whole world too much access to the system. Read /usr/share/doc/horde3/README.Debian.gz on how to allow access.

No worries, we'll get horde operational with the following steps.

Database

Horde needs its own database to keep information. To create that database there are several scripts in /usr/share/doc/horde3/examples/scripts/. We use MySQL, so we unpack the MySQL setup script:

cd /usr/share/doc/horde3/examples/scripts/sql
gunzip create.mysql.sql.gz

This unpacks create.mysql.sql, in which we need to change the password for the user horde, in line 27-29. They reads

-- IMPORTANT: Change this password.
        PASSWORD('horde')
);

We change the default password horde to something stronger. We can now run the script by feeding it into the MySQL client:

localhost:# mysql -u root -p < /usr/share/doc/horde3/examples/scripts/sql/create.mysql.sql.gz 
Enter password:
localhost:# _

Now remove the create.mysql.sql.gz file, or change the password back to 'horde', or secure access to the file! We don't want anyone to read the horde database password.

Configure

To use the web configuration wizard we need to do a couple of things in directory /etc/horde/horde3. First, we need most files to be owned by root:www-data and have permissions 750. Next, create a backup conf.php file, named conf.bak.php, and change the permissions on both conf*.php files to 777:

chgrp -R www-data /etc/horde/horde3/
chmod -R 750 /etc/horde/horde3
touch etc/horde/horde3/conf.bak.php
chmod 777 /etc/horde/horde3/conf*.php

Next, we can prepare an alternative location for the log file, in line with our Lenny base server configuration:

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

Now edit /etc/horde/horde3/conf.php and remove line 2 and 3. We should now be able to browse to the Horde3 admin page, something like:

http://server.local.lan/horde3/

Web configuration

Choose setup from the menu 'horde setup' - edit database -> username en WW - connect to database = tcp/ip - localhost - naam database - edit preference system -> SQL database - edit authentication -> Administrator,user@sample.com - SQL authentication Choose Users from the menu - add users -> user@sample.com

klik generate Horde Configurtion

Could not save the backup configuration file /usr/share/horde3/config/conf.bak.php 

I had to change permissions on the /etc/horde/horde3 folder

IMP

apt-get install imp4

Now prepare file permissions for web configuration:

chmod 777 /etc/horde/imp4/conf.php
touch /etc/horde/imp4/conf.bak.php
chmod 777 /etc/horde/imp4/conf.bak.php

Choose setup from the menu 'mail(imp)' Generate your configuration (GPG/PGP, user constraints, enable spam/ham report, hooks...).

And when you're done change the permissions back

chmod 644 /etc/horde/imp4/conf.php
chmod 700 /etc/horde/imp4/conf.bak.php

And specify your mail server(s) in /etc/horde/imp4/servers.php file

$servers['imap'] = array(
   'name' => 'IMAP Server',
   'server' => 'localhost',
   'hordeauth' => 'full',
   'protocol' => 'imap/notls',
   'port' => 143,
   'maildomain' => 'sample.com',
   'smtphost' => 'localhost',
   'smtpport' => 25,
   'realm' => 'sample.com',
   'preferred' => ,
);

When you are ready, enable IMP in /etc/horde/horde3/registry.php file and verify if all is right. Yes, you read well, you MUST enable manually module in registry.php file after configuration!

$this->applications['imp'] = array(
   'fileroot' => '/usr/share/horde3/lib' . '/../imp',
   'webroot' => $this->applications['horde']['webroot'] . '/imp',
   'name' => _("Mail"),
   'status' => 'active',
   'provides' => array('mail', 'contacts/favouriteRecipients')
);

Change the status from inactive to active