SFX System Administration Copyright Statement and Disclaimer All of the information and material, including text, images, logos and product names, is either the property of, or used with permission by, Ex Libris Ltd. The information may not be distributed, modified, displayed or reproduced – in whole or in part – without the prior written permission of Ex Libris Ltd. TRADEMARKS Ex Libris, the Ex Libris logo, Aleph, SFX, SFXIT, MetaLib, DigiTool, Verde, Primo, Voyager, MetaSearch, MetaIndex and other Ex Libris products and services referenced herein are trademarks of Ex Libris, and may be registered in certain jurisdictions. All other product names, company names, marks and logos referenced may be trademarks of their respective owners. DISCLAIMER The information contained in this document is provided on an "AS IS" basis for general information purposes only without any representations or warranties, whether express or implied, including any implied warranties of satisfactory quality, completeness, accuracy or fitness for a particular purpose. Ex Libris, and its subsidiaries and related corporations disclaim any and all liability for use of this information, even if advised of the possibility that loss, damage or expenses may arise. © Ex Libris Ltd., 2008 SFX File Structure • The SFX installation is contained in one directory: • /exlibris/sfx_ver/sfx_version_3 • This directory contains: • One applications directory • Separate trees which hold separate SFX instances SFX File Structure • /exlibris/sfx_ver/sfx_version_3 • contains all supporting software needed to run SFX: • MySQL [v. 4.1.8] • Apache Web server • Perl [v. 5.8.5] [v. 2.0.50] SFX Package – Standard Installation exlibris sfx_ver sfx_version_3 app sfxglb3 MySQL sfxlc3l sfxtst3 symbolic link data sfxglb3 sfxlcl3 sfxtst3 The role of the global instance sfxglb3 • sfxglb3 instance: • The most up-to-date KnowledgeBase, contains: • Database • Programs and configuration files • Local Instances: • Use UNIX symbolic links to point to the same files on sfxglb3 • sfxglb3 instance • Files and programs are updated regulary with the central update • Local instances pcik up changes via the symbolic links exlibris sfx_ver sfx_version_3 cv sfxglb3 app symbolic links apache ah mysql mh perl ph utils sfxlcl3 sfxtst3 sx da admin cgi cn config aztools core source backup_ scripts public target category dbs files sqltab base_export scratch curr_export home lib parsers tp,sp,td logs apache sfxadmin tm templates a-z citation ds css diagnostics e-collection -html server_ admin_util img startup_ scripts reports sfxmenu Mod_perl • What? A persistent Perl interpreter embedded in SFX web server. • Advantage? Performance, by avoiding overhead of starting external interpreter and penalty of Perl start-up time. • Note: • first request to SFX server is slower since this is when initial compilation takes place. • if changes are made to Perl modules (example: target parsers), it is necessary to restart the instance's Apache Reverse proxy (1) Different SFX instances on the same server share the same binaries of Apache, but each instance has its own Apache daemon. port 3210 Reverse Proxy (2) • How does this work? • 1. In sfx_global instance, the following configuration file lists the apache configuration of the different instances: • /exlibris/sfx_ver/sfx_version_3/sfx_global/config/reverse_proxy_httpd .config • 2. In the local SFX instances, the following configuration files contain apache demon information: • • /exlibris/sfx_ver/sfx_version_3/<instance>/config/httpd.conf /exlibris/sfx_ver/sfx_version_3/<instance>/config/local_httpd.config • To the outside world, all SFX instances have the same port (e.g. 3210). SFX Users • Each instance has two "main" users: • UNIX user: • administrates the unix level of the instance • used to access the file system • MySQL user: • Used in the background by scripts accessing the dbs • And a third "type" of user: • SFXAdmin access • with different profiles (permissions) • created on sfxadmin Startup Scripts • One script to handle MySQL and Apache startup: sfxd • Located at: /etc/rc.d/init.d • Symbolic links created in appropriate /etc/rc*.d/ directory, for init program to load at server startup • When starting Apache, reverse proxy server is started first, then individual Apache servers for each instance SFX Backup • Ex Libris recommendation: • Daily backup with no downtime; full backup with downtime once a week • Backup scripts included in /sfxglbl3/admin/backup_scripts • Backup with downtime: server must go down to run backup but recovery is straightforward • Backup with no downtime: no downtime for server but recovery requires more manual work • Tar archive includes backup of SFX files and MySQL databases Security issues • Change SFXAdmin and unix passwords • Using User Administration tool in SFXAdmin and server_admin_util program in unix admin directory • Change MySQL password • Using server_admin_util program in unix admin directory • Can restrict access to SFXAdmin: • connection_admin.config [for each instance] • Can restrict access to SFX Menu: • connection_user.config [for each instance] Changing the name of an SFX instance http://sfx.myserver.edu:3210/sfxlcl3 http://sfx.myserver.edu:3210/sfxadmin/sfxlcl3 • reverse_proxy_httpd.config__ • httpd.conf for reverse proxy server http://sfx.myserver.edu:8800/caltech http://sfx.myserver.edu:8800/sfxadmin/caltech Server Admin Utility • A command-line utility used to accomplish various server-related tasks • Start/stop Apache & MySQL • Change MySQL and UNIX user passwords • Copy one instance to another (db and files) • Export/import data • Clean SFX directories • Manage statistical data (on2off, archive) • Run and schedule A-Z index build • Diagnostics Debugging Apache logs: /app/apache/logs • Error_log • Access_log Maintenance tasks! Maintenance tasks! Maintenance tasks! Thank You!