================
Installing Silva
================

Meta
----

Copyright (c) 2002-2009 Infrae. All rights reserved.
See also LICENSE.txt

Valid for:  Silva 2.0.x
Author:     Martijn Faassen
Email:      faassen@infrae.com
CVS:        $Revision: 1.58 $

Introduction
------------

If you're on Linux or Unix, or if you want to install Silva in an
already existing Zope install on Windows, just read on. If you are
installing Silva on Windows to just get a quick look however, please
take a look at the section `The easy way on Windows`_ below for a
really easy way to get Silva up and running. If you are upgrading an
existing release of Silva, please consult UPGRADE.txt. If you have any
problems after an install, consult TROUBLESHOOTING.txt.

Checklist for Zope administrators
---------------------------------

Here is a quick checklist what to do to install Silva:

* You need Zope 2.10.2 or higher with Python 2.4.

* Download an appropriate Silva ``-all.tgz`` for the version you want
  from `the Silva download area`_ and unpack it into your
  Zope's ``Products`` directory. Be aware the the ordering of the
  releases gets messed up by zope.org, so be sure you get the latest
  one. For a list of what is contained in the Silva distribution and
  other extension products you can install, see PRODUCTS.txt.

* Restart Zope.

* In the Zope Management Interface (ZMI), select 'Silva Root' from the
  add list and create a Silva root. Enter the root by clicking on it
  in the ZMI.

* Selecting the 'Silva /edit...' tab in the ZMI gets you to the Silva
  UI.  Selecting 'View' either in the ZMI or in Silva shows you the
  public presentation of this site.

You should now be done installing Silva. In the next section we'll go
into everything in much more detail.

For a set of Silva extensions you may also want to download and
install the Silva ``-extra`` tarball into your Products directory.

.. _`the Silva download area`: http://www.infrae.com/download/Silva

Note: there is a document called MAINTENANCE.txt that contains specific
instructions for system administrators.

The easy way on Windows
-----------------------

Infrae maintains a Silva installer for Windows. This automatically
installs Silva, Zope and Python and all required dependencies for you
on your system. This is a great way to try out Silva.

When you are planning to run Silva in production you may want to set
it all up by yourselves nonetheless. While it is more work, it should
make maintenance more easy, and it makes it far more easy to combine
Silva with other Zope Products. In addition, Infrae does not yet keep
the windows installer releases as up to date as the source code
releases.

The Silva Windows installer can be found here:

http://www.infrae.com/download/SilvaWindowsInstaller

Optional extensions
===================

Silva extensions in general are discussed in PRODUCTS.txt, so please
see that document for more detail. This section discusses some
particular deep extensions to Silva.

XSLT support
------------

Silva XSLT support is built into Silva, but requires the external
libraries libxml2 and libxslt with Python bindings to be enabled. We
have tested with versions libxml2 2.6.11 and libxslt 1.1.8, but newer
versions should be compatible.

libxml2 and libxslt, including their Python bindings can be found
here:

http://www.xmlsoft.org/downloads.html

For windows, installers for libxml2 and libxslt can be downloaded
here:

http://users.skynet.be/sbi/libxml-python/

PDF Fulltext extraction
-----------------------

Silva can extract the full text from pdf documents, so it becomes 
available in catalog searches. When the zope server is started
Silva will check the path for a cmdline application called "pdftotext".
If this is found, the fulltext extraction is enabled automaticly.
The pdftotext utility is part of the xpdf codebase, which can be 
downloaded here: http://www.foolabs.com/xpdf/download.html

Groups
------

To start using the groups in Silva, a Groups Service needs to be
installed. Once the Groups filesystem product is installed, such a
service can be added to the Silva Root via the ZMI. This service
should have 'service_groups' for its id. After this you should be able
to use Groups.

http://www.infrae.com/download/Groups

Installing Silva with LDAP support
----------------------------------

Silva can work together with LDAPUserFolder so that users in an LDAP
database can be looked up and authorized as Silva authors and editors.

To make Silva integrate well with a particular LDAP server with a
particular schema, a separate Member extension product must be created
for your site that pulls its information from LDAP. In addition a new
Group service can be created so that Group information as well is
pulled out of LDAP.

If you need LDAP integration for Silva, please contact Infrae
(<info@infrae.com>).

Installing Silva on a ZEO cluster
---------------------------------

When setting up Silva on a ZEO cluster, certain information needs to
be shared between servers. A non-undoable storage needs to be set up
for this.

If you want to set up Silva on a ZEO cluster, please contact Infrae
(<info@infrae.com>).

In case of problems
-------------------

Please consult TROUBLESHOOTING.txt if you run into any trouble.
