Changing the Name of an SFX Instance

The default installation and setup (refer to the SFX Installation Guide) creates an sfxlcl41 instance on the server. In order to point to this SFX instance, OpenURL links should include the following base URL (in this example, the name of the server is sfx.myserver.com):

http://<your_sfx_server>:<port>/<instance_name>

For example:

http://sfx.myserver.com:3410/sfxlcl41

If you want to change the instance name so that its base URL contains a more meaningful name– for example, new_name instead of sfxlcl41 – perform the procedure below:

To change the name of an SFX instance:
  1. Log on as sfxglb41 and open the following file in the global instance:

/exlibris/sfx_ver/sfx4_1/sfxglb41/config/reverse_proxy_httpd.config_

  1. Manually change the instance name to new_name or type the following:

:%s/old_name/new_name/g

The screen should look like the following:

# For instance sfxlcl41

ProxyPass /new_name http://localhost:3003/new_name

ProxyPassReverse /new_name http://localhost:3003/new_name

ProxyPass /sfxadmin/new_name http://localhost:3003/sfxadmin/new_name

ProxyPassReverse /sfxadmin/new_name http://localhost:3003/sfxadmin/new_name

RewriteRule ^/new_name-([^/]+)$ http://localhost:3003/new_name?sfx.institute=$1 [QSA,P]

RewriteRule^/new_name-([^/]*)/([^.]+).gif$ http://localhost:3003/new_name/sfxadmin/gif.cgi?gif=$2.gif&sfx.institute=$1 [QSA ,P]

RewriteRule ^/new_name-([^/]+)/(.*)$ http://localhost:3003/new_name-$1/$2 [P]

ProxyPass /SFX_API/new_name http://localhost:3003/SFX_API/new_name

ProxyPassReverse /SFX_API/new_name http://localhost:3003/SFX_API/new_name

ProxyPass /external_export/new_name http://localhost:3003/external_export/new_name

ProxyPassReverse /external_export/new_name http://localhost:3003/external_export/new_name

  1. Log on as sfxlcl41 and open the following file in the local instance:

/exlibris/sfx_ver/sfx4_1/sfxlcl41/config/local_httpd.config

  1. Manually change the instance name to new_name in all cases where the name is not part of a directory path or type the following:

:%s/old_name/new_name/g

:%s/\/exlibris\/sfx_ver\/sfx4_1\/new_name/\/exlibris\/sfx_ver\/sfx4_1\/old_name/g

The screen should look like the following:

# Version : $Id: local_httpd.config,v 1.34 2010/06/13 14:43:27 davidg Exp $

# SFX Related CGI's. This config file is called by the main httpd.config.

# Search and replace new_name for the instance name

RewriteEngine on

RewriteRule ^/new_name-([^/]+)/azlist$ /new_name/azlist/$1 [PT,E=__INST_URL_PART:-$1]

RewriteRule ^/new_name-([^/]+)/(.*)$ /new_name/$2 [PT,E=__INST_URL_PART:-$1]

# For static output

Alias /new_name/img/ /exlibris/sfx_ver/sfx4_1/sfxlcl41/templates/img/

Alias /new_name/js/ /exlibris/sfx_ver/sfx4_1/sfxlcl41/templates/js/

Alias /new_name/css/ /exlibris/sfx_ver/sfx4_1/sfxlcl41/templates/css/

#Alias to v2 sfx gif

Alias /new_name/sfx_v2.gif /exlibris/sfx_ver/sfx4_1/sfxlcl41/templates/img/sfxmenu/sfx_v2.gif

#Alias to sfx gif

Alias /new_name/sfx.gif /exlibris/sfx_ver/sfx4_1/sfxlcl41/templates/img/sfxmenu/sfx.gif

# for HTML export

Alias /new_name/e_collection/ /exlibris/sfx_ver/sfx4_1/sfxlcl41/templates/e-collection-html/results/

# Environment for scripts

PassEnv SFX_INST

PassEnv SFXCTRL_HOME

PassEnv SFX_HOME

PassEnv MYSQL_UNIX_PORT

PassEnv PERL5LIB

PassEnv SFX_COPY

PassEnv SFX_VERSION

PassEnv PERL_NO_VALIDATION

# Relevant for Solaris

SetEnv LD_LIBRARY_PATH /exlibris/sfx_ver/sfx4_2/app/lib:/usr/local/lib/:/usr/lib/:/exlibris/sfx_ver/sfx4_2/app/mysql/lib/mysql/

PerlPassEnv SFXCTRL_HOME

# All core cgi's handled by ModPerl

ScriptAlias /new_name/cgi /exlibris/sfx_ver/sfx4_1/sfxlcl41/cgi

<Location /new_name/cgi/>

SetHandler perl-script

PerlResponseHandler ModPerl::Registry

PerlOptions +ParseHeaders

Options +ExecCGI

</Location>

# For the azlist script redirector

ScriptAlias /new_name/az /exlibris/sfx_ver/sfx4_1/sfxlcl41/cgi/core/azlist_ver3/a-z.cgi

<Directory "/exlibris/sfx_ver/sfx4_1/sfxlcl41/cgi/core/azlist_ver3/">

SetHandler perl-script

PerlResponseHandler ModPerl::Registry

PerlOptions +ParseHeaders

Options +ExecCGI

</Directory>

# SFX eXpress

ScriptAlias /new_name/express/ /exlibris/sfx_ver/sfx4_1/sfxlcl41/sfxadmin/express/

ScriptAlias /new_name/express /exlibris/sfx_ver/sfx4_1/sfxlcl41/sfxadmin/express/login.cgi

RewriteRule /new_name/sfx.gif /new_name/sfxadmin/gif.cgi?gif=sfx.gif [PT]

# SFX Admin (new)

ScriptAlias /new_name/admin/ /exlibris/sfx_ver/sfx4_1/sfxlcl41/sfxadmin/admin/

ScriptAlias /new_name/admin /exlibris/sfx_ver/sfx4_1/sfxlcl41/sfxadmin/admin/login.cgi

ScriptAlias /new_name/et4/ /exlibris/sfx_ver/et4/new_name/cgi/

# For administration cgi's

# SSL later

ScriptAlias /sfxadmin/new_name/validations /exlibris/sfx_ver/sfx4_1/sfxlcl41/sfxadmin/validations/

ScriptAlias /new_name/sfxadmin /exlibris/sfx_ver/sfx4_1/sfxlcl41/sfxadmin

ScriptAlias /sfxadmin/new_name /exlibris/sfx_ver/sfx4_1/sfxlcl41/sfxadmin/sfxctrl.cgi

<Directory "/exlibris/sfx_ver/sfx4_1/sfxlcl41/sfxadmin/print_footer.cgi">

SetHandler perl-script

PerlResponseHandler ModPerl::Registry

PerlOptions +ParseHeaders

Options +ExecCGI

<directory>

<Directory "/exlibris/sfx_ver/sfx4_1/sfxlcl41/sfxadmin/print_header.cgi">

SetHandler perl-script

PerlResponseHandler ModPerl::Registry

PerlOptions +ParseHeaders

Options +ExecCGI

<directory>

<Directory "/exlibris/sfx_ver/sfx4_1/sfxlcl41/sfxadmin/print_refresh_frame.cgi">

SetHandler perl-script

PerlResponseHandler ModPerl::Registry

PerlOptions +ParseHeaders

Options +ExecCGI

<directory>

# For backward compatibility

ScriptAlias /new_name /exlibris/sfx_ver/sfx4_1/sfxlcl41/cgi/core/sfxmenu.cgi

ScriptAlias /SFX_API/new_name /exlibris/sfx_ver/sfx4_1/sfxlcl41/cgi/core/sfxmenu.cgi

ScriptAlias /external_export/new_name /exlibris/sfx_ver/sfx4_1/sfxlcl41/sfxadmin/external_export.cgi

<Directory "/exlibris/sfx_ver/sfx4_1/sfxlcl41/sfxadmin/log_search_objects.cgi">

SetHandler perl-script

PerlResponseHandler ModPerl::Registry

PerlOptions +ParseHeaders

Options +ExecCGI

<directory>

<Directory "/exlibris/sfx_ver/sfx4_1/sfxlcl41/cgi/core/sfxmenu.cgi">

SetHandler perl-script

PerlResponseHandler ModPerl::Registry

PerlOptions +ParseHeaders

Options +ExecCGI

<directory>

# Custom error pages

LanguagePriority en fr de

Alias /http_errors /exlibris/sfx_ver/sfx4_1/sfxlcl41/templates/http_errors

<Directory /exlibris/sfx_ver/sfx4_1/sfxlcl41/templates/http_errors>

AllowOverride none

Options MultiViews IncludesNoExec FollowSymLinks

AddType text/html .shtml

AddHandler server-parsed .shtml

<directory>

ErrorDocument 506 /http_errors/506

ErrorDocument 404 /http_errors/404

ErrorDocument 500 /http_errors/500

  1. Log on as the local instance user and comment out the following lines in:

/exlibris/sfx_ver/sfx4_1//config/local_httpd.config:

PassEnv SFX_INST

PassEnv SFXCTRL_HOME

PassEnv SFX_HOME

PassEnv MYSQL_UNIX_PORT

PassEnv PERL5LIB

  1. Add these lines instead. Replace new_name with your new instance name and sfxlcl41 with your old instance name:

# Environment for scripts

SetEnv SFX_INST new_name

SetEnv SFXCTRL_HOME /exlibris/sfx_ver/sfx4_1/sfxlcl41

SetEnv SFX_HOME /exlibris/sfx_ver/sfx4_1

SetEnv MYSQL_UNIX_PORT /exlibris/sfx_ver/sfx4_1/app/mysql/socket/mysql.sock

SetEnv PERL5LIB /exlibris/sfx_ver/sfx4_1/sfxlcl41/lib

  1. Restart the instance and the reverse proxy Apaches using the Server Admin Utility. For more information, see Start/Stop Services .
  2. Test the following:
  • The SFX menu using the new base URL
  • Access to the KBManager section in the SFX Admin Center using the new base URL
  • The A-Z list using the new base URL
Changing the name of an instance only changes the way it is being accessed via HTTP (via the base URL). It does not change the name of the UNIX user associated with it or the name of the MySQL database. All the internal references to the instance remain unchanged.