Horde Debian-pohjaisissa jakeluissa

Linux.fista
Versio hetkellä 28. elokuuta 2009 kello 01.43 – tehnyt Usvi (keskustelu | muokkaukset)
Siirry navigaatioon Siirry hakuun

Horde on php-pohjainen ohjelmistoalusta, johon on mahdollista asentaa erilaisia lisätoiminnallisuuksia tarjoavia moduuleita.

Seuraavassa kuvataan Horden ja tärkeiden lisämoduuleiden asentaminen virtuaalidomainin alle. Asennus toimii ainakin Ubuntu Server 9.04 (64bit) -versiossa. Tietokantaratkaisuna käytössä on PostgreSQL.

Aptilla liikkeelle:

apt-get install turba2 kronolith2 mnemo2 nag2

Komento asentaa osoitekirja-moduulin, kalenterin, muistikirjan ja TODO-listan. Dependencyt (mukaanlukien Horden peruspaketti) asennetaan automaattisesti tarvittaessa.

Apache kannattaa konfiguroida esimerkiksi seuraavasti (käytössä virtuaalihosti nimeltään horde.example.com):

<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>

Muista luoda myös tarvittava logihakemisto, esim. /var/log/apache2/horde.example.com/ !


Tarpeelliset tietokantaskriptit kannattaa kopioida samaan paikkaan (seuraavassa käytetty PostgreSQL:ää):

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 .

Muokkaa create.pgsql.sql lukemaan seuraavasti (PostgreSQL:n tapauksessa, muilla tietokannoilla käytäntö saattaa vaihdella. Käytä oikeaa salasanaa.):

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


Generoi tyhjä tietokanta SQL-pääkäyttäjänä (anna edellämainittu salasana kysyttäessä). Seuraavassa on käytetty PostgreSQL:ää:

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