[cvs] [Wiki] changed: FAQ/Admin/Prerequisites
Jan Schneider
jan at horde.org
Fri Feb 3 16:19:39 PST 2006
jan Fri, 03 Feb 2006 16:19:39 -0800
Modified page: http://wiki.horde.org/FAQ/Admin/Prerequisites
New Revision: 2.0
Change log: Reality check
@@ -4,62 +4,52 @@
[[toc]]
+++ 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.
+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 dosc/INSTALL) of the prerequisite packages you need to install.
+++ General prerequisites
++++ What does Horde need to run?
Horde itself requires the following:
-* A Web server, such as [http://www.apache.org/ Apache]
-* [http://www.php.net/ PHP], preferably version 4.
+* A web server, such as [http://www.apache.org/ Apache]
+* [http://www.php.net/ PHP].
* Horde 2.0 requires PHP 4.1.0, or PHP 4.0.6 with a manually upgraded PEAR.
* Horde 2.1 requires PHP 4.1.0 to 4.2.x, with at least 4.1.2 recommended
* Horde 2.2 require version 4.1.0 or better, with 4.3.0 recommended
* Horde 3.x and the CVS code requires version 4.3.0 or better.
* PHP 4.2.1 and above have missing modules from PEAR, which must be manually installed. See [http://www.horde.org/horde/docs/?f=INSTALL.html horde/docs/INSTALL] for more information.
* 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 3.0 and higher require the the PHP extensions gettext, xml, and domxml (or dom with PHP 5).
Horde can use the following, although they are not required:
* A secure, SSL-enabled webserver (such as Apache with [http://www.modssl.org/ mod_ssl])
* One of the following databases:
* [http://www.mysql.com/ MySQL]
* [http://www.postgresql.org/ PostgreSQL]
* Oracle
+ * MS-SQL
+ * SQLite
* Sybase
* Informix
+ * Any database supported by the [http://pear.php.net/DB PEAR DB package]
* An LDAP directory.
-* The PHP mcrypt extension (will allow more secure encryption)
+* Even more PHP extensions. See [http://www.horde.org/horde/docs/?f=INSTALL.html horde/docs/INSTALL] for more information.
-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.
+It should be noted that while a database is not technically //required//, it is strongly recommended. Development takes place on a systems with databases, and the majority of Horde users do the same.
-++++ Does Horde work with PHP5?
+++++ Does Horde work with PHP 5?
**[Horde 2.x]:** No.
**[Horde 3.x]:** Yes.
For a detailed answer read [http://janschneider.de/cweb/home/index,channel,25,story,183.html this article].
++++ 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:
-
-# If your Horde components require PHP support for specific packages (such as IMAP or database support), obtain and install those packages.
-# Obtain and untar [http://www.apache.org/ Apache] and [http://www.php.net/ PHP].
-# 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.
-# Move to the php directory and run {{./configure --help}}. Make sure that you note all of the options that your components need.
-# 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.
-# Run {{make install}}. If all is successful, PHP is installed and ready to go.
-# Change back to the Apache directory and run {{./configure --help}}. Make sure that you note all of the options your local configuration needs.
-# 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.
-# Run {{make}} and {{make install}}. You now have a PHP-enabled Apache installed.
-
-++++ 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 [ftp://ftp.horde.org/ 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.
+Please read the excellent [http://www.php.net/manual/en/install.php installation manual] on the PHP website.
++++ Do I really need gettext support?
**[Horde 1.x]:** Horde 1.x and IMP 2.x do not require gettext support.
@@ -91,9 +81,9 @@
* 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 [http://www.washington.edu/imap/ 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).
+* 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.
@@ -103,45 +93,45 @@
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.
+* IMP 3.x does not have a built-in address book, but rather uses the [http://www.horde.org/turba/ Turba] module of Horde which can be installed separately.
+
+IMP 4.x requirements are the same as above with the following exceptions and additions.
+
+* IMP 4.x does not have built-in filters, but rather uses the [http://www.horde.org/ingo/ Ingo] module of Horde which can be installed separately.
++++ 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//.
+IMP requires 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//. Many distributions ship with the c-client library, often with the package name //imap-devel//.
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:
# Move to the top directory of the UW-IMAP distribution.
# Run make with the correct argument for your operating system.
-# {{ln -s c-client include}}
-# {{mkdir lib}}
-# {{cd lib}}
-# {{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.)
++++ 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.
+Some IMAP servers also support IMAP-SSL, which encrypts the connection between the client and the server so as to protect passwords and 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 [http://www.stunnel.org/ 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 [http://www.stunnel.org/faq/examples.html#ToC6 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}}.
+**[IMP 3.x]:** If PHP is built against a recent version of c-client and using the configuration flag {{--with-imap-ssl}}, IMP supports IMAP-SSL and POP-SSL natively. Use {{imap/ssl}} or {{pop/ssl}} as the protocol type in {{horde/imp/config/servers.php}}.
++++ 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.//
+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.
-**[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:
+**[IMP 2.2]:** In {{horde/imp/config/defaults.php3}}, edit these settings:
<code type="php">
$default->folders = "";
$default->sent_mail = "Sent Items";
$default->postponed = "Drafts";
</code>
+
+**[IMP 3.x]: Recent versions of IMP have an example configuration for Exchange servers in the {{imp/config/servers.php.dist}} file.
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.
@@ -169,16 +159,16 @@
++++ 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 [http://www.mysql.com/ MySQL] and [http://www.postgresql.org/ 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.
+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 [http://www.mysql.com/ MySQL] and [http://www.postgresql.org/ PostgreSQL]. Since they are free (and Oracle, MS-SQL, 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.
+Those of you with existing Oracle, MS-SQL, 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.
++++ 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/).
+**[IMP 3.x]:** You //can//, but 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/}} or {{horde/scripts/sql/}}).
++++ Should I use wordview or wvHtml?
Yes!
@@ -201,20 +191,20 @@
++++ Is Sendmail required?
Yes and no.
**[IMP 2.2]:** There's absolutely nothing at all forcing you to use [http://www.sendmail.org/ 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 [ftp://metalab.unc.edu/pub/Linux/system/mail/mta/ ssmtp] or [http://em.ca/~bruceg/nullmailer/ nullmailer] which 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.
+
+**[IMP 3.x]:** IMP 3.x can use either a local sendmail (compatible) 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.
+++ Turba prerequisites
++++ 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:
+Aside from the general Horde requirements, Turba 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
More information about the cvs
mailing list