Horde Debian-pohjaisissa jakeluissa

Linux.fista
Versio hetkellä 29. elokuuta 2009 kello 19.47 – tehnyt Pb (keskustelu | muokkaukset) (siirsi sivun Horden asentaminen Debian-pohjaisiin jakeluihin uudelle nimelle Horde Debian-pohjaisissa jakeluissa: lyhyempi nimi)
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. Tietokantaratkaisuna käytössä on PostgreSQL. Ohjeen pitäisi toimia suoraan (uudemmissa) Debian-pohjaisissa jakeluissa. Sitä on mahdollista soveltaa myös muihin jakeluihin muuttamalla paketinhallinnan kautta asennettavien pakettien nimet sekä Horde-ohjelmiston ja sen dokumentaation sijainteihin viittaavat polut. Ne saa selville esimerkiksi paketinhallinnasta hakemalla.

Asennetaan paketinhallinnan kautta paketit turba2 (osoitekirjamoduuli), kronolith2, (kalenterimoduuli) mnemo2 (muistikirjamoduuli) ja nag2 (TODO-listamoduuli). Riippuvuudet (mukaan lukien 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/ sekä uudelleenkäynnistää Apache!

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

'value' => true,

date_format -asetukset:

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

first_week_day -asetukset:

'value' => '1',

Muokkaa tiedostoa /etc/horde/kronolith2/prefs.php seuraavasti:

week_start_monday -asetukset:

'value' => '1',

Muokkaa /etc/horde/horde3/registry.php -tiedostoa seuraavasti:

horde -asetukset:

'webroot' => '',

Muuta asetustiedostohakemiston oikeudet sopiviksi näin:

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

Mene selaimella virtuaalidomain-osoitteeseesi (tässä esimerkissä http://horde.example.com ) ja konfiguroi Horde selaimellasi sopivaksi. (tästä olisi ehkä hyvä laittaa enemmän tietoa)

Muokkaa jälleen tiedostoa /etc/horde/horde3/registry.php näin:

kronolith -asetukset:

'status' => 'active',

turba -asetukset:

'status' => 'active',

mnemo -asetukset:

'status' => 'active',

nag -asetukset:

'status' => 'active',

Konfiguroi Horde jälleen selaimella. Aseta $conf[share][no_sharing] OFF:ille ja $conf[share][any_group] ON:ille. Konfiguroi myös oikeuksienhallinta ("permissions system"); lisää kronolith , turba, mnemo ja nag hallintaan. Anna Show ja Read -oikeudet kaikille edellämainituille moduuleille ryhmille 1) "All Authenticated Users" ja 2) "Guest Permissions".

Nyt kaikki käyttäjät voivat asettaa kalenterinsa, osoitekirjansa, jne jaetuiksi. Jos haluat esimerkiksi jakaa kalanteritiedot, valitse "Calendar", "Manage Calendars", valitse avaimet-ikoni, ja aseta Show and Read -oikeudet kohtaan "Guest Permissions".

SyncML -synkronointi matkapuhelimeen

Pidän Hordessa itse eniten mahdollisuudesta synkronoida tietoja matkapuhelimeen ja takaisin SyncML-protokollalla. Ainakin käyttämälläni Nokian E51:llä synkronointi toimii hyvin. Asettaaksesi synkronoinnin toimintaan, tee seuraavasti (kaikki ilman lainausmerkkejä):

1. Valitse Työkalut => Synkronointi => Valinnat => Uusi synkronointiprofiili. Älä kopioi arvoja mistään. Laita profiilin nimeksi "Horde".

2. Valitse Yhteysasetukset ja aseta:

  • Palvelinversio "1.2" (en tiedä asetuksen relevanttiutta, mutta itselläni ainakin 1.2 on toiminut tästä)
  • Palvelintunnus "horde.example.com" (tai tarvittaessa laita tähän aiemmin valitsemasi virtuaalihostisi)
  • Siirtotie "Internet"
  • Yhteysosoite "Kysy aina"
  • Palvelimen osoite "http://horde.example.com/rpc.php" (tai oma virtuaalihostisi)
  • Portti "80"
  • Käyttäjänimi "(oma Horde-käyttäjänimesi)"
  • Salasana "(oma Horde-salasanasi)"
  • Salli synkronointipyynnöt "Kyllä"
  • Hyväksy synkronointipyynnöt "Ei"
  • Verkon todennus "Ei"

3. Mene profiilin Sovellukset-valikkoon ja toimi seuraavasti:

  • Valitse Osoitekirja ja aseta:
    • Sisällytä synkronointiin "Kyllä"
    • Etätietokanta "contacts"
    • Synkronointitapa "Molempiin suuntiin"
  • Valitse Kalenteri ja aseta:
    • Sisällytä synkronointiin "Kyllä"
    • Etätietokanta "calendar"
    • Synkronointitapa "Molempiin suuntiin"
  • Valitse Muistikirja ja aseta:
    • Sisällytä synkronointiin "Kyllä"
    • Etätietokanta "notes"
    • Synkronointitapa "Molempiin suuntiin"

HUOM

  • Varmista, että php:llä on vähintään 32 megatavua ajonaikaista muistia
  • "Preference system"-asetus kannattaa olla asetettuna "SQL database":ksi