Installing horde on ubuntu

Kohteesta PiraattiWiki
Loikkaa: valikkoon, hakuun

Dedicated vhost installation:

apt-get install turba2 kronolith2 mnemo2 nag2

Apache configuration file:

<VirtualHost *:80>

        ServerAdmin webmaster@localhost

        DocumentRoot /usr/share/horde3
        ServerName horde.example.com

        Alias /horde3 /usr/share/horde3

        <Directory /usr/share/horde3/>
                Options FollowSymLinks
                AllowOverride Limit
                Order allow,deny
                allow from all
        </Directory>

        ErrorLog /var/log/apache2/horde.example.com/horde.example.com-error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/log/apache2/horde.example.com/horde.example.com-access.log combined

</VirtualHost>

Get necessary sql creation scripts:

zcat /usr/share/doc/horde3/examples/scripts/sql/create.pgsql.sql.gz > create.pgsql.sql
cp /usr/share/doc/turba2/examples/scripts/sql/turba.pgsql.sql .
cp /usr/share/doc/kronolith2/examples/scripts/sql/kronolith.pgsql.sql .
cp /usr/share/doc/mnemo2/examples/scripts/sql/mnemo.sql .
cp /usr/share/doc/nag2/examples/scripts/sql/nag.sql .

Edit beginning of create.pgsql.sql to read (subsitute actual password):

CREATE USER horde;
ALTER USER horde WITH PASSWORD 'password';

As postgresql superuser, run (input the aforementioned SQL password when needed):

psql < create.pgsql.sql
psql horde horde < kronolith.pgsql.sql
psql horde horde < turba.pgsql.sql
psql horde horde < mnemo.sql
psql horde horde < nag.sql


Edit /etc/horde/horde3/conf.php ; remove first echo and exit lines. Then do the following change:

$conf['cookie']['path'] = '/';

Edit /etc/horde/horde3/prefs.php to look like following:

twentyFour stanza:

'value' => true,

date_format stanza:

'value' => '%Y-%m-%d',

first_week_day stanza:

'value' => '1',

Edit /etc/horde/kronolith2/prefs.php to loog like following:

week_start_monday stanza:

'value' => '1',

Edit /etc/horde/horde3/registry.php to look like following:

horde stanza:

'webroot' => '',

Change config directory permissions:

chown www-data:www-data /etc/horde/ -R

Web-configure horde from http://horde.example.com

Now edit /etc/horde/horde3/registry.php again to look like following:

kronolith stanza:

'status' => 'active',

turba stanza:

'status' => 'active',

mnemo stanza:

'status' => 'active',

nag stanza:

'status' => 'active',

Now configure horde again, for horde set $conf[share][no_sharing] to OFF and $conf[share][any_group] ON. Also, configure the permissions system; add kronolith , turba, mnemo and nag to the permissions system. For all the aforementioned apps, grant Show and Read permissions for 1) "All Authenticated Users" and 2) "Guest Permissions".

Now every user can configure sharing of his/her calendar, address book, etc. For example, to share one's calendar, select Calendar app, "Manage Calendars" and select the "keys" icon, then check Show and Read permissions for "Guest Permissions".

SyncML synchronization to mobile phone

The best thing with the setup, IMHO, is the ability to synchronize all the data to a SyncML capable mobile phone. I use Nokia E51, and the synchronization just works. To setup synchronization on phone, do the following:

1. Select Tools => Sync => Options => New sync profile (don't copy values). Name the profile as Horde.

2. Select Connection settings and set:

  • Server version "1.2" (I don't really know what this does, but 1.2 has worked for me)
  • Server ID "horde.example.com" (substitute your own server here)
  • Data bearer "Internet"
  • Access point "Always ask"
  • Host address "http://horde.example.com/rpc.php" (susbsitute your own server)
  • Port "80"
  • User name "(your horde username)"
  • Password "(your horde password)"
  • Allow sync requests "Yes"
  • Accept all sync requests "No"
  • Network authentication "No"

3. From Horde profile menu, select Applications

  • Select Contacts and set:
    • Include in sync "Yes"
    • Remote database "contacts"
    • Synchronization type "Both ways"
  • Select Calendar and set:
    • Include in sync "Yes"
    • Remote database "calendar"
    • Synchronization type "Both ways"
  • Select Notes and set:
    • Include in sync "Yes"
    • Remote database "notes"
    • Synchronization type "Both ways"

Notes:

  • Make sure, php has at least 32 MB's of memory
  • Preference system should be used with the 'SQL database' option