[working/Evergreen.git] / admin / requirements-configuration.xml
1 <?xml version="1.0" encoding="utf-8"?>\r
2 <chapter xml:id="requirements" xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="EN"\r
3     xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xlink="http://www.w3.org/1999/xlink">\r
4         <info>\r
5         <title>System Requirements and Hardware Configurations</title>\r
6         </info>\r
7         <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
8         system should be determined based on your specific needs of your organization or consortium.</para>\r
9         <section xml:id="requirements_server">\r
10                 <info>\r
11                     <title>Server Minimum Requirements</title>\r
12                 </info> \r
13                  <para>The following are the base requirements setting Evergreen up on a test server:</para>\r
14                 <itemizedlist>\r
15                         <listitem><para>An available desktop, server or virtual image<indexterm><primary>virtual image</primary></indexterm></para></listitem>\r
16                         <listitem><para>1GB RAM, or more if your server also runs a graphical desktop</para></listitem>                 \r
17                         <listitem><para><systemitem class="osname">Linux</systemitem> Operating System</para><indexterm><primary>Linux</primary></indexterm></listitem>\r
18                         <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
19                         client connections to the Evergreen server.</para></listitem>\r
20                         \r
21                 </itemizedlist>\r
22                 <tip>\r
23                         <para><systemitem class="osname">Debian</systemitem><indexterm><primary>Linux</primary><secondary>Debian</secondary></indexterm> and \r
24                         <systemitem class="osname">Ubuntu</systemitem><indexterm><primary>Linux</primary><secondary>Ubuntu</secondary></indexterm> are the most widely used \r
25                         <systemitem class="osname">Linux</systemitem> distributions for installing Evergreen and most development takes place on Debian based systems. If you are new \r
26                         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
27                         (<ulink url="http://www.debian.org/">http://www.debian.org/</ulink>)\r
28                         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
29                         tested on these distributions. <systemitem class="osname">Debian</systemitem> and <systemitem class="osname">Ubuntu</systemitem> are free distributions of \r
30                         <systemitem class="osname">Linux</systemitem>.</para>\r
31                 </tip>\r
32         </section>        \r
33         <section xml:id="hardwareconfigurations">\r
34                 <info>\r
35                         <title>Server Hardware Configurations and Clustering</title>\r
36                         <indexterm><primary>hardware</primary><secondary>clustering</secondary></indexterm>\r
37                 </info>\r
38                 <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
39                 spread your <application>Evergreen</application> resources and services over several or even many servers in a clustered approach for the purpose \r
40                 of system redundancy, load balancing and downtime reduction. This allows very large \r
41                 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
42                 <application>Evergreen</application> almost infinite.</para>\r
43                 <para>Here are some example scenarios for networked server configurations:</para>\r
44                 <itemizedlist>\r
45                         <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
46                         (1 machine).</para></listitem>\r
47                         <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
48                         load on their \r
49                         system by spreading services over multiple servers. It should host their <application>PostgreSQL</application><indexterm><primary>databases</primary>\r
50                         <secondary>PostgreSQL</secondary></indexterm> \r
51                         database on a separate server. They could also cluster the Evergreen services   \r
52                         strategically to minimize or eliminate any necessary downtown when upgrading Evergreen or other server software. Moreover, system redundancy will reduce the chance of \r
53                         unplanned catastrophic downtime caused by system failure since <application>Evergreen</application> will be running over several machines.</para></listitem>                    \r
54                         <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
55                         <application>Evergreen</application> \r
56                         system over many servers with clusters for <application>Evergreen</application> services as well as a cluster for the Postgresql Database.</para></listitem>\r
57                 </itemizedlist>\r
58                 <para>The key to <application>Evergreen</application> scalability is in the <application>OpenSRF</application> configuration files \r
59                 <filename>/openils/conf/opensrf.xml</filename><indexterm><primary>configuration files</primary><secondary>opensrf.xml</secondary></indexterm>  and \r
60                 <filename>/openils/conf/opensrf_core.xml</filename><indexterm><primary>configuration files</primary><secondary>opensrf_core.xml</secondary></indexterm>. \r
61                 By configuring these files, an administrator could cluster evergreen services over multiple hosts, change the host running a specific service \r
62                 or change the host of the <application>PostgreSQL</application> database.</para> \r
63 \r
64                 <note><para>The default configuration of <application>Evergreen</application> in the installation instructions assumes a single <systemitem class="domainname">localhost</systemitem> \r
65                 server setup. For more complex \r
66                 multi-server clustered configurations, some server administration and database administration experience or knowledge will be required.</para></note>           \r
67         </section>    \r
68         <section xml:id="requirements_staffclient">\r
69                 <info>\r
70                     <title>Staff Client Requirements</title>\r
71                 </info>\r
72 \r
73                 <para> Staff terminals connect to the central database using the Evergreen staff client, available for download from \r
74                 <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
75                 minimum: </para>\r
76                 <itemizedlist>\r
77                         <listitem><para><systemitem class="osname">Windows</systemitem>  (XP, Vista, or 7), <systemitem class="osname">Mac OS X</systemitem>,  \r
78                 or <systemitem class="osname">Linux</systemitem> operating system</para></listitem>\r
79                         <listitem><para>a reliable high speed Internet connection</para></listitem>\r
80                         <listitem><para>512Mb of RAM</para></listitem>\r
81                         <listitem><para>The staff client uses the <systemitem class="proptocol">TCP</systemitem> protocal on ports <systemitem>80</systemitem> and <systemitem>443</systemitem> to \r
82                         communicate with the Evergreen server.</para></listitem>\r
83                 </itemizedlist>\r
84                 <simplesect>\r
85                         <title>Barcode Scanners</title>   \r
86                                 <para><application>Evergreen</application> will work with virtually any barcode scanner<indexterm><primary>barcode scanner</primary></indexterm> – \r
87                                 if it worked with your legacy system it should work on <application>Evergreen</application>.</para>\r
88                 </simplesect>\r
89                 <simplesect>\r
90                         <info>\r
91                                 <title>Printers</title>\r
92                         </info>\r
93                         <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
94                         lists, etc. The single exception is spine label printing, which is still under development. <application>Evergreen</application>\r
95                         currently formats spine labels for output to a label roll printer. If you do not have a roll printer\r
96                          manual formatting may be required.  For more on configuring receipt printers, see <link linkend="lsa-printer">Printer Settings</link>.</para>    \r
97                 </simplesect>    \r
98         </section>\r
99 </chapter>\r