This shows you the differences between two versions of the page.
tutorials:horde_groupware [2009/08/07 20:40] razvan |
tutorials:horde_groupware [2020/07/20 09:16] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | = Installing and configuring Horde Groupware = | ||
- | [[http:// | ||
- | |||
- | We've started using Horde Groupware for [[https:// | ||
- | |||
- | == Install and basic configuration == | ||
- | |||
- | The installation and configuration process is complex but quite straightforward. Horde' | ||
- | |||
- | I will detail my installation/ | ||
- | |||
- | I didn't use [[http:// | ||
- | |||
- | === System settings and requirements === | ||
- | |||
- | The following list shows the system configuration and setting and desired features. I 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 | ||
- | * Horde Webmail Groupware | ||
- | * non-privileged account | ||
- | * Apache2 web-server | ||
- | * MySQL | ||
- | * IMAPS e-mail access | ||
- | * IMAPS login | ||
- | * Horde builtin wiki (wicked) | ||
- | |||
- | === 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:// | ||
- | |||
- | * apache2 | ||
- | * libapache2-mod-php5 | ||
- | * mysql-client-5.0 | ||
- | * php5 | ||
- | * php5-cli | ||
- | * php-pear | ||
- | * php5-imap | ||
- | * cvs for CVS-based modules | ||
- | |||
- | === Download == | ||
- | |||
- | You should [[http:// | ||
- | |||
- | {{{ | ||
- | razvan@swarm: | ||
- | razvan@swarm: | ||
- | [...] | ||
- | Downloaded: 1 files, 26M in 1m 33s (288 KB/s) | ||
- | razvan@swarm: | ||
- | razvan@swarm: | ||
- | razvan@swarm: | ||
- | }}} | ||
- | |||
- | === Initial configuration === | ||
- | |||
- | Most installation steps are described in the {{{$HORDE_INSTALL_DIR/ | ||
- | |||
- | First of all a database has to be created. Afterwards, the setup script ({{{$HORDE_INSTALL_DIR/ | ||
- | |||
- | {{{ | ||
- | Horde Groupware Webmail Edition Configuration Menu | ||
- | (0) Exit | ||
- | (1) Configure database settings | ||
- | (2) Create database or tables | ||
- | (3) Configure administrator settings | ||
- | (4) Update from an older Horde Groupware Webmail Edition version | ||
- | |||
- | Type your choice: | ||
- | }}} | ||
- | |||
- | ==== Create database and tables === | ||
- | |||
- | The database configuration step {{{(1)}}} should run smoothly. However, the {{{' | ||
- | |||
- | {{{ | ||
- | razvan@swarm: | ||
- | [...] | ||
- | mysql> source groupware.mysql.sql | ||
- | ERROR 1044 (42000): Access denied for user ' | ||
- | ERROR 1146 (42S02): Table ' | ||
- | ERROR 1146 (42S02): Table ' | ||
- | ERROR 1227 (42000): Access denied; you need the RELOAD privilege for this operation | ||
- | ERROR 1044 (42000): Access denied for user ' | ||
- | ERROR 1044 (42000): Access denied for user ' | ||
- | [...] | ||
- | Query OK, 0 rows affected (0.05 sec) | ||
- | }}} | ||
- | |||
- | 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 ==== | ||
- | |||
- | Because there may be problems detecting the webroot URL (happened to me every time), update the {{{$HORDE_INSTALL_DIR/ | ||
- | |||
- | {{{ | ||
- | [...] | ||
- | $this-> | ||
- | ' | ||
- | ' | ||
- | [...] | ||
- | }}} | ||
- | |||
- | To test the configuration, | ||
- | |||
- | === Configure authentication == | ||
- | |||
- | I want IMAPS authentication for IMP (also for login). For that I use the {{{$HORDE_INSTALL_DIR/ | ||
- | |||
- | {{{ | ||
- | $servers[' | ||
- | ' | ||
- | ' | ||
- | ' | ||
- | ' | ||
- | ' | ||
- | ); | ||
- | }}} | ||
- | |||
- | By default, Horde Groupware uses IMP's IMAP authentication. The configuration option can be changed by altering the {{{' | ||
- | |||
- | {{{ | ||
- | $conf[' | ||
- | $conf[' | ||
- | }}} | ||
- | |||
- | === Enable HTTPS === | ||
- | |||
- | You can configure HTTPS only access to Horde through the use of {{{mod_ssl}}} and {{{mod_rewrite}}} Apache modules. Replace {{{/ | ||
- | |||
- | {{{ | ||
- | < | ||
- | < | ||
- | < | ||
- | RewriteEngine on | ||
- | RewriteCond %{HTTPS} !^on$ [NC] | ||
- | RewriteRule . https:// | ||
- | </ | ||
- | </ | ||
- | </ | ||
- | }}} | ||
- | |||
- | === That's it! === | ||
- | |||
- | Congratulations! You now have a working instance of Horde Webmail Groupware. Accessing your base URL ({{{http:// | ||
- | |||
- | == Extra configuration and customization == | ||
- | |||
- | === Installing wicked === | ||
- | |||
- | As mentioned above, wicked (Horde' | ||
- | |||
- | {{{ | ||
- | razvan@swarm: | ||
- | razvan@swarm: | ||
- | Logging in to : | ||
- | CVS password: | ||
- | cvs login: CVS password file / | ||
- | }}} | ||
- | |||
- | As mentioned [[http:// | ||
- | |||
- | {{{ | ||
- | razvan@swarm: | ||
- | }}} | ||
- | |||
- | The sql scripts have to be run in a similar fashion to the first set of scripts: | ||
- | |||
- | {{{ | ||
- | razvan@swarm: | ||
- | razvan@swarm: | ||
- | CVS wicked.mssql.sql | ||
- | razvan@swarm: | ||
- | mysql> source wicked.sql | ||
- | [...] | ||
- | }}} | ||
- | |||
- | Run the wicked test script ({{{http:// | ||
- | |||
- | {{{ | ||
- | razvan@swarm: | ||
- | razvan@swarm: | ||
- | 2009-08-07 18:36:28 (403 KB/s) - `Text_Wiki-1.2.0.tgz' | ||
- | |||
- | razvan@swarm: | ||
- | 2009-08-07 18:36:42 (191 KB/s) - `Text_Wiki_Creole-1.0.1.tgz' | ||
- | |||
- | razvan@swarm: | ||
- | Archive | ||
- | Auth | ||
- | Cache File Mail SOAP Text_Wiki_Creole-1.0.1 | ||
- | Cache.php | ||
- | Console | ||
- | DB | ||
- | DB.php | ||
- | razvan@swarm: | ||
- | razvan@swarm: | ||
- | razvan@swarm: | ||
- | razvan@swarm: | ||
- | }}} | ||
- | |||
- | ==== Enable Creole markup ==== | ||
- | |||
- | To enable [[http:// | ||
- | |||
- | === Customization === | ||
- | |||
- | 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 ==== | ||
- | |||
- | When using IMP, I like automatic configuration of the {{{Default Identity}}} (sender address). For that I use a postauthentication script, as mentioned [[http:// | ||
- | |||
- | Update {{{$HORDE_INSTALL_DIR/ | ||
- | |||
- | {{{ | ||
- | $conf[' | ||
- | }}} | ||
- | |||
- | ==== Change default theme ==== | ||
- | |||
- | File to update: {{{$HORDE_INSTALL_DIR/ | ||
- | Preference to alter: {{{' | ||
- | |||
- | {{{ | ||
- | // UI theme | ||
- | $_prefs[' | ||
- | ' | ||
- | }}} | ||
- | |||
- | ==== Change default sidebar width === | ||
- | |||
- | As the sidebar is quite small, I like updating it from {{{150}}} to {{{200}}} | ||
- | |||
- | File to update: {{{$HORDE_INSTALL_DIR/ | ||
- | Preference to alter: {{{' | ||
- | |||
- | {{{ | ||
- | $_prefs[' | ||
- | ' | ||
- | }}} | ||
- | |||
- | ==== IMP - configure default sending charset ==== | ||
- | |||
- | File to update: {{{$HORDE_INSTALL_DIR/ | ||
- | Preference to alter: {{{' | ||
- | |||
- | {{{ | ||
- | // Select widget for the possible charsets | ||
- | $_prefs[' | ||
- | ' | ||
- | }}} | ||
- | |||
- | ==== IMP - disable view of deleted messages ==== | ||
- | |||
- | File to update: {{{$HORDE_INSTALL_DIR/ | ||
- | Preference to alter: {{{' | ||
- | |||
- | {{{ | ||
- | // hide deleted | ||
- | $_prefs[' | ||
- | ' | ||
- | }}} | ||
- | |||
- | ==== Configure date and timezone options ==== | ||
- | |||
- | File to update: {{{$HORDE_INSTALL_DIR/ | ||
- | Preferences to alter: {{{' | ||
- | |||
- | {{{ | ||
- | // what day should be displayed as the first day of the week? (0 - Sunday, 1 - Monday) | ||
- | $_prefs[' | ||
- | ' | ||
- | [...] | ||
- | // time format | ||
- | $_prefs[' | ||
- | ' | ||
- | [...] | ||
- | // date format | ||
- | $_prefs[' | ||
- | ' | ||
- | [...] | ||
- | // user time zone | ||
- | $_prefs[' | ||
- | ' | ||
- | [...] | ||
- | }}} | ||
- | |||
- | === 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, | ||
- | |||
- | ==== Administrative UI configuration ==== | ||
- | |||
- | 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 interface, they must be writable by the web server user ({{{www-data}}} for Apache2) (the backup file must be created if it does not exist): | ||
- | |||
- | {{{ | ||
- | razvan@swarm: | ||
- | razvan@swarm: | ||
- | [...] | ||
- | razvan@swarm: | ||
- | razvan@swarm: | ||
- | }}} | ||
- | |||
- | ==== Enable Creole markup ==== | ||
- | |||
- | 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). |