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!