sub-components. Successful installation of Evergreen software requires that software versions agree with those
listed here:</para>
<table xml:id="serversideinstall-software-dependencies">
+ <?dbfo keep-together="always" ?>
<title>Evergreen Software Dependencies</title>
<indexterm>
<primary>Evergreen software dependencies</primary>
In the following example, the default shell for the
<systemitem class="username">opensrf</systemitem> user is automatically set
to <command>/bin/bash</command> to inherit a reasonable environment:</para>
- <screen>
- <prompt># as the root user:</prompt>
- <userinput>useradd -m -s /bin/bash opensrf</userinput>
- <userinput>passwd opensrf</userinput>
- </screen>
+<screen>
+ <userinput>
+ # as the root user:
+ useradd -m -s /bin/bash opensrf
+ passwd opensrf</userinput>
+</screen>
</step>
<step>
<title>Download and Unpack Latest OpenSRF Version</title>
the directory <filename class="directory">/home/opensrf</filename> then download
and extract OpenSRF. The new subdirectory
<filename class="directory">/home/opensrf/OpenSRF-1.4.0</filename> will be created:</para>
- <screen>
- <prompt># as the opensrf user:</prompt>
- <userinput>cd /home/opensrf</userinput>
- <userinput>wget http://evergreen-ils.org/downloads/OpenSRF-1.4.0.tar.gz</userinput>
- <userinput>tar zxf OpenSRF-1.4.0.tar.gz</userinput>
- </screen>
+<screen>
+ <userinput>
+ # as the opensrf user:
+ cd /home/opensrf
+ wget http://evergreen-ils.org/downloads/OpenSRF-1.4.0.tar.gz
+ tar zxf OpenSRF-1.4.0.tar.gz</userinput>
+</screen>
</step>
<step>
<title>Install Prerequisites to Build OpenSRF</title>
distribution keywords table <xref linkend="serversideinstallation-keywords-opensrf"/> .
For example, to install the prerequisites for Ubuntu version 10.04 (Lucid Lynx) you would
enter this command: <command>make -f src/extras/Makefile.install ubuntu-lucid</command> .</para>
- <screen>
- <prompt># as the root user:</prompt>
- <userinput>cd /home/opensrf/OpenSRF-1.4.0</userinput>
- <userinput>make -f src/extras/Makefile.install [DISTRIBUTION]</userinput>
- </screen>
+<screen>
+ <userinput>
+ # as the root user:
+ cd /home/opensrf/OpenSRF-1.4.0
+ make -f src/extras/Makefile.install [DISTRIBUTION]</userinput>
+</screen>
<table xml:id="serversideinstallation-keywords-opensrf">
+ <?dbfo keep-together="always" ?>
<title>Keyword Targets for OpenSRF <application>"make"</application> Command</title>
<tgroup align="left" cols="2" colsep="1" rowsep="1">
- <colspec colnum="1" colwidth="1.0*"/>
- <colspec colnum="2" colwidth="3.0*"/>
+ <colspec colname="keyword" colnum="1" colwidth="1.0*"/>
+ <colspec colname="linux_version" colnum="2" colwidth="3.0*"/>
<thead>
<row>
<entry>Keyword</entry>
include support for Python and Java, add the configuration
options <option>--enable-python</option> and
<option>--enable-java</option>, respectively:</para>
- <screen>
- <prompt># as the opensrf user:</prompt>
- <userinput>cd /home/opensrf/OpenSRF-1.4.0</userinput>
- <userinput>./configure --prefix=/openils --sysconfdir=/openils/conf</userinput>
- <userinput>make</userinput>
- </screen>
+<screen>
+ <userinput>
+ # as the opensrf user:
+ cd /home/opensrf/OpenSRF-1.4.0
+ ./configure --prefix=/openils --sysconfdir=/openils/conf
+ make</userinput>
+</screen>
<para>This step will take several minutes to complete.</para>
</step>
<step>
user, return to the new OpenSRF build directory and use the
<command>make</command> utility to compile, link and install
OpenSRF:</para>
- <screen>
- <prompt># as the root user:</prompt>
- <userinput>cd /home/opensrf/OpenSRF-1.4.0</userinput>
- <userinput>make install</userinput>
- </screen>
+<screen>
+ <userinput>
+ # as the root user:
+ cd /home/opensrf/OpenSRF-1.4.0
+ make install</userinput>
+</screen>
<para>This step will take several minutes to complete.</para>
</step>
<step>
new library path, then run the command
<command>ldconfig</command> to automatically read the file and
modify the system dynamic library path:</para>
- <screen>
- <prompt># as the root user:</prompt>
- <userinput>echo "/openils/lib" > /etc/ld.so.conf.d/osrf.conf</userinput>
- <userinput>ldconfig</userinput>
- </screen>
+<screen>
+ <userinput>
+ # as the root user:
+ echo "/openils/lib" > /etc/ld.so.conf.d/osrf.conf
+ ldconfig</userinput>
+</screen>
</step>
<step xml:id="serversideinstallation-definedomains">
<title>Define Public and Private OpenSRF Domains</title>
<indexterm>
<primary>Jabber</primary>
</indexterm>
- <screen>
- <prompt># as the root user:</prompt>
- <userinput>127.0.1.2 public.localhost public</userinput>
- <userinput>127.0.1.3 private.localhost private</userinput>
- </screen>
+<screen>
+ <userinput>
+ # as the root user:
+ 127.0.1.2 public.localhost public
+ 127.0.1.3 private.localhost private</userinput>
+</screen>
</step>
<step>
<title>Change File Ownerships</title>
user, change the ownership of all files installed in the
directory <filename class="directory">/openils</filename> to the
user <systemitem class="username">opensrf</systemitem>:</para>
- <screen>
- <prompt># as the root user:</prompt>
- <userinput>chown -R opensrf:opensrf /openils</userinput>
- </screen>
+<screen>
+ <userinput>
+ # as the root user:
+ chown -R opensrf:opensrf /openils</userinput>
+</screen>
</step>
</substeps>
</step>
<para>Before continuing with configuration of <systemitem class="service">ejabberd</systemitem>
you must stop that service. As the <systemitem class="username">root</systemitem> user,
execute the following command to stop the service:</para>
- <screen>
- <prompt># as the root user:</prompt>
- <userinput>/etc/init.d/ejabberd stop</userinput>
- </screen>
+<screen>
+ <userinput>
+ # as the root user:
+ /etc/init.d/ejabberd stop</userinput>
+</screen>
<para>If <systemitem class="service">ejabberd</systemitem> reports that it
is already stopped, there may have been a problem when it started back
in the installation step. If there are any remaining daemon processes such as
<systemitem class="daemon">beam</systemitem> or
<systemitem class="daemon">epmd</systemitem>
you may need to perform the following commands to kill them:</para>
- <screen>
- <prompt># as the root user:</prompt>
- <userinput>epmd -kill</userinput>
- <userinput>killall beam; killall beam.smp</userinput>
- <userinput>rm /var/lib/ejabberd/*</userinput>
- <userinput>echo 'ERLANG_NODE=ejabberd@localhost' >> /etc/default/ejabberd</userinput>
- </screen>
+<screen>
+ <userinput>
+ # as the root user:
+ epmd -kill
+ killall beam; killall beam.smp
+ rm /var/lib/ejabberd/*
+ echo 'ERLANG_NODE=ejabberd@localhost' >> /etc/default/ejabberd</userinput>
+</screen>
</step>
<step>
<title>Edit the <systemitem class="service">ejabberd</systemitem> configuration</title>
<substeps>
<step>
<para>Change the line:</para>
- <screen>
- <prompt>{hosts, ["localhost"]}.</prompt>
- </screen>
+ <literal>{hosts, ["localhost"]}.</literal>
<para>to instead read:</para>
- <screen>
- <userinput>{hosts, ["localhost", "private.localhost", "public.localhost"]}.</userinput>
- </screen>
+ <literal>{hosts, ["localhost", "private.localhost", "public.localhost"]}.</literal>
+ <para/>
</step>
<step>
<para>Change the line:</para>
- <screen>
- <prompt>{max_user_sessions, 10}</prompt>
- </screen>
+ <literal>{max_user_sessions, 10}</literal>
<para>to instead read:</para>
- <screen>
- <userinput>{max_user_sessions, 10000}</userinput>
- </screen>
+ <literal>{max_user_sessions, 10000}</literal>
<para/>
<para>If the line looks something like this:</para>
- <screen>
- <prompt>{access, max_user_sessions, [{10, all}]}</prompt>
- </screen>
+ <literal>{access, max_user_sessions, [{10, all}]}</literal>
<para>then change it to instead read:</para>
- <screen>
- <userinput>{access, max_user_sessions, [{10000, all}]}</userinput>
- </screen>
+ <literal>{access, max_user_sessions, [{10000, all}]}</literal>
</step>
<step>
<para>Change all three occurrences of:</para>
- <screen>
- <prompt>max_stanza_size</prompt>
- </screen>
+ <literal>max_stanza_size</literal>
<para>to instead read:</para>
- <screen>
- <userinput>2000000</userinput>
- </screen>
+ <literal>2000000</literal>
</step>
<step>
<para>Change both occurrences of:</para>
- <screen>
- <prompt>maxrate</prompt>
- </screen>
+ <literal>maxrate</literal>
<para>to instead read:</para>
- <screen>
- <userinput>500000</userinput>
- </screen>
+ <literal>500000</literal>
</step>
<step>
<para>Comment out the line:</para>
- <screen>
- <prompt>{mod_offline, []}</prompt>
- </screen>
+ <literal>{mod_offline, []}</literal>
<para>by placing two <literal>%</literal> comment signs in front
so it instead reads:</para>
- <screen>
- <userinput>%%{mod_offline, []}</userinput>
- </screen>
+ <literal>%%{mod_offline, []}</literal>
</step>
</substeps>
</step>
<para>As the <systemitem class="username">root</systemitem> user, restart the
<systemitem class="service">ejabberd</systemitem> service to test the
configuration changes and to register your users:</para>
- <screen>
- <prompt># as the root user:</prompt>
- <userinput>/etc/init.d/ejabberd start</userinput>
- </screen>
+<screen>
+ <userinput>
+ # as the root user:
+ /etc/init.d/ejabberd start</userinput>
+</screen>
</step>
<step>
<title>Register <systemitem class="username">router</systemitem> and
<para>As the <systemitem class="username">root</systemitem> user, execute the
<command>ejabberdctl</command> utility as shown below to register and create passwords
for the users <systemitem class="username">router</systemitem> and
- <systemitem class="username">opensrf</systemitem> on each domain:</para>
- <screen>
- <prompt># as the root user:</prompt>
- <prompt># Note: the syntax for registering a user with ejabberdctl is:</prompt>
- <prompt># ejabberdctl register USER DOMAIN PASSWORD</prompt>
- <userinput>ejabberdctl register router private.localhost NEWPASSWORD</userinput>
- <userinput>ejabberdctl register router public.localhost NEWPASSWORD</userinput>
- <userinput>ejabberdctl register opensrf private.localhost NEWPASSWORD</userinput>
- <userinput>ejabberdctl register opensrf public.localhost NEWPASSWORD</userinput>
- </screen>
+ <systemitem class="username">opensrf</systemitem> on each domain (remember to replace
+ <emphasis>NEWPASSWORD</emphasis> with the appropriate password):</para>
+<screen>
+ <userinput>
+ # as the root user:
+ # Note: the syntax for registering a user with ejabberdctl is:
+ # ejabberdctl register USER DOMAIN PASSWORD
+ ejabberdctl register router private.localhost NEWPASSWORD
+ ejabberdctl register router public.localhost NEWPASSWORD
+ ejabberdctl register opensrf private.localhost NEWPASSWORD
+ ejabberdctl register opensrf public.localhost NEWPASSWORD</userinput>
+</screen>
<para>Note that the users <systemitem class="username">router</systemitem> and
<systemitem class="username">opensrf</systemitem> and their respective passwords
will be used again in <xref linkend="serversideinstallation-passwords"/> when
execute the following commands to create the new configuration files
<filename>/openils/conf/opensrf_core.xml</filename> and
<filename>/openils/conf/opensrf.xml</filename> from the example templates:</para>
- <screen>
- <prompt># as the opensrf user:</prompt>
- <userinput>cd /openils/conf</userinput>
- <userinput>cp opensrf.xml.example opensrf.xml</userinput>
- <userinput>cp opensrf_core.xml.example opensrf_core.xml</userinput>
- </screen>
+<screen>
+ <userinput>
+ # as the opensrf user:
+ cd /openils/conf
+ cp opensrf.xml.example opensrf.xml
+ cp opensrf_core.xml.example opensrf_core.xml</userinput>
+</screen>
</step>
<step xml:id="serversideinstallation-passwords">
<title>Update usernames and passwords in the OpenSRF configuration file</title>
file that needs changes. The right-hand side of the table shows the replacement
values:</para>
<table xml:id="serversideinstallation-xpath-table-1">
+ <?dbfo keep-together="always" ?>
<title>Sample XPath syntax for editing "opensrf_core.xml"</title>
<tgroup align="left" cols="2" colsep="1" rowsep="1">
<colspec colname="Xpath" colnum="1" colwidth="1.6*"/>
file <filename>/openils/conf/opensrf.xml</filename>, then find and modify the
element <literal>dbfile</literal> (near the end of the file) to set the
location of the persistent database. Change the default line:</para>
- <screen>
- <prompt>/openils/var/persist.db</prompt>
- </screen>
+ <literal>/openils/var/persist.db</literal>
<para>to instead read:</para>
- <screen>
- <userinput>/tmp/persist.db</userinput>
- </screen>
+ <literal>/tmp/persist.db</literal>
<para>Following is a sample modification of that portion of the file:</para>
- <programlisting language="xml"><![CDATA[
+<programlisting language="xml"><![CDATA[
<!-- Example of an app-specific setting override -->
<opensrf.persist>
<app_settings>
to the home directory of each user who will use <command>srfsh</command>.
For instance, do the following for the
<systemitem class="username">opensrf</systemitem> user:</para>
- <screen>
- <prompt># as the root user:</prompt>
- <userinput>cp /openils/conf/srfsh.xml.example /home/opensrf/.srfsh.xml</userinput>
- </screen>
+<screen>
+ <userinput>
+ # as the root user:
+ cp /openils/conf/srfsh.xml.example /home/opensrf/.srfsh.xml</userinput>
+</screen>
<para>Edit each user's file <filename>~/.srfsh.xml</filename> and make the
following changes:</para>
<itemizedlist>
</listitem>
</itemizedlist>
<para>Following is a sample of the file:</para>
- <programlisting language="xml"><![CDATA[
+<programlisting language="xml"><![CDATA[
<?xml version="1.0"?>
<!-- This file follows the standard bootstrap config file layout -->
<!-- found in opensrf_core.xml -->
environmental variable <envar>PATH</envar> by adding a new file path to the
<systemitem class="username">opensrf</systemitem> user's shell configuration
file <filename>~/.bashrc</filename>:</para>
- <screen>
- <prompt># as the opensrf user:</prompt>
- <userinput>echo "export PATH=/openils/bin:\$PATH" >> ~/.bashrc</userinput>
- </screen>
+<screen>
+ <userinput>
+ # as the opensrf user:
+ echo "export PATH=/openils/bin:\$PATH" >> ~/.bashrc</userinput>
+</screen>
</step>
<step>
<title>Start OpenSRF</title>
<para>As the <systemitem class="username">root</systemitem> user, start the
<systemitem class="service">ejabberd</systemitem> and
<systemitem class="service">memcached</systemitem> services:</para>
- <screen>
- <prompt># as the root user:</prompt>
- <userinput>/etc/init.d/ejabberd start</userinput>
- <userinput>/etc/init.d/memcached start</userinput>
- </screen>
+<screen>
+ <userinput>
+ # as the root user:
+ /etc/init.d/ejabberd start
+ /etc/init.d/memcached start</userinput>
+</screen>
<para>As the <systemitem class="username">opensrf</systemitem> user,
start OpenSRF as follows:</para>
- <screen>
- <prompt># as the opensrf user:</prompt>
- <userinput>osrf_ctl.sh -l -a start_all</userinput>
- </screen>
+<screen>
+ <userinput>
+ # as the opensrf user:
+ osrf_ctl.sh -l -a start_all</userinput>
+</screen>
<para>The flag <option>-l</option> forces Evergreen to use
<systemitem class="domainname">localhost</systemitem> (your current system)
as the hostname. The flag <option>-a start_all</option> starts the other
<systemitem class="service">OpenSRF</systemitem> using the <command>srfsh</command>
utility and trying to call the <command>add</command> method on the OpenSRF
<systemitem class="service">math</systemitem> service:</para>
- <screen>
- <prompt># as the root user:</prompt>
- <userinput>/openils/bin/srfsh</userinput>
- <computeroutput>srfsh# <userinput>request opensrf.math add 2 2</userinput></computeroutput>
- <computeroutput>Received Data: 4</computeroutput>
- <computeroutput>------------------------------------</computeroutput>
- <computeroutput>Request Completed Successfully</computeroutput>
- <computeroutput>Request Time in seconds: 0.007519</computeroutput>
- <computeroutput>------------------------------------</computeroutput>
- </screen>
+<screen>
+ <userinput>
+ # as the root user:
+ /openils/bin/srfsh</userinput>
+ <computeroutput>
+ srfsh# <userinput>request opensrf.math add 2 2</userinput></computeroutput>
+ <computeroutput>
+ Received Data: 4
+ ------------------------------------
+ Request Completed Successfully
+ Request Time in seconds: 0.007519
+ ------------------------------------</computeroutput>
+</screen>
<para>For other <command>srfsh</command> commands, type in
<userinput>help</userinput> at the prompt.</para>
</step>
<command>osrf_ctl.sh</command> again. As the
<systemitem class="username">opensrf</systemitem>
user, stop OpenSRF as follows:</para>
- <screen>
- <prompt># as the opensrf user:</prompt>
- <userinput>osrf_ctl.sh -l -a stop_all</userinput>
- </screen>
+<screen>
+ <userinput>
+ # as the opensrf user:
+ osrf_ctl.sh -l -a stop_all</userinput>
+</screen>
</step>
</procedure>
</section>
the directory <filename class="directory">/home/opensrf</filename> then download
and extract Evergreen. The new subdirectory
<filename class="directory">/home/opensrf/Evergreen-ILS-1.6.1.2</filename> will be created:</para>
- <screen>
- <prompt># as the opensrf user:</prompt>
- <userinput>cd /home/opensrf</userinput>
- <userinput>wget http://evergreen-ils.org/downloads/Evergreen-ILS-1.6.1.2.tar.gz</userinput>
- <userinput>tar zxf Evergreen-ILS-1.6.1.2.tar.gz</userinput>
- </screen>
+<screen>
+ <userinput>
+ # as the opensrf user:
+ cd /home/opensrf
+ wget http://evergreen-ils.org/downloads/Evergreen-ILS-1.6.1.2.tar.gz
+ tar zxf Evergreen-ILS-1.6.1.2.tar.gz</userinput>
+</screen>
</step>
<step xml:id="serversideinstallation-installprereq">
<title>Install Prerequisites to Build Evergreen</title>
For example, to install the prerequisites for Ubuntu version 9.10 (Karmic Koala) you would
enter this command: <command>make -f Open-ILS/src/extras/Makefile.install
ubuntu-karmic</command>.</para>
- <screen>
- <prompt># as the root user:</prompt>
- <userinput>cd /home/opensrf/Evergreen-ILS-1.6.1.2</userinput>
- <userinput>make -f Open-ILS/src/extras/Makefile.install [DISTRIBUTION]</userinput>
- </screen>
+<screen>
+ <userinput>
+ # as the root user:
+ cd /home/opensrf/Evergreen-ILS-1.6.1.2
+ make -f Open-ILS/src/extras/Makefile.install [DISTRIBUTION]</userinput>
+</screen>
<table xml:id="serversideinstallation-keywords-evergreen">
+ <?dbfo keep-together="always" ?>
<title>Keyword Targets for Evergreen <application>"make"</application> Command</title>
<tgroup align="left" cols="2" colsep="1" rowsep="1">
- <colspec colnum="1" colwidth="1.0*"/>
- <colspec colnum="2" colwidth="3.0*"/>
+ <colspec colname="keyword" colnum="1" colwidth="1.0*"/>
+ <colspec colname="linux_version" colnum="2" colwidth="3.0*"/>
<thead>
<row>
<entry>Keyword</entry>
<link xl:href="http://www.postgresql.org/">PostgreSQL Site</link>.</para>
<para>For <systemitem class="osname">Debian Lenny</systemitem> and
<systemitem class="osname">Ubuntu Hardy (8.04)</systemitem>, execute these commands:</para>
- <screen>
- <prompt># as the root user:</prompt>
- <userinput>cd /home/opensrf/Evergreen-ILS-1.6.1.2</userinput>
- <userinput>make -f Open-ILS/src/extras/Makefile.install install_pgsql_server_debs_83</userinput>
- </screen>
+<screen>
+ <userinput>
+ # as the root user:
+ cd /home/opensrf/Evergreen-ILS-1.6.1.2
+ make -f Open-ILS/src/extras/Makefile.install install_pgsql_server_debs_83</userinput>
+</screen>
<para>For <systemitem class="osname">Ubuntu Karmic (9.10)</systemitem> and
<systemitem class="osname">Ubuntu Lucid (10.04)</systemitem>, execute these commands:</para>
- <screen>
- <prompt># as the root user:</prompt>
- <userinput>cd /home/opensrf/Evergreen-ILS-1.6.1.2</userinput>
- <userinput>make -f Open-ILS/src/extras/Makefile.install install_pgsql_server_debs_84</userinput>
- </screen>
+<screen>
+ <userinput>
+ # as the root user:
+ cd /home/opensrf/Evergreen-ILS-1.6.1.2
+ make -f Open-ILS/src/extras/Makefile.install install_pgsql_server_debs_84</userinput>
+</screen>
<note>
<para>PostgreSQL versions 8.3 or 8.4 are the recommended versions to work
with Evergreen 1.6.1.2 . If you have an older version of PostgreSQL, you
<para>You will need to install several Perl modules on the other system. As the
<systemitem class="username">root</systemitem> user install the following Perl
modules:</para>
- <screen>
- <prompt># as the root user:</prompt>
- <prompt># first, ensure the gcc compiler is installed:</prompt>
- <userinput>apt-get install gcc</userinput>
- <prompt># then install the Perl modules:</prompt>
- <userinput>perl -MCPAN -e shell</userinput>
- <computeroutput>cpan></computeroutput>
- <userinput>install JSON::XS</userinput>
- <computeroutput>cpan></computeroutput>
- <userinput>install MARC::Record</userinput>
- <computeroutput>cpan></computeroutput>
- <userinput>install MARC::File::XML</userinput>
- </screen>
+<screen>
+ <userinput>
+ # as the root user:
+ # first, ensure the gcc compiler is installed:
+ apt-get install gcc
+
+ # then install the Perl modules:
+ perl -MCPAN -e shell</userinput>
+ <computeroutput>
+ cpan> <userinput>install JSON::XS</userinput>
+ cpan> <userinput>install MARC::Record</userinput>
+ cpan> <userinput>install MARC::File::XML</userinput></computeroutput>
+</screen>
<para>For more information on installing Perl Modules vist the official
<link xl:href="http://www.cpan.org/">CPAN</link> site.</para>
<indexterm>
do this by creating the new file <filename>/etc/ld.so.conf.d/osrf.conf</filename>
containing a new library path, then run the command <command>ldconfig</command> to
automatically read the file and modify the system dynamic library path:</para>
- <screen>
- <prompt># as the root user:</prompt>
- <userinput>echo "/usr/local/lib" >> /etc/ld.so.conf.d/osrf.conf</userinput>
- <userinput>echo "/usr/local/lib/dbd" >> /etc/ld.so.conf.d/osrf.conf</userinput>
- <userinput>ldconfig</userinput>
- </screen>
+<screen>
+ <userinput>
+ # as the root user:
+ echo "/usr/local/lib" >> /etc/ld.so.conf.d/osrf.conf
+ echo "/usr/local/lib/dbd" >> /etc/ld.so.conf.d/osrf.conf
+ ldconfig</userinput>
+</screen>
</step>
<step performance="optional">
<title>Restart the PostgreSQL Server</title>
PostgreSQL to re-read the new library paths just configured. If PostgreSQL is
running on another system, you may skip this step.
As the <systemitem class="username">opensrf</systemitem> user,
- execute the following command, where
- <literal>[PGSQL_VERSION]</literal> is your installed PostgreSQL version
- (e.g. <literal>8.3</literal>):</para>
- <screen>
- <prompt># as the opensrf user:</prompt>
- <userinput>/etc/init.d/postgresql-[PGSQL_VERSION] restart</userinput>
- </screen>
+ execute the following command (remember to replace
+ <emphasis>PGSQL_VERSION</emphasis> with your installed PostgreSQL version,
+ for example <literal>8.3</literal>):</para>
+<screen>
+ <userinput>
+ # as the opensrf user:
+ /etc/init.d/postgresql-PGSQL_VERSION restart</userinput>
+</screen>
</step>
<step xml:id="serversideinstallation-configure">
<title>Configure Evergreen</title>
and linked later in <xref linkend="serversideinstallation-compile"/>.</para>
<para>As the <systemitem class="username">opensrf</systemitem> user, return to
the Evergreen build directory and execute these commands:</para>
- <screen>
- <prompt># as the opensrf user:</prompt>
- <userinput>cd /home/opensrf/Evergreen-ILS-1.6.1.2</userinput>
- <userinput>./configure --prefix=/openils --sysconfdir=/openils/conf</userinput>
- <userinput>make</userinput>
- </screen>
+<screen>
+ <userinput>
+ # as the opensrf user:
+ cd /home/opensrf/Evergreen-ILS-1.6.1.2
+ ./configure --prefix=/openils --sysconfdir=/openils/conf
+ make</userinput>
+</screen>
</step>
<step xml:id="serversideinstallation-compile">
<title>Compile, Link and Install Evergreen</title>
default Evergreen Staff Client.</para>
<para>As the <systemitem class="username">root</systemitem> user, return to the
Evergreen build directory and use the <command>make</command> utility as shown below:</para>
- <screen>
- <prompt># as the root user:</prompt>
- <userinput>cd /home/opensrf/Evergreen-ILS-1.6.1.2</userinput>
- <userinput>make STAFF_CLIENT_BUILD_ID=rel_1_6_1_2 install</userinput>
- </screen>
+<screen>
+ <userinput>
+ # as the root user:
+ cd /home/opensrf/Evergreen-ILS-1.6.1.2
+ make STAFF_CLIENT_BUILD_ID=rel_1_6_1_2 install</userinput>
+</screen>
<para>The Staff Client will also be automatically built, but you must remember
to set the variable <envar>STAFF_CLIENT_BUILD_ID</envar> to match the version of the
Staff Client you will use to connect to the Evergreen server.</para>
directory <filename class="directory">/openils/var/web/xul</filename> that points to the
subdirectory <filename class="directory">/server</filename> of the new Staff Client
build:</para>
- <screen>
- <prompt># as the root user:</prompt>
- <userinput>cd /openils/var/web/xul</userinput>
- <userinput>ln -sf rel_1_6_1_2/server server</userinput>
- </screen>
+<screen>
+ <userinput>
+ # as the root user:
+ cd /openils/var/web/xul
+ ln -sf rel_1_6_1_2/server server</userinput>
+</screen>
</step>
<step>
<title>Copy the OpenSRF Configuration Files</title>
to <systemitem class="username">opensrf</systemitem>.
As the <systemitem class="username">root</systemitem> user, execute the following
commands:</para>
- <screen>
- <prompt># as the root user:</prompt>
- <userinput>cd /openils/conf</userinput>
- <userinput>cp opensrf.xml opensrf.xml.BAK</userinput>
- <userinput>cp opensrf_core.xml opensrf_core.xml.BAK</userinput>
- <userinput>cp opensrf.xml.example opensrf.xml</userinput>
- <userinput>cp opensrf_core.xml.example opensrf_core.xml</userinput>
- <userinput>cp oils_web.xml.example oils_web.xml</userinput>
- <userinput>chown -R opensrf:opensrf /openils/</userinput>
- </screen>
+<screen>
+ <userinput>
+ # as the root user:
+ cd /openils/conf
+ cp opensrf.xml opensrf.xml.BAK
+ cp opensrf_core.xml opensrf_core.xml.BAK
+ cp opensrf.xml.example opensrf.xml
+ cp opensrf_core.xml.example opensrf_core.xml
+ cp oils_web.xml.example oils_web.xml
+ chown -R opensrf:opensrf /openils/</userinput>
+</screen>
</step>
<step>
<title>Create and Configure PostgreSQL Database</title>
below, remember to adjust the path of the <emphasis role="bold">contrib</emphasis>
repository to match your PostgreSQL server
layout. For example, if you built PostgreSQL from source the path would be
- <filename class="directory">/usr/local/share/contrib</filename>; if you
+ <filename class="directory">/usr/local/share/contrib</filename> , and if you
installed the PostgreSQL 8.3 server packages on <systemitem class="osname">Ubuntu 8.04</systemitem>,
the path would be
- <systemitem class="directory">/usr/share/postgresql/8.3/contrib/</systemitem>.</para>
+ <systemitem class="directory">/usr/share/postgresql/8.3/contrib/</systemitem> .</para>
<substeps>
<step>
<para>
<para>As the <systemitem class="username">postgres</systemitem>
user on the PostgreSQL system create the PostgreSQL database,
then set some internal paths:</para>
- <screen>
- <prompt># as the postgres user:</prompt>
- <userinput>createdb evergreen -E UTF8 -T template0</userinput>
- <userinput>createlang plperl evergreen</userinput>
- <userinput>createlang plperlu evergreen</userinput>
- <userinput>createlang plpgsql evergreen</userinput>
- </screen>
+<screen>
+ <userinput>
+ # as the postgres user:
+ createdb evergreen -E UTF8 -T template0
+ createlang plperl evergreen
+ createlang plperlu evergreen
+ createlang plpgsql evergreen</userinput>
+</screen>
<para>Continue as the <systemitem class="username">postgres</systemitem> user
- and execute the SQL scripts as shown below, adjusting the paths as needed, where
- <literal>[PGSQL_VERSION]</literal> is your installed PostgreSQL
- version (e.g. <literal>8.3</literal>).</para>
- <screen>
- <prompt># as the postgres user:</prompt>
- <userinput>psql -f /usr/share/postgresql/[PGSQL_VERSION]/contrib/tablefunc.sql evergreen</userinput>
- <userinput>psql -f /usr/share/postgresql/[PGSQL_VERSION]/contrib/tsearch2.sql evergreen</userinput>
- <userinput>psql -f /usr/share/postgresql/[PGSQL_VERSION]/contrib/pgxml.sql evergreen</userinput>
- </screen>
+ and execute the SQL scripts as shown below (remember to adjust the paths as needed,
+ where <emphasis>PGSQL_VERSION</emphasis> is your installed PostgreSQL
+ version, for example <literal>8.3</literal>).</para>
+<screen>
+ <userinput>
+ # as the postgres user:
+ psql -f /usr/share/postgresql/PGSQL_VERSION/contrib/tablefunc.sql evergreen
+ psql -f /usr/share/postgresql/PGSQL_VERSION/contrib/tsearch2.sql evergreen
+ psql -f /usr/share/postgresql/PGSQL_VERSION/contrib/pgxml.sql evergreen</userinput>
+</screen>
</step>
<step xml:id="serversideinstallation-postgresqlcreateuser">
<title>Create <systemitem class="username">evergreen</systemitem> PostgreSQL user</title>
<para>As the <systemitem class="username">postgres</systemitem>
user on the PostgreSQL system, create a new PostgreSQL user
named <systemitem class="username">evergreen</systemitem> and
- assign a password:</para>
- <screen>
- <prompt># as the postgres user:</prompt>
- <userinput>createuser -P -s evergreen</userinput>
- <computeroutput>Enter password for new role: <userinput>MYNEWPASSWORD</userinput></computeroutput>
- <computeroutput>Enter it again: <userinput>MYNEWPASSWORD</userinput></computeroutput>
- </screen>
+ assign a password (remember to replace <emphasis>NEWPASSWORD</emphasis>
+ with an appropriate new password):</para>
+<screen>
+ <userinput>
+ # as the postgres user:
+ createuser -P -s evergreen</userinput>
+ <computeroutput>
+ Enter password for new role: <userinput>NEWPASSWORD</userinput>
+ Enter it again: <userinput>NEWPASSWORD</userinput></computeroutput>
+</screen>
</step>
<step>
<title>Create database schema</title>
the following commands and replace <emphasis>HOSTNAME, PORT,
PASSWORD</emphasis> and <emphasis>DATABASENAME</emphasis> with appropriate
values:</para>
- <screen>
- <prompt># as the root user:</prompt>
- <userinput>cd /home/opensrf/Evergreen-ILS-1.6.1.2</userinput>
- <userinput>perl Open-ILS/src/support-scripts/eg_db_config.pl --update-config \</userinput>
- <userinput> --service all --create-schema --create-bootstrap --create-offline \</userinput>
- <userinput> --hostname HOSTNAME --port PORT \</userinput>
- <userinput> --user evergreen --password PASSWORD --database DATABASENAME</userinput>
- </screen>
+<screen>
+ <userinput>
+ # as the root user:
+ cd /home/opensrf/Evergreen-ILS-1.6.1.2
+ perl Open-ILS/src/support-scripts/eg_db_config.pl --update-config \
+ --service all --create-schema --create-bootstrap --create-offline \
+ --hostname HOSTNAME --port PORT \
+ --user evergreen --password PASSWORD --database DATABASENAME</userinput>
+</screen>
<para>On most systems, <emphasis>HOSTNAME</emphasis> will be
<emphasis role="bold">localhost</emphasis> and
<emphasis>PORT</emphasis> will be <emphasis role="bold">5432</emphasis>.
<para>As the command executes, you may see warnings similar to:
<literal>ERROR: schema SOMENAME does not exist</literal> (in fact,
you may see one warning per schema) but they can be safely ignored.</para>
- <note>
- <para>If you are entering the above command on a single line, do
- not include the <literal>\</literal> (backslash) characters. If
- you are using the <command>bash</command> shell, these should only
- be used at the end of a line at a <command>bash</command> prompt
- to indicate that the command is continued on the next line.</para>
- </note>
+ <note>If you are entering the above command on a single line, do not
+ include the <literal>\</literal> (backslash) characters. If you are using
+ the <command>bash</command> shell, these should only be used at the end of
+ a line at a <command>bash</command> prompt to indicate that the command is
+ continued on the next line.</note>
</step>
</substeps>
</step>
<indexterm>
<primary>Apache modules</primary>
</indexterm>
- <screen>
- <prompt># as the root user:</prompt>
- <userinput>a2enmod ssl # enable mod_ssl</userinput>
- <userinput>a2enmod rewrite # enable mod_rewrite</userinput>
- <userinput>a2enmod expires # enable mod_expires</userinput>
- </screen>
+<screen>
+ <userinput>
+ # as the root user:
+ a2enmod ssl # enable mod_ssl
+ a2enmod rewrite # enable mod_rewrite
+ a2enmod expires # enable mod_expires</userinput>
+</screen>
<para>As the commands execute, you may see warnings similar to:
<literal>Module SOMEMODULE already enabled</literal> but you can
safely ignore them.</para>
Evergreen installation directory to the Apache directory. As the
<systemitem class="username">root</systemitem> user, perform the
following commands:</para>
- <screen>
- <prompt># as the root user:</prompt>
- <userinput>cd /home/opensrf/Evergreen-ILS-1.6.1.2</userinput>
- <userinput>cp Open-ILS/examples/apache/eg.conf /etc/apache2/sites-available/</userinput>
- <userinput>cp Open-ILS/examples/apache/eg_vhost.conf /etc/apache2/</userinput>
- <userinput>cp Open-ILS/examples/apache/startup.pl /etc/apache2/</userinput>
- </screen>
+<screen>
+ <userinput>
+ # as the root user:
+ cd /home/opensrf/Evergreen-ILS-1.6.1.2
+ cp Open-ILS/examples/apache/eg.conf /etc/apache2/sites-available/
+ cp Open-ILS/examples/apache/eg_vhost.conf /etc/apache2/
+ cp Open-ILS/examples/apache/startup.pl /etc/apache2/</userinput>
+</screen>
</step>
<step xml:id="serversideinstallation-createsslcertificate">
<title>Create a Security Certificate</title>
accept the warnings in the Staff Client and browser during testing and
development. As the <systemitem class="username">root</systemitem> user,
perform the following commands:</para>
- <screen>
- <prompt># as the root user:</prompt>
- <userinput>mkdir /etc/apache2/ssl</userinput>
- <userinput>cd /etc/apache2/ssl</userinput>
- <userinput>openssl req -new -x509 -days 365 -nodes -out server.crt -keyout server.key</userinput>
- </screen>
+<screen>
+ <userinput>
+ # as the root user:
+ mkdir /etc/apache2/ssl
+ cd /etc/apache2/ssl
+ openssl req -new -x509 -days 365 -nodes -out server.crt -keyout server.key</userinput>
+</screen>
<para>You will be prompted for several items of information; enter
the appropriate information for each item. The new files
<filename>server.crt</filename> and <filename>server.key</filename> will
be created in the directory
<filename class="directory">/etc/apache2/ssl</filename> .</para>
- <note>
- <para>This step generates a self-signed SSL
- certificate. You must install a proper SSL certificate
- for a public production system to avoid warning messages
- when users login to their account through the OPAC or
- when staff login through the Staff Client.</para>
- <para>For further information on installing a proper SSL
- certificate, see <xref linkend="serversideinstallation-ssl"/>.</para>
- </note>
+ <note>This step generates a self-signed SSL certificate. You must install
+ a proper SSL certificate for a public production system to avoid warning
+ messages when users login to their account through the OPAC or when staff
+ login through the Staff Client. For further information on
+ installing a proper SSL certificate, see
+ <xref linkend="serversideinstallation-ssl"/>.</note>
</step>
<step xml:id="serversideinstallation-modify-apache">
<title>Update Apache configuration file</title>
<listitem>
<para>In the section
<literal><Directory "/openils/var/cgi-bin"></literal>
- replace this line:
+ replace the line:</para>
<literal>Allow from 10.0.0.0/8</literal>
- with this line: <literal>Allow from all</literal>.</para>
+ <para>with the line:</para>
+ <literal>Allow from all</literal>
<warning>This change allows access to your configuration
CGI scripts from any workstation on any network. This is
only a temporary change to expedite testing and should be
</warning>
</listitem>
<listitem>
- <para>Comment out the line <literal>Listen 443</literal>,
- since it conflicts with the same declaration in the
- configuration file:
+ <para>Comment out the line:</para>
+ <literal>Listen 443</literal>
+ <para>since it conflicts with the same declaration in
+ the configuration file:
<filename>/etc/apache2/ports.conf</filename>. Note that
<systemitem class="osname">Debian </systemitem> users
should not do this since the conflict does not apply to
<systemitem class="osname">Ubuntu Lucid</systemitem> or
<systemitem class="osname">Debian Lenny</systemitem>, as
the <systemitem class="username">root</systemitem> user,
- edit the Apache configuration file and change these
- lines:</para>
- <screen>
- <prompt># as the root user:</prompt>
- <userinput>export APACHE_RUN_USER=www-data</userinput>
- <userinput>export APACHE_RUN_GROUP=www-data</userinput>
- </screen>
+ edit the Apache configuration file and change the lines:</para>
+<screen>
+ <userinput>
+ export APACHE_RUN_USER=www-data
+ export APACHE_RUN_GROUP=www-data</userinput>
+</screen>
<para>to instead read:</para>
- <screen>
- <prompt># as the root user:</prompt>
- <userinput>export APACHE_RUN_USER=opensrf</userinput>
- <userinput>export APACHE_RUN_GROUP=opensrf</userinput>
- </screen>
+<screen>
+ <userinput>
+ export APACHE_RUN_USER=opensrf
+ export APACHE_RUN_GROUP=opensrf</userinput>
+</screen>
</listitem>
<listitem>
<para>As the
<systemitem class="username">root</systemitem> user,
edit the Apache configuration file
<filename>/etc/apache2/apache2.conf</filename> and
- modify the values for <literal>KeepAliveTimeout</literal>
+ modify the value for <literal>KeepAliveTimeout</literal>
and <literal>MaxKeepAliveRequests</literal> to match
the following:</para>
- <screen>
- <prompt># as the root user:</prompt>
- <userinput>KeepAliveTimeout 1</userinput>
- <userinput>MaxKeepAliveRequests 100</userinput>
- </screen>
+<screen>
+ <userinput>
+ KeepAliveTimeout 1
+ MaxKeepAliveRequests 100</userinput>
+</screen>
</listitem>
<listitem>
<para>Further configuration changes to Apache may be
and modify the section related to <emphasis>prefork
configuration</emphasis> to suit the load on your
system:</para>
- <programlisting language="xml"><![CDATA[
+<programlisting language="xml"><![CDATA[
<IfModule mpm_prefork_module>
StartServers 20
MinSpareServers 5
following Apache configuration commands to disable the default
<emphasis>It Works</emphasis> web page and enable the Evergreen
web site, and then restart the Apache server:</para>
- <screen>
- <prompt># as the root user:</prompt>
- <prompt># disable/enable web sites</prompt>
- <userinput>a2dissite default</userinput>
- <userinput>a2ensite eg.conf</userinput>
- <prompt># restart the server</prompt>
- <userinput>/etc/init.d/apache2 reload</userinput>
- </screen>
+<screen>
+ <userinput>
+ # as the root user:
+ # disable/enable web sites
+ a2dissite default
+ a2ensite eg.conf
+ # restart the server
+ /etc/init.d/apache2 reload</userinput>
+</screen>
</step>
</substeps>
</step>
file that needs changes. The right-hand side of the table shows the replacement
values:</para>
<table xml:id="serversideinstallation-xpath-table-2">
+ <?dbfo keep-together="always" ?>
<title>Sample XPath syntax for editing "opensrf_core.xml"</title>
<tgroup align="left" cols="2" colsep="1" rowsep="1">
<colspec colname="Xpath" colnum="1" colwidth="1.6*"/>
<para>Modify the permissions in the directory
<filename class="directory">/openils/var/cgi-bin</filename>
to make the files executable:</para>
- <screen>
- <prompt># as the opensrf user:</prompt>
- <userinput>chmod 755 /openils/var/cgi-bin/*.cgi</userinput>
- </screen>
+<screen>
+ <userinput>
+ # as the opensrf user:
+ chmod 755 /openils/var/cgi-bin/*.cgi</userinput>
+</screen>
</listitem>
<listitem>
<para>As the <systemitem class="username">opensrf</systemitem> user,
user <systemitem class="username">opensrf</systemitem> by adding a Perl
environmental variable, then execute the shell configuration file to load
the new variables into your current environment.</para>
- <note>
- <para>
- <emphasis>In a multi-server environment, you must add any
- modifications to <filename>~/.bashrc</filename> to the top of
- the file <emphasis>before</emphasis> the line
- <literal>[ -z "$PS1" ] && return </literal>.
- This will allow headless (scripted) logins to load the correct
- environment.</emphasis>
- </para>
- </note>
- <screen>
- <prompt># as the opensrf user:</prompt>
- <userinput>echo "export PERL5LIB=/openils/lib/perl5:\$PERL5LIB" >> ~/.bashrc</userinput>
- <userinput>. ~/.bashrc</userinput>
- </screen>
+ <note>In a multi-server environment, you must add any
+ modifications to <filename>~/.bashrc</filename> to the top of the file
+ <emphasis>before</emphasis> the line <literal>[ -z "$PS1" ] &&
+ return </literal>. This will allow headless (scripted) logins to load the
+ correct environment.</note>
+<screen>
+ <userinput>
+ # as the opensrf user:
+ echo "export PERL5LIB=/openils/lib/perl5:\$PERL5LIB" >> ~/.bashrc
+ . ~/.bashrc</userinput>
+</screen>
</listitem>
</itemizedlist>
</step>
<para>As the <systemitem class="username">root</systemitem>
user, start the <systemitem class="service">ejabberd</systemitem> and
<systemitem class="service">memcached</systemitem> services as follows:</para>
- <screen>
- <prompt># as the root user:</prompt>
- <userinput>/etc/init.d/ejabberd start</userinput>
- <userinput>/etc/init.d/memcached start</userinput>
- </screen>
+<screen>
+ <userinput>
+ # as the root user:
+ /etc/init.d/ejabberd start
+ /etc/init.d/memcached start</userinput>
+</screen>
</step>
<step>
<para>As the <systemitem class="username">opensrf</systemitem> user,
start Evergreen as follows:</para>
- <screen>
- <prompt># as the opensrf user:</prompt>
- <userinput>osrf_ctl.sh -l -a start_all</userinput>
- </screen>
+<screen>
+ <userinput>
+ # as the opensrf user:
+ osrf_ctl.sh -l -a start_all</userinput>
+</screen>
<para>The flag <option>-l</option> forces Evergreen to use
<systemitem class="domainname">localhost</systemitem> (your current system)
as the hostname. The flag <option>-a start_all</option> starts the other
changes to the library hierarchy.</para>
<para>As the <systemitem class="username">opensrf</systemitem> user, execute the
following command and review the results:</para>
- <screen>
- <prompt># as the opensrf user:</prompt>
- <userinput>cd /openils/bin</userinput>
- <userinput>./autogen.sh -c /openils/conf/opensrf_core.xml -u</userinput>
- <computeroutput>Updating Evergreen organization tree and IDL using '/openils/conf/opensrf_core.xml'</computeroutput>
- <computeroutput>Updating fieldmapper</computeroutput>
- <computeroutput>Updating web_fieldmapper</computeroutput>
- <computeroutput>Updating OrgTree</computeroutput>
- <computeroutput>removing OrgTree from the cache for locale hy-AM...</computeroutput>
- <computeroutput>removing OrgTree from the cache for locale cs-CZ...</computeroutput>
- <computeroutput>removing OrgTree from the cache for locale en-CA...</computeroutput>
- <computeroutput>removing OrgTree from the cache for locale en-US...</computeroutput>
- <computeroutput>removing OrgTree from the cache for locale fr-CA...</computeroutput>
- <computeroutput>removing OrgTree from the cache for locale ru-RU...</computeroutput>
- <computeroutput>Updating OrgTree HTML</computeroutput>
- <computeroutput>Updating locales selection HTML</computeroutput>
- <computeroutput>Updating Search Groups</computeroutput>
- <computeroutput>Refreshing proximity of org units</computeroutput>
- <computeroutput>Successfully updated the organization proximity</computeroutput>
- <computeroutput>Done</computeroutput>
- </screen>
+<screen>
+ <userinput>
+ # as the opensrf user:
+ cd /openils/bin
+ ./autogen.sh -c /openils/conf/opensrf_core.xml -u</userinput>
+ <computeroutput>
+ Updating Evergreen organization tree and IDL using '/openils/conf/opensrf_core.xml'
+ Updating fieldmapper
+ Updating web_fieldmapper
+ Updating OrgTree
+ removing OrgTree from the cache for locale hy-AM...
+ removing OrgTree from the cache for locale cs-CZ...
+ removing OrgTree from the cache for locale en-CA...
+ removing OrgTree from the cache for locale en-US...
+ removing OrgTree from the cache for locale fr-CA...
+ removing OrgTree from the cache for locale ru-RU...
+ Updating OrgTree HTML
+ Updating locales selection HTML
+ Updating Search Groups
+ Refreshing proximity of org units
+ Successfully updated the organization proximity
+ Done</computeroutput>
+</screen>
</step>
<step>
<para>As the <systemitem class="username">root</systemitem> user, restart the
Apache Web server:</para>
- <screen>
- <prompt># as the root user:</prompt>
- <userinput>/etc/init.d/apache2 restart</userinput>
- </screen>
- <note>
- <para>If the Apache Web server was running when you started the OpenSRF
- services, you might not be able to successfully log into the OPAC or
- Staff Client until the Apache Web server has been restarted.</para>
- </note>
+<screen>
+ <userinput>
+ # as the root user:
+ /etc/init.d/apache2 restart</userinput>
+</screen>
+ <note>If the Apache Web server was running when you started the OpenSRF
+ services, you might not be able to successfully log into the OPAC or Staff
+ Client until the Apache Web server has been restarted.</note>
</step>
</procedure>
</section>
<command>srfsh</command> commands, type <userinput>help</userinput> at the prompt.
As the <systemitem class="username">opensrf</systemitem> user,
execute the following commands to test your Evergreen connection:</para>
- <screen>
- <prompt># as the opensrf user:</prompt>
- <userinput>/openils/bin/srfsh</userinput>
- <computeroutput>srfsh%</computeroutput>
- <userinput>login admin open-ils</userinput>
- <computeroutput>Received Data: "250bf1518c7527a03249858687714376"</computeroutput>
- <computeroutput>------------------------------------</computeroutput>
- <computeroutput>Request Completed Successfully</computeroutput>
- <computeroutput>Request Time in seconds: 0.045286</computeroutput>
- <computeroutput>------------------------------------</computeroutput>
- <computeroutput>Received Data: {</computeroutput>
- <computeroutput> "ilsevent":0,</computeroutput>
- <computeroutput> "textcode":"SUCCESS",</computeroutput>
- <computeroutput> "desc":" ",</computeroutput>
- <computeroutput> "pid":21616,</computeroutput>
- <computeroutput> "stacktrace":"oils_auth.c:304",</computeroutput>
- <computeroutput> "payload":{</computeroutput>
- <computeroutput> "authtoken":"e5f9827cc0f93b503a1cc66bee6bdd1a",</computeroutput>
- <computeroutput> "authtime":420</computeroutput>
- <computeroutput> }</computeroutput>
- <computeroutput>}</computeroutput>
- <computeroutput>------------------------------------</computeroutput>
- <computeroutput>Request Completed Successfully</computeroutput>
- <computeroutput>Request Time in seconds: 1.336568</computeroutput>
- <computeroutput>------------------------------------</computeroutput>
- </screen>
+<screen>
+ <userinput>
+ # as the opensrf user:
+ /openils/bin/srfsh</userinput>
+ <computeroutput>
+ srfsh% <userinput>login admin open-ils</userinput>
+ Received Data: "250bf1518c7527a03249858687714376"
+ ------------------------------------
+ Request Completed Successfully
+ Request Time in seconds: 0.045286
+ ------------------------------------
+ Received Data: {
+ "ilsevent":0,
+ "textcode":"SUCCESS",
+ "desc":" ",
+ "pid":21616,
+ "stacktrace":"oils_auth.c:304",
+ "payload":{
+ "authtoken":"e5f9827cc0f93b503a1cc66bee6bdd1a",
+ "authtime":420
+ }
+ }
+ ------------------------------------
+ Request Completed Successfully
+ Request Time in seconds: 1.336568
+ ------------------------------------
+ </computeroutput>
+</screen>
<para>If this does not work, try the following:</para>
<itemizedlist>
<listitem>
<para>As the <systemitem class="username">opensrf</systemitem> user, run the
<filename>settings-tester.pl</filename> utility to review your Evergreen
installation for any system configuration problems:</para>
- <screen>
- <prompt># as the opensrf user:</prompt>
- <userinput>cd /home/opensrf</userinput>
- <userinput>./Evergreen-ILS-1.6.1.2/Open-ILS/src/support-scripts/settings-tester.pl</userinput>
- </screen>
+<screen>
+ <userinput>
+ # as the opensrf user:
+ cd /home/opensrf
+ ./Evergreen-ILS-1.6.1.2/Open-ILS/src/support-scripts/settings-tester.pl</userinput>
+</screen>
<para>If the output of <command>settings-tester.pl</command> does not help you
find the problem, please do not make any significant changes to your
configuration.</para>
version 3.0 and later on Ubuntu and Debian distributions).</para>
<para>As the <systemitem class="username">root</systemitem> user, start the Staff Client
as shown:</para>
- <screen>
- <prompt># as the root user:</prompt>
- <userinput>xulrunner /home/opensrf/Evergreen-ILS-1.6.1.2/Open-ILS/xul/staff_client/build/application.ini</userinput>
- </screen>
+<screen>
+ <userinput>
+ # as the root user:
+ xulrunner /home/opensrf/Evergreen-ILS-1.6.1.2/Open-ILS/xul/staff_client/build/application.ini</userinput>
+</screen>
<para>The login screen for the Staff Client should appear:</para>
<mediaobject>
<alt>Logging into the Staff Client</alt>
commands. Note the use of <emphasis>restart</emphasis> to force the new Evergreen
modules to be reloaded even if the Apache server is already running. Any problems found
with your configuration files should be displayed:</para>
- <screen>
- <prompt># as the root user:</prompt>
- <userinput>apache2ctl configtest && /etc/init.d/apache2 restart</userinput>
- </screen>
+<screen>
+ <userinput>
+ # as the root user:
+ apache2ctl configtest && /etc/init.d/apache2 restart</userinput>
+</screen>
</simplesect>
<simplesect xml:id="serversideinstallation-stopping">
<title>Stopping Evergreen</title>
Evergreen services.</para>
<para>As the <systemitem class="username">opensrf</systemitem> user, stop all Evergreen
services by using the following command:</para>
- <screen>
- # as the opensrf user
- # stop the server; use "-l" to force hostname to be "localhost"
- osrf_ctl.sh -l -a stop_all
- </screen>
- <note>
- <para>You can also stop Evergreen services
- <emphasis role="bold">without</emphasis> the <option>-l</option> flag, but the
- <command>osrf_ctl.sh</command> utility must know the fully qualified domain name
- for the system on which it will execute. That hostname may have been specified
- in the configuration file <filename>opensrf.xml</filename>, which you configured
- in a previous step.</para>
- </note>
+<screen>
+ <userinput>
+ # as the opensrf user
+ # stop the server; use "-l" to force hostname to be "localhost"
+ osrf_ctl.sh -l -a stop_all</userinput>
+</screen>
+ <note>You can also stop Evergreen services <emphasis role="bold">without</emphasis> the
+ <option>-l</option> flag, but the <command>osrf_ctl.sh</command> utility must know the
+ fully qualified domain name for the system on which it will execute. That hostname may
+ have been specified in the configuration file <filename>opensrf.xml</filename>, which
+ you configured in a previous step.</note>
</simplesect>
</section>
<section xml:id="serversideinstallation-postinstallation">
or scheduled reports, then starts them as required.</para>
<para>As the <systemitem class="username">opensrf</systemitem> user,
start the Reporter daemon using the following command:</para>
- <screen>
- <prompt># as the opensrf user:</prompt>
- <userinput>cd /home/opensrf/Evergreen-ILS-1.6.1.2/Open-ILS/src/reporter</userinput>
- <userinput>./clark-kent.pl --daemon</userinput>
- </screen>
+<screen>
+ <userinput>
+ # as the opensrf user:
+ cd /home/opensrf/Evergreen-ILS-1.6.1.2/Open-ILS/src/reporter
+ ./clark-kent.pl --daemon</userinput>
+</screen>
<para>You can control how the <command>clark-kent.pl</command> utility behaves
by specifying any of several command-line options:</para>
<itemizedlist>
in the default location.</para>
<para>As the <systemitem class="username">opensrf</systemitem> user,
execute the following shell commands:</para>
- <screen>
- <prompt># as the root user:</prompt>
- <prompt># find and kill the process ID number(s)</prompt>
- <userinput>kill `ps wax | grep "Clark Kent" | grep -v grep | cut -b1-6`</userinput>
- <prompt># remove the lock file</prompt>
- <userinput>rm /tmp/reporter-LOCK</userinput>
- </screen>
+<screen>
+ <userinput>
+ # as the root user:
+ # find and kill the process ID number(s)
+ kill `ps wax | grep "Clark Kent" | grep -v grep | cut -b1-6`
+ # remove the lock file
+ rm /tmp/reporter-LOCK</userinput>
+</screen>
</listitem>
</itemizedlist>
</section>
this section are further descriptions of installing
<systemitem class="osname">Linux</systemitem> and Evergreen systems using that
virtualization software.</para>
- <simplesect>
+ <section>
<title>Installing <application>"VirtualBox"</application> Virtualization Software</title>
<para>This section reviews installation of the
<application>"VirtualBox"</application> application on
Download the latest edition of <application>VirtualBox</application> from their official website:
<link xl:href="http://virtualbox.org" xl:title="virtual box">http://virtualbox.org</link>
and follow the on screen instructions to install the software.</para>
- </simplesect>
- <simplesect>
+ </section>
+ <section>
<title>Installing VMware Virtualization Software</title>
<indexterm>
<primary>virtualization software</primary>
official website:
<ulink url="http://downloads.vmware.com">http://downloads.vmware.com</ulink>
and follow the on-screen instructions.</para>
- </simplesect>
+ </section>
</simplesect>
<simplesect xml:id="serversideinstallation-virtual-install-linux-ev">
<title>Installing <systemitem class="osname">Linux</systemitem> /
</listitem>
</orderedlist>
<para>We review each method in the following sections.</para>
- <simplesect xml:id="serversideinstall-virtual-prebuilt">
+ <section xml:id="serversideinstall-virtual-prebuilt">
<title>Download and install a prebuilt software image</title>
<para>You can download a prebuilt software image that, when installed with your
virtualization software, emulates a
of the Evergreen community for the purposes of testing, evaluation, training,
and development.</note>
<table xml:id="serversideinstall-virtual-versions">
+ <?dbfo keep-together="always" ?>
<title>Linux / Evergreen Virtual Images</title>
<tgroup align="left" cols="4" colsep="1" rowsep="1">
- <colspec colnum="1" colwidth="1.0*"/>
- <colspec colnum="2" colwidth="1.0*"/>
- <colspec colnum="3" colwidth="3.0*"/>
- <colspec colnum="4" colwidth="1.0*"/>
+ <colspec colname="linux_version" colnum="1" colwidth="1.0*"/>
+ <colspec colname="evergreen_version" colnum="2" colwidth="1.0*"/>
+ <colspec colname="image" colnum="3" colwidth="3.0*"/>
+ <colspec colname="comments" colnum="4" colwidth="1.0*"/>
<thead>
<row>
<entry>Linux Version</entry>
</indexterm>
<step>
<para>Start VirtualBox for the first time and select
- <menuchoice><guimenu>File</guimenu><guimenuitem>VirtualBox Media
- Manager</guimenuitem><guimenuitem>Add</guimenuitem></menuchoice>
+ <menuchoice><guimenu>File</guimenu><guimenuitem>VirtualBox Media Manager</guimenuitem><guimenuitem>Add</guimenuitem></menuchoice>
to locate the prebuilt software image just downloaded (the
example shows it was extracted from the original
<filename class="extension">zip</filename> file into a temporary directory
<systemitem class="osname">Linux</systemitem> and Evergreen.
After some delay you should see the command line prompt
<prompt>debian-lenny login:</prompt>. Log in with username
- <userinput>root</userinput> and password <userinput>evergreen</userinput>
+ <userinput>root </userinput> and password <userinput>evergreen</userinput>
to continue.</para>
</step>
</procedure>
- </simplesect>
+ </section>
</simplesect>
</section>
</section>
to match the Evergreen version. See the following table for the recommended version of
<application>XULrunner</application>:</para>
<table xml:id="staffclientinstallation-table-1">
+ <?dbfo keep-together="always" ?>
<title>Evergreen / <application>XULrunner</application> Dependencies</title>
- <tgroup align="left" cols="2" colsep="1" rowsep="1">
- <colspec colnum="1" colwidth="1.0*"/>
- <colspec colnum="2" colwidth="3.0*"/>
+ <tgroup cols="2" align="left" colsep="1" rowsep="1">
+ <colspec colnum="1" colname="evergreen_version" colwidth="1.0*"/>
+ <colspec colnum="2" colname="xulrunner_version" colwidth="1.0*"/>
+ <thead>
+ <row>
+ <entry>Evergreen Version</entry>
+ <entry>XULRunner Version</entry>
+ </row>
+ </thead>
<tbody>
<row>
<entry>Evergreen 1.6.x.x</entry>
<filename class="directory">~/Desktop/Evergreen_Staff_Client</filename>).</para>
<para>Remember to call <application>XULrunner</application> with the full path to the
binary, followed by the install command and the path to the client data:</para>
- <screen>
- <userinput>/Library/Frameworks/XUL.framework/xulrunner-bin --install-app ~/Desktop/Evergreen_Staff_Client</userinput>
- </screen>
+<screen>
+ <userinput>
+ /Library/Frameworks/XUL.framework/xulrunner-bin --install-app ~/Desktop/Evergreen_Staff_Client
+ </userinput>
+</screen>
<para>The command should exit quietly and will create the folder
<filename class="directory">/Applications/OpenILS</filename>,
containing a launcher named <application>open_ils_staff_client</application>.</para>
<title>(OPTIONAL) Flush Receiptdb file:</title>
<para>First, get the package identifier, then purge/forget the build that was
initially installed:</para>
- <screen>
- <userinput>sudo pkgutil --pkgs > /tmp/pkgs.txt</userinput>
- <userinput>sudo pkgutil --forget org.mozilla.xulrunner</userinput>
- </screen>
+<screen>
+ <userinput>
+ sudo pkgutil --pkgs > /tmp/pkgs.txt
+ sudo pkgutil --forget org.mozilla.xulrunner
+ </userinput>
+</screen>
<note>It may not be necessary to edit the file
<filename>/Library/Receipts/InstallHistory.plist</filename> after deleting the
folder <filename class="directory">XUL.framework</filename>. See
<simplesect>
<title>Creating an APP file: Staff Client and <application>XULrunner</application> Bundled</title>
<para>An APP file is basically a folder. Start with a folder stucture like this:</para>
- <screen>
- <prompt>Evergreen.app</prompt>
- <prompt>__Contents</prompt>
- <prompt>____Frameworks</prompt>
- <prompt>____Resources</prompt>
- <prompt>____MacOS</prompt>
- </screen>
+<screen>
+ <prompt>
+ Evergreen.app
+ __Contents
+ ____Frameworks
+ ____Resources
+ ____MacOS
+ </prompt>
+</screen>
<para>Create an APP folder structure with the following commands:</para>
- <screen>
- <userinput>mkdir -p Evergreen.app/Contents/Frameworks</userinput>
- <userinput>mkdir -p Evergreen.app/Contents/Resources</userinput>
- <userinput>mkdir -p Evergreen.app/Contents/MacOS</userinput>
- </screen>
+<screen>
+ <userinput>
+ mkdir -p Evergreen.app/Contents/Frameworks
+ mkdir -p Evergreen.app/Contents/Resources
+ mkdir -p Evergreen.app/Contents/MacOS
+ </userinput>
+</screen>
<orderedlist>
<listitem>
<para>Create a new file in the folder
<para>Make a copy of the folder
<filename class="directory">/Library/Frameworks/XUL.Framework</filename>
inside your APP file. It should look something like this:</para>
- <screen>
- <prompt>Evergreen.app/</prompt>
- <prompt>__Contents/</prompt>
- <prompt>____Frameworks/</prompt>
- <prompt>______XUL.Framework/</prompt>
- <prompt>______Versions/</prompt>
- <prompt>________Current -> 1.9.1.3 (symlink)</prompt>
- <prompt>________1.9.1.3/</prompt>
- <prompt>______XUL -> Versions/Current/XUL</prompt>
- <prompt>______libxpcom.dylib -> Versions/Current/libxpcom.dylib</prompt>
- <prompt>______xulrunner-bin -> Versions/Current/xulrunner-bin</prompt>
- </screen>
+<screen>
+ <prompt>
+ Evergreen.app/
+ __Contents/
+ ____Frameworks/
+ ______XUL.Framework/
+ ______Versions/
+ ________Current -> 1.9.1.3 (symlink)
+ ________1.9.1.3/
+ ______XUL -> Versions/Current/XUL
+ ______libxpcom.dylib -> Versions/Current/libxpcom.dylib
+ ______xulrunner-bin -> Versions/Current/xulrunner-bin
+ </prompt>
+</screen>
</listitem>
<listitem>Copy
<filename>XUL.Framework/Versions/Current/xulrunner</filename> into the
<listitem>
<para>Make <filename>Evergreen.app/Resources</filename> the root
of your Evergreen application files like this:</para>
- <screen>
- <prompt>Evergreen.app/</prompt>
- <prompt>__Contents/</prompt>
- <prompt>____Resources/</prompt>
- <prompt>______BUILD_ID</prompt>
- <prompt>______application.ini</prompt>
- <prompt>______chrome/</prompt>
- <prompt>______components/</prompt>
- <prompt>______etc.</prompt>
- </screen>
+<screen>
+ <prompt>
+ Evergreen.app/
+ __Contents/
+ ____Resources/
+ ______BUILD_ID
+ ______application.ini
+ ______chrome/
+ ______components/
+ ______etc.
+ </prompt>
+</screen>
</listitem>
<listitem>Put a <systemitem class="osname">Mac</systemitem>
format icon file named <filename>Evergreen.icns</filename> in
<para>Execute the following commands, replacing <literal>USER</literal>,
<literal>WORKSTATION</literal>, and <literal>SOME_PATH</literal> with
appropriate values:</para>
- <screen>
- <userinput>cd /home/opensrf/Evergreen-ILS-1.6.1.2/Open-ILS/xul/staff_client</userinput>
- <userinput>scp -r ./build USER@WORKSTATION:/SOME_PATH/</userinput>
- </screen>
+<screen>
+ <userinput>
+ cd /home/opensrf/Evergreen-ILS-1.6.1.2/Open-ILS/xul/staff_client
+ scp -r ./build USER@WORKSTATION:/SOME_PATH/
+ </userinput>
+</screen>
<para>You should test the newly copied Staff Client on the remote workstation.
Log into the workstation and execute the following command:</para>
- <screen>
- <userinput>xulrunner /SOME_PATH/build/application.ini</userinput>
- </screen>
+<screen>
+ <userinput>
+ xulrunner /SOME_PATH/build/application.ini
+ </userinput>
+</screen>
</simplesect>
<simplesect>
<title>Building the Staff Client on the Server</title>
directory containing the server components of the Staff Client, or the name of a
symbolic link to that directory. As the
<systemitem class="username">root</systemitem> user, make the changes as follows:</para>
- <screen>
- <prompt># as the root user</prompt>
- <userinput>cd /openils/var/web/xul</userinput>
- <userinput>ln -s SERVER_BUILD_ID/ CLIENT_BUILD_ID</userinput>
- </screen>
+<screen>
+ <prompt>
+ # as the root user:</prompt>
+ <userinput>
+ cd /openils/var/web/xul
+ ln -s SERVER_BUILD_ID/ CLIENT_BUILD_ID
+ </userinput>
+</screen>
</simplesect>
<simplesect>
<title>Building the Staff Client on a Client Machine</title>
<command>apt-get</command>. For <application>subversion</application>,
select the latest version; for <application>XULrunner</application>,
select version <emphasis>1.8.1.4-2ubuntu5</emphasis>.</para>
- <screen>
- <prompt># as the root user</prompt>
- <userinput>sudo apt-get install subversion</userinput>
- <userinput>sudo apt-get install xulrunner</userinput>
- </screen>
+<screen>
+ <prompt>
+ # as the root user:</prompt>
+ <userinput>
+ sudo apt-get install subversion
+ sudo apt-get install xulrunner
+ </userinput>
+</screen>
</step>
<step>
<title>Download the Source Code</title>
to the directory in which you wish to download the Staff
Client. Use the following commands to download the proper
version of the source code by tag name:</para>
- <screen>
- <prompt># as the opensrf user</prompt>
- <userinput>cd /DOWNLOAD/DIRECTORY</userinput>
- <userinput>svn co rel_1_6_1_2/</userinput>
- </screen>
+<screen>
+ <prompt>
+ # as the opensrf user:</prompt>
+ <userinput>
+ cd /DOWNLOAD/DIRECTORY
+ svn co rel_1_6_1_2/
+ </userinput>
+</screen>
<para>Remember to change "rel_1_6_1_2" to the appropriate
tag for your installation.</para>
</listitem>
commands accordingly.</para>
<para>As the <systemitem class="username">opensrf</systemitem>
user, run the following commands to build the Staff Client:</para>
- <screen>
- <prompt># as the opensrf user</prompt>
- <userinput>wget http://evergreen-ils.org/downloads/Evergreen-ILS-1.6.1.2.tar.gz</userinput>
- <userinput>tar xfz Evergreen-ILS-1.6.1.2.tar.gz</userinput>
- <userinput>cd /home/opensrf/Evergreen-ILS-1.6.1.2</userinput>
- <userinput>./configure --prefix=/openils --sysconfdir=/openils/conf</userinput>
- <userinput>cd ./Open-ILS/xul/staff_client/</userinput>
- <userinput>make STAFF_CLIENT_BUILD_ID='rel_1_6_1_2' install</userinput>
- </screen>
+<screen>
+ <prompt>
+ # as the opensrf user:</prompt>
+ <userinput>
+ wget http://evergreen-ils.org/downloads/Evergreen-ILS-1.6.1.2.tar.gz
+ tar xfz Evergreen-ILS-1.6.1.2.tar.gz
+ cd /home/opensrf/Evergreen-ILS-1.6.1.2
+ ./configure --prefix=/openils --sysconfdir=/openils/conf
+ cd ./Open-ILS/xul/staff_client/
+ make STAFF_CLIENT_BUILD_ID='rel_1_6_1_2' install
+ </userinput>
+</screen>
</step>
<step>
<title>Run the Staff Client</title>
<para>As the <systemitem class="username">opensrf</systemitem>
user, navigate to the <filename class="directory">build/</filename>
subdirectory and run the following command:</para>
- <screen>
- <prompt># as the opensrf user</prompt>
- <userinput>cd /home/opensrf/Evergreen-ILS-1.6.1.2/Open-ILS/xul/staff_client/build</userinput>
- <userinput>xulrunner application.ini</userinput>
- </screen>
+<screen>
+ <prompt>
+ # as the opensrf user:</prompt>
+ <userinput>
+ cd /home/opensrf/Evergreen-ILS-1.6.1.2/Open-ILS/xul/staff_client/build
+ xulrunner application.ini
+ </userinput>
+</screen>
</step>
<step>
<title>(OPTIONAL) Clean Up / Create Shortcuts</title>
to replace <literal>DOWNLOAD_DIRECTORY</literal> and
<literal>STAGING_DIRECTORY</literal> with the appropriate
paths):</para>
- <screen>
- <prompt># as the opensrf user</prompt>
- <userinput>mkdir ~/STAGING_DIRECTORY</userinput>
- <userinput>cd ~/DOWNLOAD_DIRECTORY/Open-ILS/xul/</userinput>
- <userinput>cp -r staff_client ~/STAGING_DIRECTORY</userinput>
- </screen>
+<screen>
+ <prompt>
+ # as the opensrf user:</prompt>
+ <userinput>
+ mkdir ~/STAGING_DIRECTORY
+ cd ~/DOWNLOAD_DIRECTORY/Open-ILS/xul/
+ cp -r staff_client ~/STAGING_DIRECTORY
+ </userinput>
+</screen>
<para>Test the Staff Client to verify that all necessary files
were copied to the staging directory:</para>
- <screen>
- <prompt># as the opensrf user</prompt>
- <userinput>cd ~/STAGING_DIRECTORY/staff_client/build</userinput>
- <userinput>xulrunner application.ini</userinput>
- </screen>
+<screen>
+ <prompt>
+ # as the opensrf user:</prompt>
+ <userinput>
+ cd ~/STAGING_DIRECTORY/staff_client/build
+ xulrunner application.ini
+ </userinput>
+</screen>
<para>If there were no problems, then finish the cleanup by
removing the original download directory as shown:</para>
- <screen>
- <prompt># as the opensrf user</prompt>
- <userinput>rm -r -f ~/DOWNLOAD_DIRECTORY</userinput>
- </screen>
+<screen>
+ <prompt>
+ # as the opensrf user:</prompt>
+ <userinput>
+ rm -r -f ~/DOWNLOAD_DIRECTORY
+ </userinput>
+</screen>
<para>Finally, the command:</para>
- <screen>
- <prompt># as the opensrf user</prompt>
- <userinput>xulrunner ~/STAGING_DIRECTORY/staff_client/build/application.ini</userinput>
- </screen>
+<screen>
+ <prompt>
+ # as the opensrf user:</prompt>
+ <userinput>
+ xulrunner ~/STAGING_DIRECTORY/staff_client/build/application.ini
+ </userinput>
+</screen>
<para>will now run the Staff Client. You may wish to create a
shortcut for the Staff Client. To do so, use the previous
command as the target for the shortcut:
- <menuchoice>
- <guimenu>Desktop</guimenu>
- <guimenuitem>StartMenu</guimenuitem>
- <guimenuitem>K-Menu</guimenuitem>
- </menuchoice>
- </para>
+ <menuchoice><guimenu>Desktop</guimenu>
+ <guimenuitem>StartMenu</guimenuitem>
+ <guimenuitem>K-Menu</guimenuitem>
+ </menuchoice></para>
</step>
</procedure>
</simplesect>
<orderedlist>
<listitem>
<para>Install wine:</para>
- <screen>
- <prompt># as the root user</prompt>
- <userinput>sudo apt-get install wine</userinput>
- </screen>
+<screen>
+ <prompt>
+ # as the root user:</prompt>
+ <userinput>
+ sudo apt-get install wine
+ </userinput>
+</screen>
</listitem>
<listitem>
<para>Visit the downloads section of the Evergreen website at
file, then execute it with the <application>wine</application>
application (remember to replace <literal>VERSION</literal> with
the release number of the Staff Client you downloaded):</para>
- <screen>
- <prompt># as the opensrf user</prompt>
- <userinput>cd /TEMP_DIRECTORY</userinput>
- <userinput>wine evergreen-setup-rel_VERSION.exe</userinput>
- </screen>
+<screen>
+ <prompt>
+ # as the opensrf user:</prompt>
+ <userinput>
+ cd /TEMP_DIRECTORY
+ wine evergreen-setup-rel_VERSION.exe
+ </userinput>
+</screen>
<para>If this step fails, you may need to configure
<application>Wine</application> first to properly emulate
<systemitem class="osname">Windows XP</systemitem>. To do so,
your Linux desktop. You may also find a new desktop shortcut for
the Staff Client. To launch the Staff Client, visit the
<literal>All Applications</literal> menu on your desktop and
- find the section similar to
- <menuchoice>
- <guimenu>Wine</guimenu>
- <guimenuitem>Program Files</guimenuitem>
- <guimenuitem>Evergreen Staff Client</guimenuitem>
- <guimenuitem>Evergreen Staff Client</guimenuitem>
- </menuchoice>,
- or else launch the Staff Client from the new desktop shortcut.</para>
+ find the section similar to:</para>
+ <para>
+ <menuchoice>
+ <guimenu>Wine</guimenu>
+ <guimenuitem>Program Files</guimenuitem>
+ <guimenuitem>Evergreen Staff Client</guimenuitem>
+ <guimenuitem>Evergreen Staff Client</guimenuitem>
+ </menuchoice>,
+ </para>
+ <para>or else launch the Staff Client from the new desktop shortcut.</para>
</listitem>
</orderedlist>
</simplesect>
variables that you can pass to <command>make</command> to influence the manual build
process:</para>
<simplesect>
- <title><envar>STAFF_CLIENT_BUILD_ID</envar></title>
+ <title>
+ <envar>STAFF_CLIENT_BUILD_ID</envar>
+ </title>
<para>During the normal <emphasis>make install</emphasis> Evergreen server-side
software build process, the variable defaults to an automatically generated
date/time string, but you can also override the value of <envar>BUILD_ID</envar>.</para>
<para>You could use the following commands during the normal install process:</para>
- <screen>
- <prompt># as the root user</prompt>
- <userinput>cd /home/opensrf/Evergreen-ILS-1.6.1.2</userinput>
- <userinput>make STAFF_CLIENT_BUILD_ID=1_6_1_2 install</userinput>
- </screen>
+<screen>
+ <prompt>
+ # as the root user:</prompt>
+ <userinput>
+ cd /home/opensrf/Evergreen-ILS-1.6.1.2
+ make STAFF_CLIENT_BUILD_ID=1_6_1_2 install
+ </userinput>
+</screen>
<para>You can also manually build the Staff Client in the Staff Client
source directory with a different <envar>BUILD_ID</envar>.</para>
<para>As the <systemitem class="username">opensrf</systemitem> user,
execute the following commands to build the Staff Client (remember to replace
<literal>NEW_VERSION</literal> with an appropriate value):</para>
- <screen>
- <prompt># as the opensrf user</prompt>
- <userinput>cd /home/opensrf/Evergreen-ILS-1.6.1.2/Open-ILS/xul/staff_client</userinput>
- <userinput>make STAFF_CLIENT_BUILD_ID=NEWVERSION build</userinput>
- </screen>
+<screen>
+ <prompt>
+ # as the opensrf user:</prompt>
+ <userinput>
+ cd /home/opensrf/Evergreen-ILS-1.6.1.2/Open-ILS/xul/staff_client
+ make STAFF_CLIENT_BUILD_ID=NEWVERSION build
+ </userinput>
+</screen>
</simplesect>
<simplesect>
- <title><envar>STAFF_CLIENT_VERSION</envar></title>
+ <title>
+ <envar>STAFF_CLIENT_VERSION</envar>
+ </title>
<para>During the normal <emphasis>make install</emphasis> Evergreen server-side
software build process, the variable is pulled automatically from a README file
in the Evergreen source root. The variable defaults to
automatically generated. You can override the value of <envar>VERSION</envar>
similarly to the <envar>BUILD_ID</envar>.</para>
<para>You could use the following commands during the normal install process:</para>
- <screen>
- <prompt># as the root user</prompt>
- <userinput>cd /home/opensrf/Evergreen-ILS-1.6.1.2</userinput>
- <userinput>make STAFF_CLIENT_VERSION=0mytest.200 install</userinput>
- </screen>
+<screen>
+ <prompt>
+ # as the root user:</prompt>
+ <userinput>
+ cd /home/opensrf/Evergreen-ILS-1.6.1.2
+ make STAFF_CLIENT_VERSION=0mytest.200 install
+ </userinput>
+</screen>
<para>You can also manually build the Staff Client in the Staff Client
source directory with a different <envar>VERSION</envar>.</para>
<para>If you plan to make extensions update automatically, the
versions.</para>
<para>As the <systemitem class="username">opensrf</systemitem> user,
execute the following commands to build the Staff Client:</para>
- <screen>
- <prompt># as the opensrf user</prompt>
- <userinput>cd /home/opensrf/Evergreen-ILS-1.6.1.2/Open-ILS/xul/staff_client</userinput>
- <userinput>make STAFF_CLIENT_VERSION=0mytest.200 build</userinput>
- </screen>
+<screen>
+ <prompt>
+ # as the opensrf user:</prompt>
+ <userinput>
+ cd /home/opensrf/Evergreen-ILS-1.6.1.2/Open-ILS/xul/staff_client
+ make STAFF_CLIENT_VERSION=0mytest.200 build
+ </userinput>
+</screen>
</simplesect>
<simplesect>
- <title><envar>STAFF_CLIENT_STAMP_ID</envar></title>
+ <title>
+ <envar>STAFF_CLIENT_STAMP_ID</envar>
+ </title>
<para>During the normal <emphasis>make install</emphasis> Evergreen
server-side software build process, the variable is generated from
<envar>STAFF_CLIENT_VERSION</envar>. You may want to have multiple versions
client-side customizations. You can override the value of
<envar>STAMP_ID</envar> similarly to the <envar>BUILD_ID</envar>.</para>
<para>You could use the following commands during the normal install process:</para>
- <screen>
- <prompt># as the root user</prompt>
- <userinput>cd /home/opensrf/Evergreen-ILS-1.6.1.2</userinput>
- <userinput>make STAFF_CLIENT_STAMP_ID=my_test_stamp install</userinput>
- </screen>
+<screen>
+ <prompt>
+ # as the root user:</prompt>
+ <userinput>
+ cd /home/opensrf/Evergreen-ILS-1.6.1.2
+ make STAFF_CLIENT_STAMP_ID=my_test_stamp install
+ </userinput>
+</screen>
<para>You can also manually build the Staff Client in the Staff Client
source directory with a different <envar>STAMP_ID</envar>.</para>
<para>As the <systemitem class="username">opensrf</systemitem> user,
execute the following commands to build the Staff Client:</para>
- <screen>
- <prompt># as the opensrf user</prompt>
- <userinput>cd /home/opensrf/Evergreen-ILS-1.6.1.2/Open-ILS/xul/staff_client</userinput>
- <userinput>make STAFF_CLIENT_STAMP_ID=my_test_stamp build</userinput>
- </screen>
+<screen>
+ <prompt>
+ # as the opensrf user:</prompt>
+ <userinput>
+ cd /home/opensrf/Evergreen-ILS-1.6.1.2/Open-ILS/xul/staff_client
+ make STAFF_CLIENT_STAMP_ID=my_test_stamp build
+ </userinput>
+</screen>
</simplesect>
</section>
<section>
possible <command>make</command> target keywords:</para>
<table>
<title>Keywords Targets for "make" Command</title>
+ <?dbfo keep-together="always" ?>
<tgroup align="left" cols="2" colsep="1" rowsep="1">
- <colspec colnum="1" colwidth="1.0*"/>
- <colspec colnum="2" colwidth="3.0*"/>
+ <colspec colnum="1" colname="keyword" colwidth="1.0*"/>
+ <colspec colnum="2" colname="description" colwidth="3.0*"/>
<thead>
<row>
<entry>Keyword</entry>
extra configuration file that enables some developer options.</para>
<para>As the <systemitem class="username">opensrf</systemitem> user, run
the following commands from the Staff Client source directory:</para>
- <screen>
- <prompt># as the opensrf user</prompt>
- <userinput>cd /home/opensrf/Evergreen-ILS-1.6.1.2/Open-ILS/xul/staff_client</userinput>
- <userinput>make devbuild</userinput>
- </screen>
+<screen>
+ <prompt>
+ # as the opensrf user:</prompt>
+ <userinput>
+ cd /home/opensrf/Evergreen-ILS-1.6.1.2/Open-ILS/xul/staff_client
+ make devbuild
+ </userinput>
+</screen>
</simplesect>
<simplesect>
<title>Compressed Javascript</title>
http://code.google.com/closure/compiler</ulink>.</para>
<para>As the <systemitem class="username">opensrf</systemitem> user, run
the following commands from the Staff Client source directory:</para>
- <screen>
- <prompt># as the opensrf user</prompt>
- <userinput>cd /home/opensrf/Evergreen-ILS-1.6.1.2/Open-ILS/xul/staff_client</userinput>
- <userinput>make compress-javascript</userinput>
- </screen>
+<screen>
+ <prompt>
+ # as the opensrf user:</prompt>
+ <userinput>
+ cd /home/opensrf/Evergreen-ILS-1.6.1.2/Open-ILS/xul/staff_client
+ make compress-javascript
+ </userinput>
+</screen>
<para>You can also combine Javascript review and compression, and also perform a
<emphasis>developer build</emphasis>.</para>
<para>As the <systemitem class="username">opensrf</systemitem> user, run the
following commands from the Staff Client source directory:</para>
<note>In the following <command>make</command> below, the order of options is
important.</note>
- <screen>
- <prompt># as the opensrf user</prompt>
- <userinput>cd /home/opensrf/Evergreen-ILS-1.6.1.2/Open-ILS/xul/staff_client</userinput>
- <userinput>make devbuild compress-javascript</userinput>
- </screen>
+<screen>
+ <prompt>
+ # as the opensrf user:</prompt>
+ <userinput>
+ cd /home/opensrf/Evergreen-ILS-1.6.1.2/Open-ILS/xul/staff_client
+ make devbuild compress-javascript
+ </userinput>
+</screen>
</simplesect>
<simplesect xml:id="staffclientinstallation-autoupdatehost">
<title>Automatic Update Host</title>
<para>You can override the host used to check for automatic Staff Client updates
by specifying the <option>AUTOUPDATE_HOST</option> option.</para>
<para>You could use the following commands during the normal install process:</para>
- <screen>
- <prompt># as the root user</prompt>
- <userinput>cd /home/opensrf/Evergreen-ILS-1.6.1.2</userinput>
- <userinput>make AUTOUPDATE_HOST=localhost install</userinput>
- </screen>
+<screen>
+ <prompt>
+ # as the root user:</prompt>
+ <userinput>
+ cd /home/opensrf/Evergreen-ILS-1.6.1.2
+ make AUTOUPDATE_HOST=localhost install
+ </userinput>
+</screen>
<para>You can manually build the Staff Client in the Staff Client
source directory and set <option>AUTOUPDATE_HOST</option> to enable automatic
update checking.</para>
<para>As the <systemitem class="username">opensrf</systemitem> user,
execute the following commands to build the Staff Client:</para>
- <screen>
- <prompt># as the opensrf user</prompt>
- <userinput>cd /home/opensrf/Evergreen-ILS-1.6.1.2/Open-ILS/xul/staff_client</userinput>
- <userinput>make AUTOUPDATE_HOST=localhost build</userinput>
- </screen>
+<screen>
+ <prompt>
+ # as the opensrf user:</prompt>
+ <userinput>
+ cd /home/opensrf/Evergreen-ILS-1.6.1.2/Open-ILS/xul/staff_client
+ make AUTOUPDATE_HOST=localhost build
+ </userinput>
+</screen>
<para>For more information on Automatic Updates, see
<xref linkend="staffclientinstallation-autoupdate"/>.</para>
</simplesect>
in the directory <filename class="directory">/openils/var/web/xul</filename>, as the
<systemitem class="username">opensrf</systemitem> user execute the following
commands:</para>
- <screen>
- <prompt># as the opensrf user</prompt>
- <userinput>cd /home/opensrf/Evergreen-ILS-1.6.1.2/Open-ILS/xul/staff_client</userinput>
- <userinput>mkdir -p "/openils/var/web/xul/$(cat build/BUILD_ID)"</userinput>
- <userinput>cp -R build/server "/openils/var/web/xul/$(cat build/BUILD_ID)"</userinput>
- </screen>
+<screen>
+ <prompt>
+ # as the opensrf user:</prompt>
+ <userinput>
+ cd /home/opensrf/Evergreen-ILS-1.6.1.2/Open-ILS/xul/staff_client
+ mkdir -p "/openils/var/web/xul/$(cat build/BUILD_ID)"
+ cp -R build/server "/openils/var/web/xul/$(cat build/BUILD_ID)"
+ </userinput>
+</screen>
</section>
<section>
<title>Packaging the Staff Client</title>
installed on your system.</para>
<para>As the <systemitem class="username">opensrf</systemitem> user, execute
the following commands:</para>
- <screen>
- <prompt># as the opensrf user</prompt>
- <userinput>cd /home/opensrf/Evergreen-ILS-1.6.1.2/Open-ILS/xul/staff_client</userinput>
- <userinput>make generic-client</userinput>
- </screen>
+<screen>
+ <prompt>
+ # as the opensrf user:</prompt>
+ <userinput>
+ cd /home/opensrf/Evergreen-ILS-1.6.1.2/Open-ILS/xul/staff_client
+ make generic-client
+ </userinput>
+</screen>
<para>The output file <filename>evergreen_staff_client.xpi</filename> will be created.</para>
-
</simplesect>
<simplesect>
<title>Packaging a <systemitem class="osname">Windows</systemitem> Client</title>
<systemitem class="osname">Windows</systemitem> executables.
Some useful icon ID strings include the following:</para>
<table>
+ <?dbfo keep-together="always" ?>
<title>Useful icon ID strings</title>
<tgroup align="left" cols="2" colsep="1" rowsep="1">
- <colspec colnum="1" colwidth="1.0*"/>
- <colspec colnum="2" colwidth="1.0*"/>
+ <colspec colnum="1" colname="keyword" colwidth="1.0*"/>
+ <colspec colnum="2" colname="icon" colwidth="1.0*"/>
<tbody>
<row>
<entry>IDI_APPICON</entry>
</table>
<para>As the <systemitem class="username">opensrf</systemitem> user
execute the following commands:</para>
- <screen>
- <prompt># as the opensrf user</prompt>
- <userinput>cd /home/opensrf/Evergreen-ILS-1.6.1.2/Open-ILS/xul/staff_client</userinput>
- <userinput>make win-client</userinput>
- </screen>
+<screen>
+ <prompt>
+ # as the opensrf user:</prompt>
+ <userinput>
+ cd /home/opensrf/Evergreen-ILS-1.6.1.2/Open-ILS/xul/staff_client
+ make win-client
+ </userinput>
+</screen>
<para>The output file <filename>evergreen_staff_client_setup.exe</filename> will be created.</para>
</simplesect>
<simplesect>
<application>bzip2</application> utility installed on your system.</para>
<para>As the <systemitem class="username">opensrf</systemitem> user,
execute the following commands:</para>
- <screen>
- <prompt># as the opensrf user</prompt>
- <userinput>cd /home/opensrf/Evergreen-ILS-1.6.1.2/Open-ILS/xul/staff_client</userinput>
- <userinput>make linux-client</userinput>
- </screen>
+<screen>
+ <prompt>
+ # as the opensrf user:</prompt>
+ <userinput>
+ cd /home/opensrf/Evergreen-ILS-1.6.1.2/Open-ILS/xul/staff_client
+ make linux-client
+ </userinput>
+</screen>
<para>The output file <filename>evergreen_staff_client.tar.bz2</filename> will be created.</para>
</simplesect>
<simplesect>
utility installed on your system.</para>
<para>As the <systemitem class="username">opensrf</systemitem> user,
execute the following commands:</para>
- <screen>
- <prompt># as the opensrf user</prompt>
- <userinput>cd /home/opensrf/Evergreen-ILS-1.6.1.2/Open-ILS/xul/staff_client</userinput>
- <userinput>make extension</userinput>
- </screen>
+<screen>
+ <prompt>
+ # as the opensrf user:</prompt>
+ <userinput>
+ cd /home/opensrf/Evergreen-ILS-1.6.1.2/Open-ILS/xul/staff_client
+ make extension
+ </userinput>
+</screen>
<para>The output file <filename>evergreen.xpi</filename> will be created.</para>
</simplesect>
</section>
software (see <xref linkend="serversideinstallation-configure"/>).
As the <systemitem class="username">opensrf</systemitem> user, execute
the following commands:</para>
- <screen>
- <prompt># as the opensrf user</prompt>
- <userinput>cd /home/opensrf/Evergreen-ILS-1.6.1.2</userinput>
- <userinput>./configure --prefix=/openils --sysconfdir=/openils/conf --with-updateshost=hostname</userinput>
- <userinput>make</userinput>
- </screen>
+<screen>
+ <prompt>
+ # as the opensrf user:</prompt>
+ <userinput>
+ cd /home/opensrf/Evergreen-ILS-1.6.1.2
+ ./configure --prefix=/openils --sysconfdir=/openils/conf --with-updateshost=hostname
+ make
+ </userinput>
+</screen>
</listitem>
<listitem>
<para>During a manual Staff Client build process.</para>
execute the following commands to build the Staff Client (remember to
replace <literal>SOME_URL</literal> with an appropriate value)
:</para>
- <screen>
- <prompt># as the opensrf user</prompt>
- <userinput>cd /home/opensrf/Evergreen-ILS-1.6.1.2/Open-ILS/xul/staff_client</userinput>
- <userinput>make AUTOUPDATE_HOST=http://SOME_URL build</userinput>
- </screen>
+<screen>
+ <prompt>
+ # as the opensrf user:</prompt>
+ <userinput>
+ cd /home/opensrf/Evergreen-ILS-1.6.1.2/Open-ILS/xul/staff_client
+ make AUTOUPDATE_HOST=http://SOME_URL build
+ </userinput>
+</screen>
</listitem>
</itemizedlist>
</simplesect>
<para>As the <systemitem class="username">opensrf</systemitem> user, change
directory to the Staff Client source directory, then execute the following
commands:</para>
- <screen>
- <prompt># as the opensrf user</prompt>
- <userinput>cd /home/opensrf/Evergreen-ILS-1.6.1.2/Open-ILS/xul/staff_client</userinput>
- </screen>
+<screen>
+ <prompt>
+ # as the opensrf user:</prompt>
+ <userinput>
+ cd /home/opensrf/Evergreen-ILS-1.6.1.2/Open-ILS/xul/staff_client
+ </userinput>
+</screen>
<para>Command to build all updates at once:</para>
- <screen>
- <prompt># as the opensrf user</prompt>
- <userinput>make updates</userinput>
- </screen>
+<screen>
+ <prompt>
+ # as the opensrf user:</prompt>
+ <userinput>
+ make updates
+ </userinput>
+</screen>
<para>commands to build updates individually:</para>
- <screen>
- <prompt># as the opensrf user</prompt>
- <userinput>make generic-updates</userinput>
- <userinput>make win-updates</userinput>
- <userinput>make linux-updates</userinput>
- <userinput>make extension-updates</userinput>
- </screen>
+<screen>
+ <prompt>
+ # as the opensrf user:</prompt>
+ <userinput>
+ make generic-updates
+ make win-updates
+ make linux-updates
+ make extension-updates
+ </userinput>
+</screen>
</simplesect>
<simplesect>
<title>Building updates with clients</title>
<para>As the <systemitem class="username">opensrf</systemitem> user, execute
one of the following commands:</para>
<para>To build all updates at once:</para>
- <screen>
- <prompt># as the opensrf user</prompt>
- <userinput>cd /home/opensrf/Evergreen-ILS-1.6.1.2/Open-ILS/xul/staff_client</userinput>
- <userinput>make updates-client</userinput>
- </screen>
+<screen>
+ <prompt>
+ # as the opensrf user:</prompt>
+ <userinput>
+ cd /home/opensrf/Evergreen-ILS-1.6.1.2/Open-ILS/xul/staff_client
+ make updates-client
+ </userinput>
+</screen>
<para>To build updates individually:</para>
- <screen>
- <prompt># as the opensrf user</prompt>
- <userinput>cd /home/opensrf/Evergreen-ILS-1.6.1.2/Open-ILS/xul/staff_client</userinput>
- <userinput>make generic-updates-client</userinput>
- <userinput>make win-updates-client</userinput>
- <userinput>make linux-updates-client</userinput>
- </screen>
+<screen>
+ <prompt>
+ # as the opensrf user:</prompt>
+ <userinput>
+ cd /home/opensrf/Evergreen-ILS-1.6.1.2/Open-ILS/xul/staff_client
+ make generic-updates-client
+ make win-updates-client
+ make linux-updates-client
+ </userinput>
+</screen>
</simplesect>
<simplesect>
<title>Activating the Update Server</title>
<filename>manualupdate.html</filename>, and
<filename>update.rdf</filename>, as the root user execute the following
commands:</para>
- <screen>
- <prompt># as the root user</prompt>
- <userinput>cd /openils/var/updates/pub</userinput>
- <userinput>chmod +x check download manualupdate.html update.rdf</userinput>
- </screen>
+<screen>
+ <prompt>
+ # as the root user:</prompt>
+ <userinput>
+ cd /openils/var/updates/pub
+ chmod +x check download manualupdate.html update.rdf
+ </userinput>
+</screen>
</simplesect>
</section>
<section>
start menu.</para>
<para>As the <systemitem class="username">opensrf</systemitem> user,
execute the following commands:</para>
- <screen>
- <prompt># as the opensrf user</prompt>
- <userinput>cd /home/opensrf/Evergreen-ILS-1.6.1.2/Open-ILS/xul/staff_client</userinput>
- <userinput>make NSIS_EXTRAOPTS=-DPROFILES win-client</userinput>
- </screen>
+<screen>
+ <prompt>
+ # as the opensrf user:</prompt>
+ <userinput>
+ cd /home/opensrf/Evergreen-ILS-1.6.1.2/Open-ILS/xul/staff_client
+ make NSIS_EXTRAOPTS=-DPROFILES win-client
+ </userinput>
+</screen>
</simplesect>
<simplesect>
<title> Multiple Staff Clients</title>
<para>For example, if the source files for the Evergreen installation are in the directory
<filename class="directory">/home/opensrf/Evergreen-ILS-1.6.1.2/</filename> you can start the
Staff Client as shown in the following example:</para>
- <screen>
- <prompt># as the opensrf user</prompt>
- <userinput>cd /home/opensrf/Evergreen-ILS-1.6.1.2/Open-ILS/xul/staff_client/build</userinput>
- <userinput>xulrunner application.ini</userinput>
- </screen>
+<screen>
+ <prompt>
+ # as the opensrf user:</prompt>
+ <userinput>
+ cd /home/opensrf/Evergreen-ILS-1.6.1.2/Open-ILS/xul/staff_client/build
+ xulrunner application.ini
+ </userinput>
+</screen>
<section xml:id="staffclientinstallation-workstationnames">
<title>Assigning Workstation Names</title>
<indexterm>
tunnel in <application>PuTTY</application></phrase>
</alt>
<imageobject>
- <imagedata fileref="../media/staffclientinstallation-proxy-putty.png" format="PNG" scalefit="1" width="60%"/>
+ <imagedata fileref="../media/staffclientinstallation-proxy-putty-1.png" format="PNG" scalefit="1" width="60%"/>
</imageobject>
</mediaobject>
<procedure>
<step>
- <para>Using the menu on the left, find the section
- <menuchoice>
- <guimenu>Connection</guimenu>
- <guimenuitem>SSH</guimenuitem>
- <guimenuitem>Tunnels</guimenuitem>
- </menuchoice>
+ <para>Using the menu on the left, find the section:</para>
+ <para>
+ <menuchoice>
+ <guimenu>Connection</guimenu>
+ <guimenuitem>SSH</guimenuitem>
+ <guimenuitem>Tunnels</guimenuitem>
+ </menuchoice>
</para>
</step>
<step>
<keycap>Ctrl</keycap>
<keycap>T</keycap>
</keycombo>
- on the keyboard or selecting
+ on the keyboard or selecting:
<menuchoice>
<guimenu>File</guimenu>
<guimenuitem>New Tab</guimenuitem>
<keycombo>
<keycap>Ctrl</keycap>
<keycap>Tab</keycap>
- </keycombo> on the keyboard or selecting the tab in the tab bar.</listitem>
+ </keycombo>
+ on the keyboard or selecting the tab in the tab bar.</listitem>
</itemizedlist>
</section>
</section>