======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: [[redhat_opensrf_trunk|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: [[redhat_evergreen_trunk|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 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** user: ssh-keygen scp ~/.ssh/id_rsa.pub opensrf@target.machine:.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: cd /openils/bin wget http://svn.open-ils.org/trac/ILS/export/16289/trunk/Open-ILS/src/support-scripts/brick_ctl.sh chmod +x brick_ctl.sh cd ~ wget http://svn.open-ils.org/trac/ILS/export/16289/trunk/Open-ILS/src/support-scripts/oils_brick.cfg.example mv oils_brick.cfg.example .oils_brick.cfg vi .oils_brick.cfg - Start up your cluster as the **opensrf** user! brick_ctl.sh -a start_all