User Tools

Site Tools


tutorials:horde_groupware

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
tutorials:horde_groupware [2009/08/07 20:00]
razvan
tutorials:horde_groupware [2020/07/20 09:16] (current)
Line 1: Line 1:
-= Installing and configuring Horde Groupware =+====== Installing and configuring Horde Groupware ======
  
 [[http://www.horde.org/groupware/|Horde Groupware]] or [[http://www.horde.org/webmail/|Horde Webmail Groupware]] is an open-source web-based [[http://en.wikipedia.org/wiki/Category:Groupware|group management]] application. It features common tools for group/team management: calendar ([[http://www.horde.org/kronolith/|kronolith]]), address book ([[http://www.horde.org/turba/|turba]]), webmail ([[http://www.horde.org/imp/|imp]], [[http://www.horde.org/mimp/|mimp]], [[http://www.horde.org/dimp/|dimp]]), task lists ([[http://www.horde.org/nag/|nag]]), notes ([[http://www.horde.org/mnemo/|mnemo]]), wiki ([[http://www.horde.org/wicked/|wicked]]), group management, permissions, categories. It's also highly customizable, allowing you to choose themes, define your entry/portal web-page, set locales, set display preferences, etc. [[http://www.horde.org/groupware/|Horde Groupware]] or [[http://www.horde.org/webmail/|Horde Webmail Groupware]] is an open-source web-based [[http://en.wikipedia.org/wiki/Category:Groupware|group management]] application. It features common tools for group/team management: calendar ([[http://www.horde.org/kronolith/|kronolith]]), address book ([[http://www.horde.org/turba/|turba]]), webmail ([[http://www.horde.org/imp/|imp]], [[http://www.horde.org/mimp/|mimp]], [[http://www.horde.org/dimp/|dimp]]), task lists ([[http://www.horde.org/nag/|nag]]), notes ([[http://www.horde.org/mnemo/|mnemo]]), wiki ([[http://www.horde.org/wicked/|wicked]]), group management, permissions, categories. It's also highly customizable, allowing you to choose themes, define your entry/portal web-page, set locales, set display preferences, etc.
Line 5: Line 5:
 We've started using Horde Groupware for [[https://www.rosedu.org/horde|ROSEdu]] group management and for the [[https://elf.cs.pub.ro/asistent/horde|USO and RL courses]]. It is light and intuitive and, at this point, suitable for our needs. We've started using Horde Groupware for [[https://www.rosedu.org/horde|ROSEdu]] group management and for the [[https://elf.cs.pub.ro/asistent/horde|USO and RL courses]]. It is light and intuitive and, at this point, suitable for our needs.
  
-== Install and basic configuration ==+===== Install and basic configuration =====
  
 The installation and configuration process is complex but quite straightforward. Horde's {{{README}}} and {{{INSTALL}}} files and wiki and searchable mailing lists should provide all necessary answers. I've completed four installation processes, all on a Debian GNU/Linux 5.0 Lenny; the last one was accomplished while writing this tutorial to make sure I don't miss out on something. Having more than one installation experience helped me discover new features and configuration options in Horde. The installation and configuration process is complex but quite straightforward. Horde's {{{README}}} and {{{INSTALL}}} files and wiki and searchable mailing lists should provide all necessary answers. I've completed four installation processes, all on a Debian GNU/Linux 5.0 Lenny; the last one was accomplished while writing this tutorial to make sure I don't miss out on something. Having more than one installation experience helped me discover new features and configuration options in Horde.
Line 13: Line 13:
 I didn't use [[http://wiki.debian.org/Horde|Debian's internal package]], as I wanted more freedom when installing and configuring Horde. For my third and fourth installation instances, I used a non-privileged account, so it was mandatory that I installed Horde from its source package. I didn't use [[http://wiki.debian.org/Horde|Debian's internal package]], as I wanted more freedom when installing and configuring Horde. For my third and fourth installation instances, I used a non-privileged account, so it was mandatory that I installed Horde from its source package.
  
-=== System settings and requirements ===+==== System settings and requirements ====
  
-The following list shows the system configuration and setting and desired features. We want an Apache2 and MySQL based instance, with IMAPS login (based on an e-mail account) and the built-in wiki.+The following list shows the system configuration and setting and desired features. want an Apache2 and MySQL based instance, with IMAPS login (based on an e-mail account) and the built-in wiki.
  
-* Debian GNU/Linux 5.0 Lenny +   Debian GNU/Linux 5.0 Lenny 
-* Horde Webmail Groupware +   Horde Webmail Groupware 
-* non-privileged account +   non-privileged account 
-* Apache2 web-server +   Apache2 web-server 
-* MySQL +   MySQL 
-* IMAPS e-mail access +   IMAPS e-mail access 
-* IMAPS login +   IMAPS login 
-* Horde builtin wiki (wicked)+   Horde builtin wiki (wicked)
  
-=== Required packages ===+==== Required packages ====
  
 The required Debian packages are listed below. A MySQL server also has to be configured (it need not be on the same system). cvs needs only be installed for CVS-based modules (such as [[http://www.horde.org/wicked/|wicked]]). The required Debian packages are listed below. A MySQL server also has to be configured (it need not be on the same system). cvs needs only be installed for CVS-based modules (such as [[http://www.horde.org/wicked/|wicked]]).
  
-* apache2 +   apache2 
-* libapache2-mod-php5 +   libapache2-mod-php5 
-* mysql-client-5.0 +   mysql-client-5.0 
-* php5 +   php5 
-* php5-cli +   php5-cli 
-* php-pear +   php-pear 
-* php5-imap +   php5-imap 
-* cvs for CVS-based modules+   cvs for CVS-based modules
  
 === Download == === Download ==
Line 53: Line 53:
 }}} }}}
  
-=== Initial configuration ===+==== Initial configuration ====
  
-Most installation instructions are to be found in the docs/INSTALL file. First of all a database has to be created. Afterwards, the setup script needs to be run. It will ask the webroot path and then further configuration, with a screen similar to the one below:+Most installation steps are described in the {{{$HORDE_INSTALL_DIR/docs/INSTALL}}} file. 
 + 
 +First of all a database has to be created. Afterwards, the setup script ({{{$HORDE_INSTALL_DIR/scripts/setup.php}}}) needs to be run ({{{php5-cli}}} package must be installed). It will ask for the webroot path and then will enable further configuration, using a screen similar to the one below:
  
 {{{ {{{
Line 70: Line 72:
 ==== Create database and tables === ==== Create database and tables ===
  
-The database configuration should run smoothly. Unfortunately, the 'Create database or tables' didn't go smoothly for me as I had the database already created, so I used the $HORDE_ROOT/scripts/sql/groupware.mysql.sql script:+The database configuration step {{{(1)}}} should run smoothly. However, the {{{'Create database or tables'}}} step {{{(2)}}} failed for me everytime as I had already created the database. As such I used the {{{$HORDE_INSTALL_DIR/scripts/sql/groupware.mysql.sql}}} script:
  
 {{{ {{{
 razvan@swarm:~/public_html/horde/scripts/sql$ mysql -u $MYSQL_USERNAME -h $MYSQL_HOSTNAME -p$MYSQL_PASSWORD $MYSQL_DATABASE razvan@swarm:~/public_html/horde/scripts/sql$ mysql -u $MYSQL_USERNAME -h $MYSQL_HOSTNAME -p$MYSQL_PASSWORD $MYSQL_DATABASE
 +[...]
 mysql> source groupware.mysql.sql mysql> source groupware.mysql.sql
 ERROR 1044 (42000): Access denied for user 'swarm_horde'@'swarm.cs.pub.ro' to database 'mysql' ERROR 1044 (42000): Access denied for user 'swarm_horde'@'swarm.cs.pub.ro' to database 'mysql'
Line 85: Line 88:
 }}} }}}
  
-There are some warnings at the beginning but they don't matter.+Do not worry about the above errors. The script is ment to be run by the MySQL root user, enabling the creation of the database and user. As I had already created the database and required user, those steps were not needed.
  
-==== Webroot update ====+=== Webroot update ===
  
-Because there may be problems detecting webroot (happened to me every time), updated $HORDE_ROOT/config/registry.php file and update the 'webroot' variable:+Because there may be problems detecting the webroot URL (happened to me every time), update the {{{$HORDE_INSTALL_DIR/config/registry.php}}} file (look for the {{{'webroot'}}} variable). In my case, this must be {{{'/~razvan/horde'}}}:
  
 {{{ {{{
Line 99: Line 102:
 }}} }}}
  
-To test the configuration, one has to access the test.php page (http://SERVER_NAME/WEB_ROOT/test.php). Anything marked with red is bad news. Also run tests for Imp, Ingo, Kronolith and Turba. +To test the configuration, one has to access the required web page ({{{http://SERVER_NAME/WEBROOT/test.php}}}). Anything marked with red is bad news and should be corrected. Most of the time the problem is missing packagesUse the specific web pages to run tests for IMP, Ingo, Kronolith and Turba.
- +
  
 === Configure authentication == === Configure authentication ==
  
-Configure webmail authentication:+I want IMAPS authentication for IMP (also for login). For that I use the {{{$HORDE_INSTALL_DIR/imp/config/server.php}}} file.
  
 {{{ {{{
Line 117: Line 118:
 }}} }}}
  
-By default, Horde Groupware uses IMP's IMAP authentication. The configuration option can be changed by altering the driver configuration option:+By default, Horde Groupware uses IMP's IMAP authentication. The configuration option can be changed by altering the {{{'driver'}}} configuration option in {{{$HORDE_INSTALL_DIR/config/conf.php}}}: 
 {{{ {{{
 +$conf['auth']['params']['app'] = 'imp';
 $conf['auth']['driver'] = 'application'; $conf['auth']['driver'] = 'application';
 }}} }}}
  
-=== Enable HTTPS ===+==== Enable HTTPS ===
 + 
 +You can configure HTTPS only access to Horde through the use of {{{mod_ssl}}} and {{{mod_rewrite}}} Apache modules. Replace {{{/~razvan/horde}}} with your webroot.
  
 {{{ {{{
Line 136: Line 141:
 }}} }}}
  
-=== Basic configuration end ===+==== That's it! ====
  
-Congratulations! You have a working instance of Horde Webmail Groupware installed. Accessing your base URL (http://SERVER_NAME/WEBROOT/) should get you to the secured login page.+Congratulations! You now have a working instance of Horde Webmail Groupware. Accessing your base URL ({{{http://SERVER_NAME/WEBROOT/}}}) should get you to the secured login page.
  
-== Extra configuration and customization ==+===== Extra configuration and customization =====
  
-=== Installing wicked ===+==== Installing wicked ====
  
-As mentioned above, wicked (Horde's integrated wiki) should be installed. In order to do that we have to download the CVS version, as mentioned [http://www.horde.org/source/using.php|on the site] (don't forget to install cvs)+As mentioned above, wicked (Horde's integrated wiki) should be installed. In order to do that we have to download the CVS version, as mentioned [[http://www.horde.org/source/using.php|on the site]] (don't forget to install {{{cvs}}})
  
 {{{ {{{
Line 154: Line 159:
 }}} }}}
  
-As mentioned [http://www.horde.org/source/modules.php|on the site], the tag for wicked's stable branch is FRAMEWORK_3, and this is what we will checkout:+As mentioned [[http://www.horde.org/source/modules.php|on the site]], the tag for wicked's stable branch is {{{FRAMEWORK_3}}}, and this is what will checkout:
  
 {{{ {{{
Line 166: Line 171:
 razvan@swarm:~/public_html/horde/wicked/scripts/sql$ ls razvan@swarm:~/public_html/horde/wicked/scripts/sql$ ls
 CVS  wicked.mssql.sql  wicked.oci8.sql  wicked.sql CVS  wicked.mssql.sql  wicked.oci8.sql  wicked.sql
-razvan@swarm:~/public_html/horde/wicked/scripts/sql$ mysql -u swarm_horde -h koala.cs.pub.ro -pohphaiphoh swarm_horde+razvan@swarm:~/public_html/horde/wicked/scripts/sql$ mysql -u $MYSQL_USERNAME -h $MYSQL_HOSTNAME -p$MYSQL_PASSWORD $MYSQL_DATABASE
 mysql> source wicked.sql mysql> source wicked.sql
 [...] [...]
 }}} }}}
  
-Run the wicked test.php script (http://SERVER_ROOT/WEBROOT/wicked/test.php). It should complain you do not have the Text_Wiki PEAR package installed. If you have privileges, you could use 'pear install'. Otherwise, use manual downloading:+Run the wicked test script ({{{http://SERVER_ROOT/WEBROOT/wicked/test.php}}}). It should complain you do not have the {{{Text_Wiki}}} [[http://pear.php.net/|PEAR]] package installed. If you have privileges, you could use {{{pear install}}}. Otherwise, use manual downloading:
  
 {{{ {{{
Line 195: Line 200:
 }}} }}}
  
-==== Enable creole markup ====+=== Enable Creole markup ===
  
-To enable Creole markup, use the configuration menu in the Administrative user interface.+To enable [[http://www.wikicreole.org/wiki/Home|Creole markup]], use the configuration menu in the {{{Administrative -> Setup -> Wicked}}} user interface. See [[tutorials:horde_groupware#ui_configuration|below]].
  
-=== Customization ===+==== Customization ====
  
-Certain features of Horde can be tuned either at global level, through the use of configuration files, or at user level, through the use of the configuration interface for each user.+Certain features of Horde can be tuned either at global level, through the use of configuration files or web user interface, or at user level, through the web user interface.
  
-==== Setup automatic configuration of default identity ====+=== Setup automatic configuration of default identity === 
 + 
 +When using IMP, I like automatic configuration of the {{{Default Identity}}} (sender address). For that I use a postauthentication script, as mentioned [[http://wiki.horde.org/CustomizingPreferences|here]] (search {{{David Komanek}}}). 
 + 
 +Update {{{$HORDE_INSTALL_DIR/config/hooks.php}}} with the script. Also update the postauthenticate configuration in {{{$HORDE_INSTALL_DIR/config/conf.php}}}:
  
-When using IMP, you would like automatic configuration of the Default Identity (sender address). For that we use a postauthentication script, as mentioned [http://wiki.horde.org/CustomizingPreferences|here] (search David Komanek). Update $HORDE_INSTALL_DIR/config/hooks.php with the script. Also update the postauthenticate configuration in $HORDE_INSTALL_DIR/config/conf.php 
 {{{ {{{
 $conf['hooks']['postauthenticate'] = true; $conf['hooks']['postauthenticate'] = true;
 }}} }}}
  
-==== Change default theme ====+=== Change default theme ===
  
-File to update: $HORDE_INSTALL_DIR/config/prefs.php +File to update: {{{$HORDE_INSTALL_DIR/config/prefs.php}}}; 
-Preference to alter: 'theme' (I like 'silver')+Preference to alter: {{{'theme'}}} (I like {{{'silver'}}});
  
 {{{ {{{
Line 223: Line 231:
 ==== Change default sidebar width === ==== Change default sidebar width ===
  
-As the sidebar is quite small, I like updating it from 150 to 200.+As the sidebar is quite small, I like updating it from {{{150}}} to {{{200}}}
  
-File to update: $HORDE_INSTALL_DIR/config/prefs.php +File to update: {{{$HORDE_INSTALL_DIR/config/prefs.php}}}; 
-Preference to alter: 'sidebar_width'+Preference to alter: {{{'sidebar_width'}}};
  
 {{{ {{{
Line 233: Line 241:
 }}} }}}
  
-==== IMP - configure default sending charset ====+=== IMP - configure default sending charset ===
  
-File to update: $HORDE_INSTALL_DIR/imp/config/prefs.php +File to update: {{{$HORDE_INSTALL_DIR/imp/config/prefs.php}}}; 
-Preference to alter: 'sending_charset'+Preference to alter: {{{'sending_charset'}}};
  
 {{{ {{{
Line 244: Line 252:
 }}} }}}
  
-==== IMP - disable view of deleted messages ====+=== IMP - disable view of deleted messages ===
  
-File to update: $HORDE_INSTALL_DIR/imp/config/prefs.php +File to update: {{{$HORDE_INSTALL_DIR/imp/config/prefs.php}}}; 
-Preference to alter: 'delhide'+Preference to alter: {{{'delhide'}}};
  
 {{{ {{{
Line 255: Line 263:
 }}} }}}
  
-==== Configure date and timezone options ====+=== Configure date and timezone options ===
  
-File to update: $HORDE_INSTALL_DIR/imp/config/prefs.php +File to update: {{{$HORDE_INSTALL_DIR/imp/config/prefs.php}}}; 
-Preferences to alter: 'first_week_day', 'twentyFour', 'date_format', 'timezone'+Preferences to alter: {{{'first_week_day'}}}{{{'twentyFour'}}}{{{'date_format'}}}{{{'timezone'}}};
  
 {{{ {{{
Line 279: Line 287:
 }}} }}}
  
-=== UI configuration ===+==== UI configuration ====
  
-==== User UI configuration ====+=== User UI configuration ===
  
-A non-admin user can alter his/hers configuration through the Options -> Global Options menu. The user can configure personal information, theme, sidebar width, time format, etc.+A non-admin user can alter his/hers configuration through the {{{Options -> Global Options}}} menu. The user can configure personal information, theme, sidebar width, time format, etc.
  
-==== Administrative UI configuration ====+=== Administrative UI configuration ===
  
-The administrative UI configuration is enabled through the Administration -> Setup menus. As the admin user is altering the configuration files, these must be writable by the web server user (www-data for Apache2) (the backup file must be created if it does not exist):+The administrative UI configuration is enabled through the {{{Administration -> Setup}}} menus. As the configuration files ({{{conf.php}}} and {{{conf.bak.php}}}) are altered through the web interfacethey must be writable by the web server user ({{{www-data}}} for Apache2) (the backup file must be created if it does not exist):
  
 {{{ {{{
Line 297: Line 305:
 }}} }}}
  
-==== Enable creole markup ====+=== Enable Creole markup ===
  
-The Administration -> Setup -> Wicked menu enable configuration of the built-in wiki. The usual configuration I'm doing is changing the default markup to creole (the $conf[wicked][format] variable).+The {{{Administration -> Setup -> Wicked}}} menu enables configuration of the built-in wiki. The usual configuration I'm doing is changing the default markup to Creole (the {{{$conf[wicked][format]}}} variable). 
 + 
 +==== Logging ==== 
 + 
 +By default, Horde logs information in {{{/tmp/horde}}}. Configuration can be altered through the use of the web interface ({{{Administration -> Setup -> Horde -> Logging}}}) or by using the {{{$HORDE_INSTALL_DIR/config/conf.php}}} file: 
 + 
 +{{{ 
 +$conf['log']['priority'] = PEAR_LOG_NOTICE; 
 +$conf['log']['ident'] = 'HORDE'; 
 +$conf['log']['params'] = array(); 
 +$conf['log']['name'] = '/tmp/horde.log'; 
 +$conf['log']['params']['append'] = true; 
 +$conf['log']['type'] = 'file'; 
 +$conf['log']['enabled'] = true; 
 +}}}
tutorials/horde_groupware.1249664421.txt.gz · Last modified: 2009/08/07 20:00 by razvan