TOTKat
 

TOTKat: (hand coded) online journal of a girl geek since April 1999.
WARNING: contains personal opinions. A sense of perspective is required when reading.

     
   
   
   
   
   
   
   
   
   
     
   
   
   
   
   
   
   
   
   
   
   
     
   
   
   
   
   
   
   
   
   
   
   
   
   
   
 
  

Installing and configuring horde modules

This is specifically for a Solaris 8 install.
Errors or omissions, please mail to documentation@totkat.org.

Preparation

On top of horde (and IMP), unless you already have MySQL installed, you will need to do that too. See here for help with that. And you'll need to get hold of the modules:-

If you are unsure of the version at any time and don't have the source to hand, check in $DOCROOT/horde/$MODULE/lib/version.php. The line numbers in these documents are specific to the versions of the modules used at the time of writing. Your mileage may vary. Use common sense.

Configure Horde

You need to register the application(s) in Horde. Edit $DOCROOT/horde/config/registry.php, look for the application registry section (funnily enough it is actually called that in the comments, so is easily findable) and uncomment the section(s) relevant to the module(s) you are installing. Also, make sure that for the module(s) section(s) you are looking to enable, that you have 'show' => true in that section to make it show up on the central menu.

In the registry.php file, you can also configure things like the name which is displayed in the title bar for that module, the icon which is displayed in the module menus for that module, the relative directory at which the module will be found and where it will be served to, in relation to the web server document root. e.g. for horde and IMP, renaming the IMP module to FOO!:-

/**
 * Application registry
 * --------------------
 * The following settings register installed Horde applications.
 * By default, Horde assumes that the application directories live
 * inside the horde directory.
 *
 * You should be able to simply uncomment the entries for the applications
 * you have installed. If you have customized your installation, modify the
 * default settings where necessary. Be sure to remember to uncomment the
 * trailing ");" line!
 */

$this->applications['horde'] = array(
    'fileroot' => dirname(__FILE__) . '/..',
    'webroot' => '/horde',
    'initial_page' => 'login.php',
    'icon' => '/horde/graphics/home.gif',
    'name' => _("Horde"),
    'allow_guests' => true,
    'show' => true,
    'templates' => dirname(__FILE__) . '/../templates',
    'cookie_domain' => $GLOBALS['HTTP_SERVER_VARS']['SERVER_NAME'],
    'cookie_path' => '/horde',
    'server_name' => $GLOBALS['HTTP_SERVER_VARS']['SERVER_NAME'],
    'server_port' => $GLOBALS['HTTP_SERVER_VARS']['SERVER_PORT']
);

$this->applications['imp'] = array(
    'fileroot' => dirname(__FILE__) . '/../imp',
    'webroot' => $this->applications['horde']['webroot'] . '/imp',
    'icon' => $this->applications['horde']['webroot'] . '/imp/graphics/imp.gif',
    'name' => _("FOO!"),
    'allow_guests' => false,
    'show' => true
);
Additional configuration of horde can be done in $DOCROOT/horde/config/html.php, where you can alter the stylesheet for horde and its modules. Also, in the directory $DOCROOT/horde/templates, there are common files; common-footer.inc and common-header.inc into which you can add a footer or header to apply to all of the modules.

[top]

Install turba

  cd $DOCROOT/horde
  tar xvf $STAGE/turba-1.1.tar
  mv turba-1.1 turba
  cd turba/config
  for foo in *.dist; do cp $foo `basename $foo .dist`; done
Create the turba table in the database:
  cd $DOCROOT/horde/turba/scripts/drivers
  mysql -u root -p < turba.sql

[top]

Configure turba

Edit $DOCROOT/horde/turba/config/sources.php

You need to comment out all of lines 43 to 123 to make sure that turba uses your local MySQL instance. This is all of the sections which mention 'netcenter', 'bigfoot', 'verisign' and 'localldap'.

Edit $DOCROOT/horde/turba/config/conf.php

This is where you specify which other modules you want to be shown in the turba menu. Edit line 32. For example, if you wanted to see IMP, kronolith and horde in that order, you would have a line like this:-

32  $conf['menu']['apps'] = array('imp','kronolith','horde');

[top]

Installing kronolith

  cd $DOCROOT/horde
  tar xvf $STAGE/kronolith-1.0.tar
  mv kronolith-1.0 kronolith
  cd kronolith/config
  for foo in *.dist; do cp $foo `basename $foo .dist`; done
Now, you need to create the kronolith table in the database. Edit $DOCROOT/horde/kronolith/scripts/db/kronolith.sql and add, after the comment at the top, a connect statement to the database:-
  CONNECT horde;
Then run the table creation script:-
  cd $DOCROOT/horde/kronolith/scripts/db
  /usr/local/mysql -u root -p < kronolith.sql

[top]

Configure kronolith

We are using MySQL, so kronolith should be configured to use that. Edit $DOCROOT/horde/kronolith/config/conf.php and find the section on calendar drivers, lines 20 to 41. Set for sql, comment out references to mstore, and configure for access to the database:-

20  // What calendar backend is being used? Right now, the only options are
21  // 'mcal' and 'sql', but others may appear at some point in the future.
22  $conf['calendar']['driver'] = 'sql';
23  
24  // What MCAL driver is being used? 'mstore' is the local file driver,
25  // and is the only one with extensive testing. There is also an ICAP
26  // driver, and theoretically an ICAP server, but Kronolith has not
27  // been tested with them.
28  // $conf['calendar']['params']['driver'] = 'mstore';
29  
30  // The mstore driver requires a username and a password that is in 
31  // /etc/mpasswd in order to access local calendars.
32  // $conf['calendar']['params']['username'] = '';
33  // $conf['calendar']['params']['password'] = '';
34
35  // This is an example configuration for an sql driver, in this case MySQL.
36  $conf['calendar']['params']['phptype'] = 'mysql';
37  $conf['calendar']['params']['hostspec'] = 'localhost';
38  $conf['calendar']['params']['username'] = 'horde';
39  $conf['calendar']['params']['password'] = 'secretsecret';
40  $conf['calendar']['params']['database'] = 'horde';
41  $conf['calendar']['params']['table'] = 'kronolith_events';
Also, configure the menu to show whichever modules you want to be seen there, e.g.:-
81  $conf['menu']['apps'] = array('horde','imp','turba','mnemo','nag');

[top]

Installing mnemo

  cd $DOCROOT/horde
  tar xvf $STAGE/mnemo-1.0.tar
  mv mnemo-1.0 mnemo
  cd mnemo/config
  for foo in *.dist; do cp $foo `basename $foo .dist`; done 
Edit $DOCROOT/horde/mnemo/scripts/db/mnemo_memos.sql and add, after the comment at the top, a connect statement to the database:-
  CONNECT horde;
Then run the table creation script:-
	cd $DOCROOT/horde/mnemo/scripts/db
  /usr/local/mysql -u root -p < mnemo_memos.sql

[top]

Configure mnemo

Edit $DOCROOT/horde/mnemo/config/conf.php

You need to specify the storage method, in this case sql, and the connection information, lines 37 to 50:-

37  // What storage driver should we use?  Valid values are 'sql'.
38  $conf['storage']['driver'] = 'sql';
39  
40  // Any parameters that the storage driver needs. This includes
41  // database or ldap server, username/password to connect with, etc.
42  // Below is an example configuration for an sql driver, in this case
43  // MySQL.
44  $conf['storage']['params'] = array();
45  $conf['storage']['params']['phptype'] = 'mysql';
46  $conf['storage']['params']['hostspec'] = 'localhost';
47  $conf['storage']['params']['username'] = 'horde';
48  $conf['storage']['params']['password'] = 'secretsecret;
49  $conf['storage']['params']['database'] = 'horde';
50  $conf['storage']['params']['table'] = 'mnemo_memos';
And, again, the menu options, on line 61, for whichever modules you want displayed:-
61  $conf['menu']['apps'] = array('horde','imp','turba','nag');

[top]

Installing nag

  cd $DOCROOT/horde
  tar xvf $STAGE/turba-1.1.tar
  mv turba-1.1 turba
  cd turba/config
  for foo in *.dist; do cp $foo `basename $foo .dist`; done
Edit $DOCROOT/horde/nag/scripts/db/nag_tasks.sql and add, after the comment at the top, a connect statement to the database:-
  CONNECT horde;
Then run the table creation script:-
  cd $DOCROOT/horde/nag/scripts/db
  /usr/local/mysql -u root -p < nag_tasks.sql

[top]

Configure nag

This is the same as for mnemo, edit $DOCROOT/horde/nag/config/conf.php

You need to specify the storage method, in our case sql, and the connection information, lines 37 to 50:-

37  // What storage driver should we use?  Valid values are 'sql'.
38  $conf['storage']['driver'] = 'sql';
39  
40  // Any parameters that the storage driver needs. This includes
41  // database or ldap server, username/password to connect with, etc.
42  // Below is an example configuration for an sql driver, in this case
43  // MySQL.
44  $conf['storage']['params'] = array();
45  $conf['storage']['params']['phptype'] = 'mysql';
46  $conf['storage']['params']['hostspec'] = 'localhost';
47  $conf['storage']['params']['username'] = 'horde';
48  $conf['storage']['params']['password'] = 'secretsecret;
49  $conf['storage']['params']['database'] = 'horde';
50  $conf['storage']['params']['table'] = 'nag_tasks';

[top]

Configure the menus

Edit $DOCROOT/horde/$MODULE/config/conf.php

This is where you specify which other modules you want to be shown in the menu for that module. Edit the line that looks like the one below. For example, if you wanted to see IMP, nag and horde in the menu, in that order, you would have a line like this:-
  $conf['menu']['apps'] = array('imp','nag','horde');

[top]


Mailto:webmaster@totkat.org

Site statistics

 

     
  Horde Basics  
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
     
  Horde Extras