Installing an Evergreen cluster on Redhat
Obviously this document is a little dated now anyway, and the reader should know that as of May 2012 RHEL and CentOS targets in the prerequisites installer "Makefile.install" have been removed. It's not that we think it's impossible to get Evergreen working on these systems (we know it isn't, at least in the former case), but that we haven't had anyone share with the community up-to-date working Redhat configs or volunteer to test them. Start here if you want to resurrect what we had from our version control system to try to get it working again: http://git.evergreen-ils.org/?p=working/Evergreen.git;a=shortlog;h=refs/heads/user/dbs/update_makefile_prereqs
On a typical cluster install you will have an apache server, multiple drones, a database server, and a utility server. You will need to refer to this document for the next few steps: Installation instructions for OpenSRF trunk on redhat
On every server except the database server follow all the steps stopping after the "make install" step.
On the apache server follow the rest of the instructions.
If you want to put the memcached server somewhere other than the apache server then run the memcached chkconfig command there. We typically use the util server for memcached but you can put it anywhere that makes sense.
On the database server you can stop after the "make -f src/extras/Makefile.install rhel" step.
Now you will need to use various parts of this document on the various servers: Installation instructions for Evergreen trunk on redhat
Database server configuration:
Follow the instructions down to the "make -f Open-ILS/src/extras/Makefile.install rhel" step
Drone&Util server configuration:
Follow the entire length of the instructions stopping after the "make STAFF_CLIENT_BUILD_ID=current install" step
Be sure and skip the postgresql configuration steps.
Apache server configuration:
On the apache server follow all of the instructions.
For the postgresql steps remember to perform these steps on the database server, not the apache server.
When you get to the pg_hba.conf section edit it with the following lines replacing the marked sections with your network info:
local all all trust
host all all 127.0.0.1 255.255.255.255 md5
host all all <local.network.address> <local.subnet> md5
Now edit /var/lib/pgsql/data/postgresql.conf and edit the line:
“listen_addresses = 'localhost'”
to look like
“listen_addresses = 'localhost,192.168.71.242'”
Obviously replace my ip address with yours.
Run the perl Open-ILS/src/support-scripts/eg_db_config.pl command from the apache server
Now edit opensrf.xml, fill in the db information in every place that asks for it. At the bottom, you want to make a section for your apache machine, each drone machine, and the util machine. The apache config should only contain the settings module. The drones config should contain every module but settings. The util config should run every module. Delete the localhost config.
Export /openils and /usr/lib/perl5/site_perl/5.8.8 via NFS and mount those directories on your drone&util servers.
Install ssh keys from the opensrf user on apache to the opensrf user on the drones and util server. As the opensrf
scp ~/.ssh/id_rsa.pub email@example.com:.ssh/authorized_keys2
As the opensrf
user, download the brick_ctl.sh script and it's corresponding config file. Edit it the config file to contain your settings:
chmod +x brick_ctl.sh
mv oils_brick.cfg.example .oils_brick.cfg
Start up your cluster as the opensrf
brick_ctl.sh -a start_all