[Opensrf-commits] r2205 - tags/rel_2_0_0_rc2 (dbs)
svn at svn.open-ils.org
svn at svn.open-ils.org
Thu Mar 10 23:19:04 EST 2011
Author: dbs
Date: 2011-03-10 23:19:01 -0500 (Thu, 10 Mar 2011)
New Revision: 2205
Modified:
tags/rel_2_0_0_rc2/README
Log:
Cut over to AsciiDoc for the README format. Mmmm.
Modified: tags/rel_2_0_0_rc2/README
===================================================================
--- tags/rel_2_0_0_rc2/README 2011-03-11 03:55:03 UTC (rev 2204)
+++ tags/rel_2_0_0_rc2/README 2011-03-11 04:19:01 UTC (rev 2205)
@@ -1,7 +1,8 @@
README for OpenSRF 2.0.0 RC2
+============================
Installing prerequisites:
-========================
+-------------------------
OpenSRF has a number of prerequisite packages that must be installed
before you can successfully configure, compile, and install OpenSRF.
@@ -12,10 +13,13 @@
using the Makefile.install prerequisite installer, substituting your
operating system identifier for <osname> below:
+---------------------------------------------------------------------------
aptitude install make
make -f src/extras/Makefile.install <osname>
+---------------------------------------------------------------------------
Well-tested values for <osname> include:
+
* "debian-lenny" for Debian 5.0
* "debian-squeeze" for Debian 6.0.0
* "ubuntu-hardy" for Ubuntu 8.04
@@ -23,6 +27,7 @@
* "fedora14" for Fedora 14
Less-tested values for <osname> include:
+
* "centos" for CentOS 5
* "rhel" for Red Hat Enterprise Linux 5
@@ -34,14 +39,15 @@
on your server. You can generally accept the defaults by pressing <return>
for all of the prompts, except for the country configuration.
-Note: If you are installing this using a copy of the source code that was
+[NOTE]
+If you are installing this using a copy of the source code that was
checked out directly from the OpenSRF Subversion repository rather
than from a downloaded release of the source code, there are a few
additional prerequisite tools and steps that you will need to follow.
See "Developer instructions" at the bottom of the file.
Configuration and compilation instructions:
-==========================================
+-------------------------------------------
Use the "configure" command to configure OpenSRF, and the "make" command to
build OpenSRF. The default installation prefix (PREFIX) for OpenSRF is
@@ -50,27 +56,31 @@
If you are building OpenSRF for Evergreen, pass the --prefix and --sysconfdir
options as follows:
+---------------------------------------------------------------------------
./configure --prefix=/openils --sysconfdir=/openils/conf
make
+---------------------------------------------------------------------------
By default, OpenSRF includes C, Perl, and JavaScript support.
You can add the "--enable-python" option to the configure command
to build Python support, and "--enable-java" for Java support.
Installation instructions:
-=========================
+--------------------------
Once you have configured and compiled OpenSRF, issue the following
command as the root user to install OpenSRF:
+---------------------------------------------------------------------------
make install
+---------------------------------------------------------------------------
This will install OpenSRF in the prefix directory that you specified in the
configuration step. This will also install example configuration files that
you can use as templates for your own configuration files.
Create and set up the opensrf Unix user environment:
-===================================================
+----------------------------------------------------
This user is used to start and stop all OpenSRF processes, and must own all
files contained in the PREFIX directory hierarchy. Issue the following
@@ -78,12 +88,14 @@
substituting <PREFIX> with the value you passed to --prefix in your
configure command:
+---------------------------------------------------------------------------
# useradd -m -s /bin/bash opensrf
# echo "export PATH=\$PATH:/<PREFIX>/bin" >> /home/opensrf/.bashrc
# passwd opensrf
+---------------------------------------------------------------------------
Define your public and private OpenSRF domains:
-==============================================
+-----------------------------------------------
For security purposes, OpenSRF uses Jabber domains to separate services
into public and private realms. Throughout these instructions, we will use
@@ -94,25 +106,29 @@
/etc/hosts file. Here are entries that you could make to a stock /etc/hosts
file for our example domains:
+---------------------------------------------------------------------------
127.0.1.2 public.localhost public
127.0.1.3 private.localhost private
+---------------------------------------------------------------------------
Adjust the system dynamic library path:
-======================================
+---------------------------------------
Add <PREFIX>/lib/ to the system's dynamic library path, and then run "ldconfig"
as root.
On Debian and Ubuntu systems, run the following commands as root:
+---------------------------------------------------------------------------
# echo <PREFIX>/lib > /etc/ld.so.conf.d/opensrf.conf
# ldconfig
+---------------------------------------------------------------------------
On most other systems, you can add these entries to a /etc/ld.so.conf, or create
a file within the /etc/ld.so.conf.d/ directory, and then run "ldconfig" as root.
Configure the ejabberd server:
-=============================
+------------------------------
OpenSRF requires an XMPP (Jabber) server. For performance reasons, ejabberd is
the Jabber server of choice for the OpenSRF project. In most cases, you only
@@ -121,28 +137,32 @@
1. Stop ejabberd before making any changes to its configuration by issuing the
following command as root:
-
++
+---------------------------------------------------------------------------
# /etc/init.d/ejabberd stop
-
+---------------------------------------------------------------------------
++
2. Open /etc/ejabberd/ejabberd.cfg and make the following
changes:
-
-a. Define your public and private domains in the "hosts" directive. For
+ a. Define your public and private domains in the "hosts" directive. For
example:
-
++
+---------------------------------------------------------------------------
{hosts, ["private.localhost", "public.localhost"]}
-
-b. Comment out the "mod_offline" directive
-c. Increase the "max_user_sessions" value to 1000
-d. Change all "max_stanza_size" values to 200000
-e. Change all "maxrate" values to 500000
-
+---------------------------------------------------------------------------
++
+ b. Comment out the "mod_offline" directive
+ c. Increase the "max_user_sessions" value to 1000
+ d. Change all "max_stanza_size" values to 200000
+ e. Change all "maxrate" values to 500000
++
3. Restart the ejabberd server to make the changes take effect:
-
+---------------------------------------------------------------------------
# /etc/init.d/ejabberd start
+---------------------------------------------------------------------------
Create the OpenSRF Jabber users:
-===============================
+--------------------------------
On each domain, you need two Jabber users to manage the OpenSRF communications:
@@ -154,13 +174,15 @@
Create the Jabber users by issuing the following commands as root. Substitute
<password> for your chosen passwords for each user respectively:
+---------------------------------------------------------------------------
# ejabberdctl register router private.localhost <password>
# ejabberdctl register opensrf private.localhost <password>
# ejabberdctl register router public.localhost <password>
# ejabberdctl register opensrf public.localhost <password>
+---------------------------------------------------------------------------
Update the OpenSRF configuration files:
-======================================
+---------------------------------------
There are two critical files that you must update to make OpenSRF work.
"SYSCONFDIR" is "/opensrf/etc" by default, or the value that you passed to
@@ -196,31 +218,38 @@
domain.
Starting and stopping OpenSRF services:
-======================================
+---------------------------------------
To start all OpenSRF services with a hostname of "localhost", issue the
following command as the opensrf user:
+---------------------------------------------------------------------------
$ osrf_ctl.sh -l -a start_all
+---------------------------------------------------------------------------
To stop all OpenSRF services with a hostname of "localhost", issue the
following command as the opensrf user:
+[source,bash]
+---------------------------------------------------------------------------
$ osrf_ctl.sh -l -a stop_all
+---------------------------------------------------------------------------
Testing the default OpenSRF services:
-====================================
+-------------------------------------
By default, OpenSRF ships with an opensrf.math service that performs basic
calculations involving two integers. Once you have started the OpenSRF
services, start srfsh and issue the following request:
+---------------------------------------------------------------------------
srfsh# request opensrf.math add 2,2
+---------------------------------------------------------------------------
You should receive the value "4".
Troubleshooting note for Python users:
-=====================================
+--------------------------------------
If you are running a Python client and trying to connect to OpenSRF running on
localhost rather than a hostname that can be resolved via DNS, you will
@@ -229,14 +258,16 @@
entry for localhost, and point your local DNS resolver to dnsmasq. For example,
on Ubuntu you can issue the following commands as root:
+---------------------------------------------------------------------------
# aptitude install dnsmasq
# /etc/init.d/dnsmasq restart
+---------------------------------------------------------------------------
Then edit /etc/resolv.conf and ensure that "nameserver 127.0.0.1" is the first
entry in the file.
Developer instructions:
-======================
+-----------------------
Developers working directly with the source code from the Subversion
repository will also need to install some extra packages and perform
@@ -250,10 +281,12 @@
Run the following command in the source directory to generate the configure
script and Makefiles:
+---------------------------------------------------------------------------
$ ./autogen.sh
+---------------------------------------------------------------------------
Getting help:
-============
+-------------
Need help installing or using OpenSRF? Join the mailing lists at
http://evergreen-ils.org/listserv.php or contact us on the Freenode
More information about the opensrf-commits
mailing list