Horde Debian-pohjaisissa jakeluissa
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
Muokkaa tiedostoa /etc/horde/horde3/conf.php ; poista 'echo'-rivi ja 'exit'-rivi. Sen jälkeen tee seuraava muutos:
$conf['cookie']['path'] = '/';
Muokkaa /etc/horde/horde3/prefs.php seuraavasti:
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