[cvs] [Wiki] changed: FAQAdminPrereq

Wiki Guest wiki at wiki.horde.org
Tue May 11 23:00:07 PDT 2004


guest [24.237.92.128]  Tue, 11 May 2004 23:00:07 -0700

Modified page: http://wiki.horde.org/display.php?page=FAQAdminPrereq
New Revision:  2.0

@@ -1 +1,234 @@
+2. Obtaining and Installing Prerequisite Packages
 
+    2.1 About this FAQ section
+    2.2 General prerequisites
+
+        2.2.1 What does Horde need to run?
+        2.2.2 How do I build Apache with PHP?
+        2.2.3 Can I install Horde's prerequisites from RPMs?
+        2.2.4 Do I really need gettext support? 
+
+    2.3 IMP prerequisites
+
+        2.3.1 What does IMP need to run?
+        2.3.2 I don't use UW-IMAP. How can I build IMAP support into PHP?
+        2.3.3 How can I use secure/encrypted IMAP-SSL connections?
+        2.3.4 How can I use Microsoft Exchange as my IMAP server?
+        2.3.5 Can I use POP3 instead of IMAP?
+        2.3.6 Which database should I use?
+        2.3.7 Can I run Horde without a database?
+        2.3.8 Should I use wordview or wvHtml?
+        2.3.9 Do I have to install Sendmail? 
+
+    2.4 Turba prerequisites
+
+        2.4.1 What does Turba need to run?
+
+[Return to Table of Contents]
+2.1 About this FAQ section
+
+    This section of the FAQ addresses issues that routinely come up while installing programs and packages upon which Horde and its components depend. This is not a step-by-step guide to installing any of the components. In other words, you'll still need to read the installation instructions (usually in README and INSTALL) of the prerequisite packages you need to install. 
+
+2.2 General prerequisites
+
+    2.2.1 What does Horde need to run?
+    Horde itself requires the following:
+
+        * A Web server, such as Apache
+        * PHP, preferably version 4.
+              o Horde 2.0 requires PHP 4.1.0, or PHP 4.0.6 with a manually upgraded PEAR.
+              o Horde 2.1 requires PHP 4.1.0 to 4.2.x, with at least 4.1.2 recommended
+              o Horde 2.2 require version 4.1.0 or better, with 4.3.0 recommended
+              o Horde 3.x (CVS HEAD branch) requires version 4.2.1 or better.
+              o PHP 4.2.1 and above have missing modules from PEAR, which must be manually installed. See horde/docs/INSTALL for more information.
+              o PHP 4.2.3 has some problems with the imap routines, and may cause problems. We recommend you not use 4.2.3
+        * Horde 2.0 and higher require the PHP extensions gettext and xml.
+        * Horde 3.0 and higher require the PHP extensions gettext, xml, and domxml.
+
+    Horde can use the following, although they are not required:
+
+        * A secure, SSL-enabled webserver (such as Apache with mod_ssl)
+        * One of the following databases:
+              o MySQL
+              o PostgreSQL
+              o Oracle
+              o Sybase
+              o Informix
+        * An LDAP directory.
+        * The PHP mcrypt extension (will allow more secure encryption)
+
+    It should be noted that while a database is not technically required, it is strongly recommended. While Horde can track its sessions in shared memory, development takes place on a system with a database, and the majority of Horde users do the same.
+    2.2.2 How do I build Apache with PHP?
+    The following is not meant to spare you from having to read the installation instructions that come with PHP and Apache, but since some of the steps aren't exactly intuitive, the general procedure is as follows:
+
+       1. If your Horde components require PHP support for specific packages (such as IMAP or database support), obtain and install those packages.
+       2. Obtain and untar Apache and PHP.
+       3. Move into the apache directory and run ./configure once. Don't worry about arguments for now; this run is just to put things that PHP requires in place.
+       4. Move to the php directory and run ./configure --help. Make sure that you note all of the options that your components need.
+       5. Run ./configure. A basic configuration with MySQL and IMAP support would be
+
+   ./configure --with-apache=../apache-1.3.12 \
+               --with-mysql=/usr/local/mysql \
+               --with-imap=../imap-4.7c 
+  
+
+          where ../apache-1.3.12 is your Apache source directory, and ../imap-4.7c is your UW-IMAP source directory, and /usr/local/mysql is your MySQL installation directory.
+       6. Run make install. If all is successful, PHP is installed and ready to go.
+       7. Change back to the Apache directory and run ./configure --help. Make sure that you note all of the options your local configuration needs.
+       8. Run ./configure. A basic configuration with PHP version 4 would be
+
+   ./configure --activate-module=src/modules/php4/libphp4.a
+       
+
+          Note that the file src/modules/php4/libphp4.a does not exist yet. While that seems wrong, that's how it's supposed to work, and it will be built when Apache builds.
+       9. Run make and make install. You now have a PHP-enabled Apache installed.
+
+    2.2.3 Can I install Horde's prerequisites from RPMs?
+    In order to provide a seamless RPM-based installation of Horde, the Horde developers have put together customized PHP RPMs with the appropriate --with configure options and with any necessary patches already applied. Those RPMs are available on the Horde FTP site. A thorough explanation of an RPM-based Horde prerequisite installation is available in the README file in the RPMs directory on ftp.horde.org. RPMs for PHP version 4 should be appearing soon.
+    2.2.4 Do I really need gettext support?
+
+    [IMP 2.x]: Horde 1.x and IMP 2.x do not require gettext support.
+
+    [IMP 3.x]: At a minimum, Horde 2.x and its applications require gettext support in PHP. Horde will not run without gettext support in php. In addition, if you wish to have the messages translated, then you will require working gettext support in the operating system and the desired locales installed for the languages you want to support. Some operating system specific notes follow.
+
+    Debian Linux: You can configure the locale support with the command dpkg-reconfigure locales
+
+    (In the rare case that the above command returns an error about locales not being installed, you should use the command apt-get install locales to install and configure the locales).
+
+    RedHat Linux: You will need the following RPMS gettext and php-gettext installed.
+
+    With RedHat 8.0 and above, if your only getting English no matter what language you select, try re-installing glibc-common. You can do this with a command such as: rpm -Uhv --force glibc-common-2.2.93-5.i386.rpm
+
+    Slackware Linux: Make sure you have the glibc-i18n package installed. Make sure in /etc/apache/php.ini you set register_argc_argv = On (it's Off by default) and that you enable the gettext extension by setting adding or uncommenting extension=gettext.so also (also not enabled by default).
+
+    SuSe Linux: Make sure you have the glibc-locale package installed. You can install it via the yast configuration tool.
+
+    Solaris: On Solaris 7, you must have installed the Partial Locales (SUNWploc) and Supplementary Partial Locales (SUNWploc1) packages. On Solaris 8, you must install the local packages required for the locales you desire (for example, you may need to install SUNWweuos for Western European locales or SUNWmeaos for Middle Eastern locales). Horde assumes that the Sun Solaris gettext implementation is in place. If you have installed the GNU gettext instead or in addition, you may have problems. In particular you must make sure that your web server software and php software are linked to the same version of gettext (e.g. libintl.so). See the file /horde/po/README for more information. (Since Horde 2.2 this information is instead located in /horde/docs/TRANSLATIONS)
+
+    On some systems, in particular on Solaris, you will need to rebuild the Horde locale files. You may need to restart the web server after rebuilding the locale files in order for the web server to see the new files.
+
+    For more information, see the file /horde/docs/TRANSLATIONS.
+
+2.3 IMP prerequisites
+
+    2.3.1 What does IMP need to run?
+    Aside from the general Horde requirements, IMP 2.2 requires:
+
+        * A database. As with Horde, this is ostensibly optional, but major functionality will be lost without a database and a database-enabled PHP, including address books and user preferences.
+        * The UW-IMAP c-client libraries, available as part of the UW-IMAP server package.
+        * An IMAP server to connect to (which need not be on the same machine as the webserver).
+        * The php extension for imap must be enabled (even if using pop3).
+
+    IMP 2.2 can use the following, although they are not required:
+
+        * An LDAP server to connect to. To use LDAP for address book lookups, you must configure PHP with the --with-ldap option.
+        * Sendmail installed on the webserver.
+        * Ispell, or a drop-in replacement like aspell, installed on the webserver.
+
+    IMP 3.x requirements are the same as above with the following exceptions and additions.
+
+        * IMP 3.x requires Horde 2.0 or better.
+        * IMP 3.x can use a remote SMTP host rather than using Sendmail installed on the webserver.
+        * IMP 3.x does not have an built-in address book, but rather uses the Turba module of Horde which can be installed separately.
+
+    2.3.2 I don't use UW-IMAP. How can I build IMAP support into PHP?
+    IMP 2.2 and 3.x require that PHP be built with IMAP support; PHP requires that the UW-IMAP "c-client" library be available during compilation. This library is the reference IMAP implementation and is only an IMAP client.
+
+    It has nothing to do with the IMAP server that you use; even if you use the Courier or Cyrus IMAP server, you must download the UW-IMAP package and build c-client on the same machine as the webserver. The steps to build only the c-client libraries are as follows:
+
+       1. Move to the top directory of the UW-IMAP distribution.
+       2. Run make with the correct argument for your operating system.
+       3. ln -s c-client include
+       4. mkdir lib
+       5. cd lib
+       6. ln -s ../c-client/c-client.a libc-client.a
+
+    and then point PHP configure's --with-imap option at the top directory of the UW-IMAP distribution. (There is no need to make install in the IMAP distribution.)
+    2.3.3 How can I use secure/encrypted IMAP-SSL connections?
+    Some IMAP servers also support IMAP-SSL, which encrypts the connection between the client and the server so as to protect passwords (and, I suppose, message content) which would otherwise be passed in plaintext.
+
+    [IMP 2.2]: While IMP 2.2 doesn't support IMAP-SSL directly, by using the stunnel SSL-tunneling program, you can make IMP use SSL connections; you can even use stunnel on both ends of the connection to make IMP use an SSL connection to an IMAP server which doesn't support SSL connections.
+
+    The stunnel FAQ explains the latter case; if your IMAP server already speaks SSL, you only need to complete the client-side steps.
+
+    [IMP 3.x]: If PHP is built against a recent version of c-client, IMP supports IMAP-SSL and POP-SSL natively. Use "imap/ssl" or "pop/ssl" as the protocol type in horde/imp/config/servers.php.
+    2.3.4 How can I use Microsoft Exchange as my IMAP server?
+    Note: The FAQ maintainer does not use Exchange, or even NT. The following comes from Alex Howansky, a contributor to the old FAQ, and is included with minor editing exactly as he wrote it then.
+
+    [IMP 2.2]: First, you must enable IMAP access in the Exchange Administrator. Expand your main container, and click Protocols. Double-click IMAP4. Check the Enable Protocol check box. Jason Haar also suggests unchecking the Enable Fast Message Retrieval check box if you experience problems with missing attachments. If you only want certain users to have IMP access, you can use the Exchange Administrator to disable IMAP for individual mailboxes.
+
+    In horde/imp/config/defaults.php3, edit these settings:
+
+   $default->folders   = "";
+   $default->sent_mail = "Sent Items";
+   $default->postponed = "Drafts";
+
+    For the IMP username, use nt_domain\nt_login_id\exchange_alias. If your Exchange alias is the same as your NT login id, you may be able to use just the Exchange alias for the IMP username. Use your NT domain password for the IMP password.
+
+    Once logged in, you will have access to all your Exchange data, including calendar, tasks, contacts, etc. You can use the Imp folder management interface to subscribe and unsubscribe from these folders. Exchange serves up everything via IMAP, and IMP will happily display the contents of the non-email folders as if they were email messages. As a result, they aren't terribly useful and not at all editable, but at least you can see some detail.
+    2.3.5 Can I use POP3 instead of IMAP?
+
+    [IMP 2.2]: Certainly! IMP supports IMAP, POP3, and even NNTP; just specify the appropriate protocol in horde/imp/config/servers.php3 or set
+
+   $default->user_change_servtype = true;          
+   $default->user_change_port = true;
+
+    or
+
+   $default->servtype = 'pop3';
+   $default->port = '110';
+
+    in horde/imp/config/default.php3.
+
+    [IMP 3.x]: Certainly! IMP supports IMAP and POP3; just specify the appropriate protocol for each server in horde/imp/config/servers.php as described in the comments at the top of that file.
+
+    Keep in mind that PHP will always have to be compiled with the --with-imap option to configure, and built against the IMAP c-client libraries, even if you're not going to use it with an IMAP server.
+    2.3.6 Which database should I use?
+    The one you already have, of course!
+
+    Well, no, that's not exactly true. Horde supports a wide variety of database backends. The most stable databases to use with Horde and IMP are MySQL and PostgreSQL. Since they are free (and Oracle, Informix and Sybase are not), they're the ones that get the most use by developers and by those installing IMP who don't already have a commercial RDBMS lying around. Choosing between MySQL and PostgreSQL is as much a religious issue as a technical one; MySQL was traditionally considered to be faster but at the expense of robustness and providing commercial-RDBMS features, while PostgreSQL was traditionally considered to suffer slightly in performance and ease of management while being more of an enterprise-class database. Recent versions of PostgreSQL and MySQL are probably of about the same performance. MySql is probably more popular however due to these historical circumstances and considerations.
+
+    Those of you with existing Oracle, Informix or Sybase installations will be happy to know that you can use them with IMP as well. The only disadvantage to that is that it might require a little more work to configure, simply because it hasn't been tested to the extent that the free databases have.
+    2.3.7 Can I run IMP without a database?
+    [IMP 2.2]: You can, by configuring PHPlib to use shared memory for sessions, but other database functionality such as preferences and non-LDAP contact lists will not be available. We strongly recommend using a database with IMP (and include everything you need for configuring the horde database once your database software is installed).
+
+    [IMP 3.x]: You can, by configuring php to use shared memory for sessions, but other database functionality such as persistent preferences will not be available. We strongly recommend using a database with IMP (and include everything you need for configuring the horde database once your database software is installed -- see the files in horde/scripts/db/).
+    2.3.8 Should I use wordview or wvHtml?
+    Yes!
+
+    Wordview and wvWare are the old name and the new name of the same program; the name was changed after it was realized that there was the potential for confusion between it and Microsoft's own "wordview".
+
+    [IMP 2.2]: The option syntax changed between the last "wordview" version and the first "wvHtml" version, though; if you're using a "wordview" version, make sure you have something similar to
+
+   $default->path_to_mswordview = '/usr/bin/mswordview -o -'
+
+    in your horde/imp/config/defaults.php3. If you're using wvHtml, the above variable need only be set to the path to the program, without the trailing arguments.
+    [IMP 3.x]:
+
+    IMP 3.x ships ready for wvHtml support, but with the support disabled by default. Simply edit the file horde/config/mime_drivers.php and uncomment the needed lines.
+
+    You will need to uncomment the reference to msword in the $mime_drivers_map['horde']['registered'] array, and then uncomment the stanza later in the file dealing with wvHtml. Last, you will need to make sure that the path specified in the $mime_drivers['horde']['msword']['location'] variable is correct for your system.
+
+    Support for excel files is also available via the xlhtml, and is configured the same was as wvHtml (substituting xlhtml for wvHtml, and msexcel for msword were applicable).
+    2.3.9 Is Sendmail required?
+    Yes and no.
+
+    [IMP 2.2]: There's absolutely nothing at all forcing you to use Sendmail proper, but IMP does require a command-line program on the webserver from which it can send mail, using the same arguments that Sendmail takes. In other words, IMP cannot send mail over SMTP all by itself.
+
+    [IMP 3.x]: IMP 3.x can use either a local sendmail program, or connect to a remote SMTP gateway. So if you have access to a remote SMTP gateway, then there is no need to install sendmail (or equivalent) on the webserver.
+
+    If you don't need an entire mail server on the machine on which IMP runs, you might like ssmtpor nullmailerwhich provides a sendmail-compatible interface, but merely takes the mail and hands it off to the SMTP server of your choice.
+
+    Some mailers (like Postfix and qmail) have wrapper scripts that accept the sendmail syntax. These programs should work with IMP as long as the wrapper script accurately implements the sendmail syntax and semantics.
+
+2.4 Turba prerequisites
+
+    2.4.1 What does Turba need to run?
+
+    Aside from the general Horde requirements, Turba 1.1 does not have any real requirements. However, the following are strongly recommended and will be needed in most cases:
+
+        * SQL and/or LDAP support in PHP
+        * An SQL or LDAP data store
+
+[Return to Top]
+ 


More information about the cvs mailing list