--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<chapter xml:id="requirements" xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="EN"\r
+ xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xlink="http://www.w3.org/1999/xlink">\r
+ <info>\r
+ <title>System Requirements and Hardware Configurations</title>\r
+ </info>\r
+ <para><application>Evergreen</application> is extremely scalable and can serve the need of a large range of libraries. The specific requirements and configuration of your \r
+ system should be determined based on your specific needs of your organization or consortium.</para>\r
+ <section xml:id="requirements_server">\r
+ <info>\r
+ <title>Server Minimum Requirements</title>\r
+ </info> \r
+ <para>The following are the base requirements setting Evergreen up on a test server:</para>\r
+ <itemizedlist>\r
+ <listitem><para>An available desktop, server or virtual image<indexterm><primary>virtual image</primary></indexterm></para></listitem>\r
+ <listitem><para>1GB RAM, or more if your server also runs a graphical desktop</para></listitem> \r
+ <listitem><para><systemitem class="osname">Linux</systemitem> Operating System</para><indexterm><primary>Linux</primary></indexterm></listitem>\r
+ <listitem><para>Ports 80 and 443 should be opened in your firewall for <systemitem class="proptocol">TCP</systemitem> connections to allow OPAC and staff \r
+ client connections to the Evergreen server.</para></listitem>\r
+ \r
+ </itemizedlist>\r
+ <tip>\r
+ <para><systemitem class="osname">Debian</systemitem><indexterm><primary>Linux</primary><secondary>Debian</secondary></indexterm> and \r
+ <systemitem class="osname">Ubuntu</systemitem><indexterm><primary>Linux</primary><secondary>Ubuntu</secondary></indexterm> are the most widely used \r
+ <systemitem class="osname">Linux</systemitem> distributions for installing Evergreen and most development takes place on Debian based systems. If you are new \r
+ to Linux, it is strongly recommended that you install <application>Evergreen</application> on the latest stable server edition of <systemitem class="osname">Debian</systemitem> \r
+ (<ulink url="http://www.debian.org/">http://www.debian.org/</ulink>)\r
+ or <systemitem class="osname">Ubuntu 10.04</systemitem> Server(<ulink url="http://www.ubuntu.com/">http://www.ubuntu.com/</ulink>) since the installation instructions have been \r
+ tested on these distributions. <systemitem class="osname">Debian</systemitem> and <systemitem class="osname">Ubuntu</systemitem> are free distributions of \r
+ <systemitem class="osname">Linux</systemitem>.</para>\r
+ </tip>\r
+ </section> \r
+ <section xml:id="hardwareconfigurations">\r
+ <info>\r
+ <title>Server Hardware Configurations and Clustering</title>\r
+ <indexterm><primary>hardware</primary><secondary>clustering</secondary></indexterm>\r
+ </info>\r
+ <para>The hardware requirements for running a functional <application>Evergreen</application> server are minimal. It is also possible to scale up your evergreen configuration to be \r
+ spread your <application>Evergreen</application> resources and services over several or even many servers in a clustered approach for the purpose \r
+ of system redundancy, load balancing and downtime reduction. This allows very large \r
+ consortia to share one <application>Evergreen</application> system with hundreds of libraries with millions of records and millions of users, making the scalability of \r
+ <application>Evergreen</application> almost infinite.</para>\r
+ <para>Here are some example scenarios for networked server configurations:</para>\r
+ <itemizedlist>\r
+ <listitem><para>A small library library with 1 location, under 25,000 items and a few thousand users could easily run Evergreen on a single server \r
+ (1 machine).</para></listitem>\r
+ <listitem><para>A college or university with 1 million items and 20,000 users could run an <application>Evergreen</application> system using several servers balancing the \r
+ load on their \r
+ system by spreading services over multiple servers. It should host their <application>PostgreSQL</application><indexterm><primary>databases</primary>\r
+ <secondary>PostgreSQL</secondary></indexterm> \r
+ database on a separate server. They could also cluster the Evergreen services \r
+ strategically to minimize or eliminate any necessary downtown when upgrading Evergreen or other server software. Moreover, system redundancy will reduce the chance of \r
+ unplanned catastrophic downtime caused by system failure since <application>Evergreen</application> will be running over several machines.</para></listitem> \r
+ <listitem><para>A large library consortium with several public library systems and/or academic libraries with millions of users and items could run an \r
+ <application>Evergreen</application> \r
+ system over many servers with clusters for <application>Evergreen</application> services as well as a cluster for the Postgresql Database.</para></listitem>\r
+ </itemizedlist>\r
+ <para>The key to <application>Evergreen</application> scalability is in the <application>OpenSRF</application> configuration files \r
+ <filename>/openils/conf/opensrf.xml</filename><indexterm><primary>configuration files</primary><secondary>opensrf.xml</secondary></indexterm> and \r
+ <filename>/openils/conf/opensrf_core.xml</filename><indexterm><primary>configuration files</primary><secondary>opensrf_core.xml</secondary></indexterm>. \r
+ By configuring these files, an administrator could cluster evergreen services over multiple hosts, change the host running a specific service \r
+ or change the host of the <application>PostgreSQL</application> database.</para> \r
+\r
+ <note><para>The default configuration of <application>Evergreen</application> in the installation instructions assumes a single <systemitem class="domainname">localhost</systemitem> \r
+ server setup. For more complex \r
+ multi-server clustered configurations, some server administration and database administration experience or knowledge will be required.</para></note> \r
+ </section> \r
+ <section xml:id="requirements_staffclient">\r
+ <info>\r
+ <title>Staff Client Requirements</title>\r
+ </info>\r
+\r
+ <para> Staff terminals connect to the central database using the Evergreen staff client, available for download from \r
+ <link xlink:href="http://www.open-ils.org/downloads.php">The Evergreen download page</link>. The staff client must be installed on each staff workstation and requires at \r
+ minimum: </para>\r
+ <itemizedlist>\r
+ <listitem><para><systemitem class="osname">Windows</systemitem> (XP, Vista, or 7), <systemitem class="osname">Mac OS X</systemitem>, \r
+ or <systemitem class="osname">Linux</systemitem> operating system</para></listitem>\r
+ <listitem><para>a reliable high speed Internet connection</para></listitem>\r
+ <listitem><para>512Mb of RAM</para></listitem>\r
+ <listitem><para>The staff client uses the <systemitem class="proptocol">TCP</systemitem> protocal on ports <systemitem>80</systemitem> and <systemitem>443</systemitem> to \r
+ communicate with the Evergreen server.</para></listitem>\r
+ </itemizedlist>\r
+ <simplesect>\r
+ <title>Barcode Scanners</title> \r
+ <para><application>Evergreen</application> will work with virtually any barcode scanner<indexterm><primary>barcode scanner</primary></indexterm> – \r
+ if it worked with your legacy system it should work on <application>Evergreen</application>.</para>\r
+ </simplesect>\r
+ <simplesect>\r
+ <info>\r
+ <title>Printers</title>\r
+ </info>\r
+ <para><application>Evergreen</application> can use any printer configured<indexterm><primary>printers</primary></indexterm> for your terminal to print receipts, check-out slips, holds\r
+ lists, etc. The single exception is spine label printing, which is still under development. <application>Evergreen</application>\r
+ currently formats spine labels for output to a label roll printer. If you do not have a roll printer\r
+ manual formatting may be required. For more on configuring receipt printers, see <link linkend="lsa-printer">Printer Settings</link>.</para> \r
+ </simplesect> \r
+ </section>\r
+</chapter>\r