6.0.0-git
2024-05-02

Diff for FAQ/Admin/Install between 7 and 8

+ Horde Administrator's FAQ



++ Obtaining and Installing Horde and Components



[[toc]]



+++ Where can I obtain Horde and its components?



Go to our [http://www.horde.org/download/ Download Page].



All components which have never seen a stable release are available through CVS. [http://www.horde.org/source/using.php Step-by-step directions] for obtaining them with CVS are available on the Horde website.



(Please keep in mind that anything that hasn't seen a stable release hasn't seen it for a reason; while some of the components are functional at this point and may be capable of being used in production, they're still not quite ready in the eyes of the developers, and might be buggy in interesting and well-hidden ways.)



Nightly snapshots of all CVS modules are also available at [http://snaps.horde.org/ Snapshot site] in tar formats. Since these are unattended, automatted snapshots they may not always be stable or even work at all. They are mostly intended for those who need the CVS code but do not have access to CVS.



+++ What version of Horde should I be using?



See [http://www.horde.org/source/versions.php Horde Version Compatibility].



++++ What version of IMP should I be using?



See [http://www.horde.org/source/versions.php Horde Version Compatibility].



+++ Can I install Horde and its components as precompiled packages?



On some Linux distributions, it is possible to install Horde and any of its stable components from precompiled packages.



The Horde Project no longer makes our own RPMs available (old packages can be found [ftp://ftp.horde.org/pub/RPMS/ here]).



Debian users can install IMP through their package manager as well; the IMP packages are available in the [http://packages.debian.org/stable/web/imp.html stable distribution].



++++ How can I make Debian's PHP package use IMAP-SSL?



##red|These instructions are quite old.##



[mailto:jhealy@logn.net Jason Healy] contributed these instructions for building PHP with IMAP-SSL support. He tested them on a Debian testing system (Woody) with PHP 4.0.5-2.



Find a nice quiet directory (replace {{/usr/local/src}} or your favorite source tree location):



<code>

mkdir /usr/local/src

cd /usr/local/src

</code>



Get the source to the PHP IMAP package (you must have {{deb-src:}} lines in your {{/etc/apt/sources.list}} for this to work)



<code>

apt-get source php4-imap

</code>



This will download and unpack the source to the php4 package.



Make sure that you have all the development tools necessary to build the php4 package. A list of them can be found in {{/usr/local/src/php4_VERSION.dscM}}. Install all of those packages with {{apt-get}}. Make sure to use {{libc-client-ssl2000}} and {{libc-client-ssl2000-dev}} (in {{non-us}}) instead of plain {{libc-client}}.



Move into the source tree unpacked by Debian:



<code>

cd /usr/local/src/php4-VERSION/debian

</code>



Make these two changes: in the file rules, add the line



<code>

--with-imap-ssl  \

</code>



directly under the line



<code>

--with-imap=shared  \

</code>



and in the file {{libc-client.la}}, change the line



<code>

dependency_libs=' -lpam -ldl -lcrypt'

</code>



to read



<code>

dependency_libs=' -lpam -ldl -lcrypt -lc-client -lssl -lcrypto'

</code>



(and in case you're wondering, the added flags are given in {{/usr/share/doc/libc-client-ssl2000-dev/README.Debian}}).



Then move into the root of the unpacked source directory:



<code>

cd /usr/local/src/php4-VERSION

</code>



and build the package (the {{-us -uc}} options prevent you from trying to cryptographically sign the binaries):



<code>

dpkg-buildpackage -us -uc -rsudo

</code>



You can also use {{-rfakeroot}}, or whatever your favorite root enabler is.



Wait for the compile to finish. If it doesn't work, make sure you've installed all the devel packages you need, and then start making burnt offerings.



When the compile succeeds, move up to the root level of the source:



<code>

cd /usr/local/src

</code>



and then install all of the new debs that you've created. Note that you //must// install the new {{php4-VERSION.deb}} that is built, as all the modules are compiled against it. You cannot mix your newly-compiled php4 with any existing modules from the debian package system. So if you already have php4, php4-gd, and php4-imap on your system from Debian, you have to install php4, php4-gd, and php4-imap from your new source directory for everything to continue working. In the example above, you'd say (as root):



<code>

dpkg -i php4_VERSION.deb php4-imap_VERSION.deb php4-gd_VERSION.deb

</code>



Once that's all done, restart the webserver, and see if SSL works!



//NOTES//: If the compile breaks, check the package dependencies in the .dsc file and make sure you have them installed correctly. Also, make sure that the flags you add to the {{libc-client.la}} file match those specified in the libc-client-ssl README.



If your webserver refuses to restart, it's probably because you're mixing old and new PHP modules. You cannot just replace the IMAP module with your new compiled version; you must use your newly compiled php4 base, plus ALL the modules you compiled that match those already on your system. {{dpkg -i}} should replace the modules on your system with the newly compiled ones without causing any dependency problems.



+++ How do I install from CVS?



[http://www.horde.org/source/using.php Step-by-step directions] for obtaining the software with CVS are available on the Horde website. In addition, please note the following issues which often come up:



* When updating via CVS, it is critical that you watch for //Conflicts// as noted by the //C// flag in the output. Any conflicts must be resolved by manually editing the file.

* When updating via CVS, make sure you check for any configuration files ({{config/*.php.dist}} or {{config/*.xml}}) which have been modified. You will need to manually merge any changes to these files into your working configuration files.

* Before reporting an error with a CVS version of some software, make sure you have updated it so that you don't report errors which have already been fixed.

* After some CVS updates, you may have to logout of your session, restart your browser, or even restart your web server for the changes to be seen.



+++ How do I upgrade via patch files?



Upgrading from the patch files is an easy way to upgrade the code base. Note however that it is preferable to upgrade from the tar files or from CVS/rsync, as the patch files will only update the code and text files and not the binary files such as images, compiled translations, and so on.



How to upgrade via the provided patch files is operating system dependent. The following directions will work for most unix based systems. Consult your operating system software documentation for additional information or for information on using patch sets for other operating systems.



##red|Please be aware that if any binary files were added or changed between patched versions that they will NOT be automatically updated.  You will need to manually add or genenerate these binary files to your application directories. These are for example images, sounds or translations.##



First, make sure you meet all the pre-requesites for the new version. See the appropriate section of this FAQ for more information.



Next, download the patch file into the directory where the software resides. For Horde use your Horde directory, for IMP use your IMP directory, and so on. The following examples will use IMP as an example, and assume you have already downloaded the patch file to the imp directory.



It is advisable, for various reasons, to stop your Horde web services before you do an upgrade, and restart them afterwards. While not always required, doing so may help provide a more successful upgrade.



<code>

cd imp

gunzip patch-imp-4.0.4-4.1.gz

patch -p1 < patch-imp-4.0.4-4.1

</code>



You can rebuild the compiled translations if you have all necessary packages installed:



<code>

cd po

/path/to/horde/po/translation.php make --module imp --no-compendium

</code>



See {{po/README}} for details.



As the upgrade process does not change your configuration files, but rather only operates on the {{*.php.dist}} files in the configuration directories. So you will need to manually compare your configuration files to their respective {{*.dist}} version, and merge in any changes or additions needed.



Be sure to check for a file called {{docs/UPGRADING}} or {{docs/UPDATE}} for additional information such as updates to database layouts or other changes which may be needed. This file will not always exist (if no additional steps are needed when upgrading) so don't panic if it isn't there!



If you shut down your web services, then restart them at this point. Even if you did not shut down your services before the upgrade, in some cases you may need to restart your web server at this point anyway.