From e3e1bf80e144c4b82a54b35de55bfb26fef756cb Mon Sep 17 00:00:00 2001 From: Robert Soulliere Date: Wed, 2 Jun 2010 09:59:06 -0400 Subject: [PATCH] add root.xml and admin directory --- 1.6/admin/AdminMisc.pdf | Bin 0 -> 19555 bytes 1.6/admin/AdminMisc.xml | 193 +++++ 1.6/admin/Upgrading-Evergreen_1.6.pdf | Bin 0 -> 15105 bytes 1.6/admin/Upgrading-Evergreen_1.6.xml | 289 +++++++ 1.6/admin/indexedfieldweighting.xml | 233 ++++++ 1.6/admin/migratingdata.xml | 12 + 1.6/admin/serveradministration.pdf | Bin 0 -> 101336 bytes 1.6/admin/serveradministration.xml | 1440 +++++++++++++++++++++++++++++++++ 1.6/admin/troubleshooting.pdf | Bin 0 -> 14044 bytes 1.6/admin/troubleshooting.xml | 199 +++++ 1.6/root.xml | 80 ++ 11 files changed, 2446 insertions(+) create mode 100644 1.6/admin/AdminMisc.pdf create mode 100644 1.6/admin/AdminMisc.xml create mode 100644 1.6/admin/Upgrading-Evergreen_1.6.pdf create mode 100644 1.6/admin/Upgrading-Evergreen_1.6.xml create mode 100644 1.6/admin/indexedfieldweighting.xml create mode 100644 1.6/admin/migratingdata.xml create mode 100644 1.6/admin/serveradministration.pdf create mode 100644 1.6/admin/serveradministration.xml create mode 100644 1.6/admin/troubleshooting.pdf create mode 100644 1.6/admin/troubleshooting.xml create mode 100755 1.6/root.xml diff --git a/1.6/admin/AdminMisc.pdf b/1.6/admin/AdminMisc.pdf new file mode 100644 index 0000000000000000000000000000000000000000..4b0bc90b11555f14c967ce5476de17a5ceeba4df GIT binary patch literal 19555 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 vf<+&(a*41Cf;rj19BdGNz<=N5W} + + + + Server Operations and Maintenance + + This chapter deals with basic server operations such as starting and stopping Evergreen as well wall security, backing up and troubleshooting Evergreen. + + +
+ Starting, Stopping and Restarting + Occasionally, you may need to restart Evergreen. It is imperative that you understand the basic + commands to stop and start the Evergreen server. You can start and stop Evergreen from the command line of + the server using the osrf_ctl.sh script located in the + openils/bin directory. + The osrf_ctl.sh script must be run as the opensrf user. + To view help on osrf_ctl.sh and get all of its options, + run: + osrf_ctl.sh -h + To start Evergreen, run: + osrf_ctl.sh -l -a start_all + The -l flag is used to indicate that Evergreen is configured to use localhost as + the host. If you have configured opensrf.xml to use your real hostname, do not use the -l flag. The -a + option is required and indicates the action of the command. In this case + start_all. + + + If you receive the error message bash: osrf_ctl.sh: + command not found, then your environment variable PATH does not include the + /openils/bin directory. + You can set it using the following command: + export PATH=$PATH:/openils/bin + If you receive the error message Can't locate OpenSRF/System.pm in @INC … BEGIN + failed–compilation aborted, then your environment variable PERL5LIB does not + include the /openils/lib/perl5 directory. You can set it + using the following command: + export PERL5LIB=$PERL5LIB:/openils/lib/perl5 + + It is also possible to start a specific service. For example: + osrf_ctl.sh -l -a start_router + will only start the router service. + + If you decide to start each service individually, you need to start them in a specific order + for Evergreen to start correctly. Run the commands in this exact order: + osrf_ctl.sh -l -a start_router + osrf_ctl.sh -l -a start_perl + osrf_ctl.sh -l -a start_c + + After starting or restarting Evergreen, it is also necessary to restart the Apache web server for the + OPAC to work correctly. + To stop Evergreen, run: + osrf_ctl.sh -l -a stop_all + As with starting, you can choose to stop one service + To restart Evergreen, run: + osrf_ctl.sh -l -a restart_all +
+
+ Backing Up + Backing up your system files and data is a critical task for server and database adminstrators. + Having a strategy for backing up and recovery could be the difference between a minor annoyance for users and + a a complete catastrophy. + + Backing up the Evergreen Database + Most of the critical data for an Evergreen system – patrons, bibliographic records, holdings, + transactions, bills – is stored in the PostgreSQL database. You can therefore use normal PostgreSQL + backup procedures to backup this data. For example, the simplest method of backing up the Evergreen + database is to use the pg_dump command to create a live backup of the database without having to + interrupt any Evergreen services as follows: + # pg_dump -U [username] -h [hostname] -f [output-file] [database-name] + pg_dump -U evergreen -h localhost -f evergreen_db.backup evergreen + To restore the backed up database into a new database, create a new database using the + template0 database template and the UTF8 encoding, and run the psql command, specifying the new + database as your target: + createdb -T template0 -E UTF8 -U evergreen -h localhost new_evergreen + psql -U evergreen -h localhost -f evergreen_db.backup new_evergreen + + This method of backup is only suitable for small Evergreen instances. Larger sites + should consider implementing continuous archiving (also known as “log shipping”) to provide + more granular backups with lower system overhead. More information on backing up PostgreSQL + databases can be found in the official PostgreSQL documentation. + + + + Backing up Evergreen Files + When you deploy Evergreen, you will probably customize many aspects of your system includung + the system configuration files, Apache configuration files, OPAC and Staff Client. In order to + protect your investment of time, you should carefully consider the best approach to backing up + files. + There are a number of ways of tackling this problem. You could create a script that regularly + creates a time-stamped tarball of all of these files and copies it to a remote server - but that + would build up over time to hundreds of files. You could use rsync to ensure that the files of + interest are regularly updated on a remote server - but then you would lose track of the changes to + the files, should you make a change that introduces a problem down the road. + Perhaps one of the best options is to use a version control system like Bazaar, git, + Subversion, or CVS to regularly push updates of the files you care about to a repository on a + remote server. This gives you the advantage of quickly being able to run through the history of the + changes you made, with a commenting system that reminds you why each change was made, combined with + remote storage of the pertinent files in case of disaster on site. In addition, your team can create + local copies of the repository and test their own changes in isolation from the production + system. Using a version control system also helps to recover system customizations after an + upgrade. + + + Full System Backup + A full system backup archives every file on the file system. Some basic methods require you + to shut down most system processes; other methods can use mirrored RAID setups or SAN storage to + take “snapshot” backups of your full system while the system continues to run. The subject of how + to implement full system backups is beyond the scope of this documentation. + +
+
+ Security + As with an ILS and resource accessible from the world wilde web careful consideration needs to be + given to the security of your Evergreen servers and database. While it is impossible to cover all aspects + of security, it is important to take several percautions when setting up production Evergreen site. + + + Change the Evergreen Admin password and keep it secure. The + default Admin password is known by anyone who has installed Evergreen. It is not a secret + and needs to be changed by the Administrator. It should also only be shared by those who + need the highest level access to Evergreen. + + + Create strong passwords using a combination of numerican and alphatbetical characters + for all of the Administrative passwords used by Evergreen including the Evergreen + postgresql user, opensrf linux account, and Admin evergreen users, and of course, any + superusers on your server. + + + Open ports in the firewall with Caution - It is necessary to open some ports to the + server such as port 80 for http and 443 for ssl, and it can be helpful to open ports for + remote access to the database or staff client. It is also critical for an administrator to + understand the concepts of network security and take precautions to not allow the server to + be vulnerable to the outside world. + + + + Use permissions and permission groups wisely - it is important to understand the + purpose of the permissions and to only give users the level of access that they require. + + + +
+
+ Managing Log Files + Evergreen comes with a sophisticated logging system, but it is important to manage the OpenSRF and Evergreen logs. This section will provide a couple of log management techniques + and tools. + + Using the Log Rotate Utility to Manage Log Size + Fortunately, this is not a new problem for Unix administrators, and there are a number of ways of keeping your logs under control. On Debian and Ubuntu, for example, + the logrotate utility controls when old log files are compressed and a new log file is started. logrotate runs once a day and checks all log files that it knows about to see if a + threshold of time or size has been reached and rotates the log files if a threshold condition has been met. + To teach logrotate to rotate Evergreen logs on a weekly basis, or if they are > 50MB in size, create a new file /etc/logrotate.d/evergreen with the + following contents: + compress + /openils/var/log/*.log { + # keep the last 4 archived log files along with the current log file + # log log.1.gz log.2.gz log.3.gz log.4.gz + # and delete the oldest log file (what would have been log.5.gz) + rotate 5 + # if the log file is > 50MB in size, rotate it immediately + size 50M + # for those logs that don't grow fast, rotate them weekly anyway + weekly + } + + + Chaning Logging Level for Evergreen + Change the Log Levels in your config files. Changing the level of logging will help + narrow down errors. + + A high logging level is not wise to do in a production environment since it + will produce vastly larger log files and thus reduce server performance. + + Change logging levels by editing the configuration file + /openils/conf/opensrf_core.xml + you will want to search for lines containing <loglevel>. + the default setting for loglevel is 3 which will log errors, + warnings and information. + The next level is 4 which is for debugging and provides additional information + helpful for the debugging process. + Thus, lines with: + <loglevel>3</loglevel> + Should be changed to: + <loglevel>4</loglevel> + to allow debugging level logging + Other logging levels inclide 0 for no logging, + 1 for logging errors and 2 for logging warnings + and errors. + +
+
diff --git a/1.6/admin/Upgrading-Evergreen_1.6.pdf b/1.6/admin/Upgrading-Evergreen_1.6.pdf new file mode 100644 index 0000000000000000000000000000000000000000..baf36ab9b0ab258fc824bb48fcbb7fa1d59efec7 GIT binary patch literal 15105 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 L3yah(X}tdf7JJBT literal 0 HcmV?d00001 diff --git a/1.6/admin/Upgrading-Evergreen_1.6.xml b/1.6/admin/Upgrading-Evergreen_1.6.xml new file mode 100644 index 0000000000..334889ead5 --- /dev/null +++ b/1.6/admin/Upgrading-Evergreen_1.6.xml @@ -0,0 +1,289 @@ + + + + Upgrading Evergreen from 1.4 to 1.6 + + This Chapter will explain the step-by-step process of upgrading Evergreen + from version 1.4 to 1.6, including steps to upgrade OpenSRF. Before + upgrading, it is important to carefully plan an upgrade strategy to minimise system downtime and + service interruptions. All of the steps in this chapter are to be completed from the command line. + + + + + Stop Evergreen and back up data. + + + As root, stop the Apache + web server. + + + As the opensrf user, stop all + Evergreen + and OpenSRF services: + osrf_ctl.sh -l -a stop_all + + + Back up of the /openils + directory. + + + Back up the evergreen + database. + + + + + Upgrade OpenSRF to 1.2 + + + As the opensrf user, download and extract the source files for OpenSRF + 1.2: + wget \ + http://open-ils.org/downloads/OpenSRF-1.2.2.tar.gz + tar xzf OpenSRF-1.2.2.tar.gz + A new directory OpenSRF-1.2.2 will be created + For the latest edition of OpenSRF, check the Evergreen download page at + . + + + + As the root user, install the software prerequisites using the automatic + prerequisite installer. + aptitude install make + cd /home/opensrf/OpenSRF-1.2.2 + Replace [distribution] below with the following value + for your distribution: + + + debian-etch for Debian Etch (4.0) + + + debian-lenny for Debian Lenny (5.0) + + + ubuntu-hardy for Ubuntu Hardy Heron (8.04) + + + ubuntu-intrepid for Ubuntu Intrepid Ibex + (8.10) + + + ubuntu-jaunty for Ubuntu Jaunty Jackalope + (9.04) + + + ubuntu-karmic for Ubuntu Karmic Koala + (9.10) + + + make -f src/extras/Makefile.install [distribution] + + This will install a number of packages required by OpenSRF on your system, + including some Perl modules from CPAN. You can say “no” to the initial CPAN + configuration prompt to allow it to automatically configure itself to download + and install Perl modules from CPAN. The CPAN installer will ask you a number of + times whether it should install prerequisite modules - say “yes”. + + + As the opensrf user, configure and compile OpenSRF: + You can include the –enable-python and –enable-java configure options if + you want to include support for Python and Java, respectively. + cd /home/opensrf/OpenSRF-1.2.2 + ./configure --prefix=/openils --sysconfdir=/openils/conf + make + + + As the root user, return to your OpenSRF build directory and install + OpenSRF: + cd /home/opensrf/OpenSRF-1.2.2 + make install + + + As the root user, change the ownership of the installed files to the opensrf + user: + chown -R opensrf:opensrf /openils + + + Restart and Test OpenSRF + osrf_ctl.sh -l -a start_all + /openils/bin/srfsh + srfsh# request opensrf.math add 2 2 + You should see output like: + Received Data: 4 + + ------------------------------------ + Request Completed Successfully + Request Time in seconds: 0.007519 + ------------------------------------ + + srfsh# + If test Completed Successfully move onto next section. + If not, refer to troubleshooting section + of this documentation. + + + + + Upgrade Evergreen to 1.6 + + + As the opensrf user, download and extract Evergreen 1.6 + + wget \ + http://evergreen-ils.org/downloads/Evergreen-ILS-1.6.0.3.tar.gz + tar xzf Evergreen-ILS-1.6.0.3.tar.gz + For the latest edition of Evergreen check the Evergreen download page at + + + + As the root user, install the prerequisites: + cd /home/opensrf/Evergreen-ILS-1.6.0.3 + On the next command, replace [distribution] with one of + these values for your distribution of Debian or Ubuntu: + + + debian-etch for Debian Etch (4.0) + + + debian-lenny for Debian Lenny (5.0) + + + ubuntu-hardy for Ubuntu Hardy Heron + (8.04) + + + ubuntu-intrepid for Ubuntu Intrepid Ibex + (8.10) + + + ubuntu-jaunty for Ubuntu Jaunty Jackalope + (9.04) + + + ubuntu-karmic for Ubuntu Karmic Koala + (9.10) + + + make -f Open-ILS/src/extras/Makefile.install [distribution] + + + As the opensrf user, configure and compile + Evergreen: + cd /home/opensrf/Evergreen-ILS-1.6.0.3 + ./configure --prefix=/openils --sysconfdir=/openils/conf + make + + + As the root user, install + Evergreen: + make STAFF_CLIENT_BUILD_ID=rel_1_6_0_3 install + + + Change to the Evergreen installation + directory: + cd /home/opensrf/Evergreen-ILS-1.6.0.3 + + + As the root user, build live-db-setup.pl for the cgi-bin + bootstrapping scripts and offline-config.pl for the offline staff client data + uploader: + perl Open-ILS/src/support-scripts/eg_db_config.pl \ + --create-bootstrap --create-offline --user evergreen \ + --password evergreen --hostname localhost --port 5432 \ + --database evergreen + + + As the root user, change all files to be owned by the + opensrf user and group: + chown -R opensrf:opensrf /openils + + + Update the Evergreen database + psql -U evergreen -h localhost \ + -f Open-ILS/src/sql/Pg/1.4.0.5-1.6.0.0-upgrade-db.sql evergreen + psql -U evergreen -h localhost \ + -f Open-ILS/src/sql/Pg/1.6.0.0-1.6.0.1-upgrade-db.sql evergreen + psql -U evergreen -h localhost \ + -f Open-ILS/src/sql/Pg/1.6.0.1-1.6.0.2-upgrade-db.sql evergreen + psql -U evergreen -h localhost \ + -f Open-ILS/src/sql/Pg/1.6.0.2-1.6.0.3-upgrade-db.sql evergreen + psql -U evergreen -h localhost \ + psql -U evergreen -h localhost -f 1.6.0-mmbxs-cleanup.sql \ + evergreen + + + As the opensrf user, + copy /openils/conf/oils_web.xml.example to /openils/conf/oils_web.xml + (needed for acquisitions templates). + cp /openils/conf/oils_web.xml.example \ + /openils/conf/oils_web.xml + + + Update opensrf_core.xml and opensrf.xml by copying the new example files (/ + openils/conf/opensrf_core.xml.example and /openils/conf/opensrf.xml). + cp /openils/conf/opensrf_core.xml.example \ + /openils/conf/opensrf_core.xml + cp /openils/conf/opensrf.xml.example /openils/conf/opensrf.xml + + + Update opensrf.xml with the database connection info: + perl Open-ILS/src/support-scripts/eg_db_config.pl \ + --update-config --service all --user evergreen \ + --password evergreen --hostname localhost --port 5432 \ + --database evergreen + + + Update /etc/apache2/startup.pl by copying the example from + Open-ILS/examples/apache/startup.pl. + + + Update /etc/apache2/eg_vhost.conf by copying the example from + Open-ILS/examples/apache/eg_vhost.conf. + + + Update /etc/apache2/sites-available/eg.conf by copying the example from Open-ILS/ + examples/apache/eg.conf. + + + Recover customizations you have made to the Apache + configuration files. For example, if you purchased an SSL certificate, you + will need to edit eg.conf to point to the appropriate SSL certificate files. + + + + + Restart Evergreen and Test + + + As the opensrf user, start all + Evergreen and OpenSRF + services: + osrf_ctl.sh -l -a start_all + + + As the opensrf user, run autogen to refresh the static + organizational data files: + cd /openils/bin + ./autogen.sh -c /openils/conf/opensrf_core.xml -u + + + Start srfsh and try logging in using your Evergreen + username and password: + /openils/bin/srfsh + srfsh% login username password + + + Start the Apache web server. + + + + + + Troubleshooting: + If you encounter errors, refer to the troubleshooting + section of this documentation for tips + on finding solutions and seeking further assistance from the Evergreen community. + + diff --git a/1.6/admin/indexedfieldweighting.xml b/1.6/admin/indexedfieldweighting.xml new file mode 100644 index 0000000000..565a5021c9 --- /dev/null +++ b/1.6/admin/indexedfieldweighting.xml @@ -0,0 +1,233 @@ + +
+ Indexed-Field and Matchpoint Weighting + + + This chapter describes indexed field weighting and matchpoint weighting, which + control relevance ranking in Evergreen catalog search results. + + + In tuning search relevance, it is good practice to make incremental + adjustments, capture search logs, and assess results before making further + adjustments. + + + + +
+ Indexed-field Weighting + Indexed-field weighting is configured in the Evergreen database in the weight column + of the config.metabib_field table, which follows the other four columns in this table: + field_class, name, xpath, and format. + The following is one representative line from the config.metabib_field table: + author | conference | + //mods32:mods/mods32:name[@type='conference']/mods32:namePart[../mods32:role/mods32:roleTerm[text()='creator']] + | mods32 | 1 ) + The default value for index-field weights in config.metabib_field is 1. Adjust the + weighting of indexed fields to boost or lower the relevance score for matches on that + indexed field. The weight value may be increased or decreased by whole integers. + For example, by increasing the weight of the title-proper field from 1 to 2, a search + for jaguar would double the relevance for the book + titled Aimee and Jaguar than for a record with the + term jaguar in another indexed field. +
+
+ Matchpoint Weighting + Matchpoint weighting provides another way to fine-tune Evergreen relevance ranking, + and is configured through floating-point multipliers in the multiplier column of the + search.relevance_adjustment table. + Weighting can be adjusted for one, more, or all multiplier fields in + search.relevance_adjustment. + You can adjust the following three matchpoints: + + + + first_word + boosts relevance if the query is one term long and matches the + first term in the indexed field (search for twain, get a bonus for twain, + mark but not mark twain) + + + + word_order + increases relevance for words matching the order of search terms, + so that the results for the search legend + suicide would match higher for the book Legend of a Suicide than for the book, Suicide Legend + + + + full_match + boosts relevance when the full query exactly matches the entire + indexed field (after space, case, and diacritics are normalized). So a title + search for The Future of Ice would get a + relevance boost above Ice Ages of the + Future. + + + Here are the default settings of the search.relevance_adjustment table: + + search.relevance_adjustment table + + + + field_class + name + bump_type + multiplier + + + + + author + conference + first_word + 1.5 + + + author + corporate + first_word + 1.5 + + + author + other + first_word + 1.5 + + + author + personal + first_word + 1.5 + + + keyword + keyword + word_order + 10 + + + series + seriestitle + first_word + 1.5 + + + series + seriestitle + full_match + 20 + + + title + abbreviated + first_word + 1.5 + + + title + abbreviated + full_match + 20 + + + title + abbreviated + word_order + 10 + + + title + alternative + first_word + 1.5 + + + title + alternative + full_match + 20 + + + title + alternative + word_order + 10 + + + title + proper + first_word + 1.5 + + + title + proper + full_match + 20 + + + title + proper + word_order + 10 + + + title + translated + first_word + 1.5 + + + title + translated + full_match + 20 + + + title + translated + word_order + 10 + + + title + uniform + first_word + 1.5 + + + title + uniform + full_match + 20 + + + title + uniform + word_order + 10 + + + +
+
+
+ Combining Index Weighting and Matchpoint Weighting + Index weighting and matchpoint weighting may be combined. The relevance boost of the + combined weighting is equal to the product of the two multiplied values. + If the relevance setting in the config.metabib_field were increased to 2, and the + multiplier set to 1.2 in the search.relevance_adjustment table, the resulting matchpoint + increase would be 240%. + + In practice, these weights are applied serially -- first the index weight, then + all the matchpoint weights that apply -- because they are evaluated at different + stages of the search process. + +
+
diff --git a/1.6/admin/migratingdata.xml b/1.6/admin/migratingdata.xml new file mode 100644 index 0000000000..ebc5be0e20 --- /dev/null +++ b/1.6/admin/migratingdata.xml @@ -0,0 +1,12 @@ + + + + + + Migrating Data + + Robert edited this at 3:06 (Eastern time) Repke changed back, Friday at 19.21 (GMT +1) This is a test 2 by rob + + + diff --git a/1.6/admin/serveradministration.pdf b/1.6/admin/serveradministration.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f72af00b71637ce1845f8a8dc8f945d846da0af3 GIT binary patch literal 101336 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