Warning: This page has not been updated in over over a year and may be outdated or deprecated.
playground:playground
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
playground:playground [2014/01/21 15:22] – chriskeene | playground:playground [Unknown date] (current) – removed - external edit (Unknown date) 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== PlayGround ====== | ||
- | |||
- | |||
- | |||
- | Start of possible revised multi instance page. | ||
- | |||
- | |||
- | ====== Installing Multiple Instances ====== | ||
- | |||
- | // This page refers to VuFind 2.x; for similar notes related to earlier versions, see [[..: | ||
- | |||
- | There are a few reasons you might want to have several instances of VuFind. | ||
- | |||
- | * You need to present the same index in slightly different ways at different URLs (i.e. filter differently or offer different themes for members of a consortium) | ||
- | * You use VuFind as the basis for several distinct, separate systems running on the same server (i.e. a bibliography project distinct from your library catalog) | ||
- | |||
- | Regardless of your use case, you probably do not need to actually install multiple copies of VuFind. | ||
- | |||
- | ==== Decide on what kind of multi instance you want ==== | ||
- | Vufind has been designed to allow much of the configuration (including theme choice) to be set per instance, while allowing those options unchanged to be inherited from the main configuration. There are a few things you will need to decide upfront when setting up a new instance: | ||
- | * Will the new instance use the same database as other instances, or have its own? The database stores users, favorites and tags, so the question really comes down to if you want the new instance to have the same users and tags as existing instances, or to have its own. | ||
- | * Will the new instance have it's own Solr Core. The Solr Core holds the searchable bibliographic records, if you want the new instance to search a seperate set of records then it will need it's own core. | ||
- | * Will your system use directories or hostnames to differentiate different sites? | ||
- | |||
- | ===== Creating a New Local Configuration Directory ===== | ||
- | |||
- | Creating a new configuration is simple. | ||
- | |||
- | < | ||
- | cd $VUFIND_HOME | ||
- | php install.php --multisite | ||
- | </ | ||
- | |||
- | After this, follow the same steps that you did on initial [[installation notes|installation]] -- link up your Apache configuration, | ||
- | |||
- | ==== Important Notes ==== | ||
- | |||
- | * Using the " | ||
- | * Windows users should be aware that running install.php creates a new " | ||
- | |||
- | ==== Apache Configuration for Directory-Based Multisite ==== | ||
- | |||
- | Because of the way VuFind' | ||
- | |||
- | Here is a possible workaround: | ||
- | |||
- | * For each instance of VuFind, create a new symbolic link to the public directory; i.e. "ln -s $VUFIND_HOME/ | ||
- | * Edit the httpd-vufind.conf file in each local configuration directory, and change the Alias and Directory lines to point to the symbolic link created specifically for that instance. | ||
- | |||
- | This is not ideal -- there should be a way to make the configuration work without duplication of the public directory. | ||
- | |||
- | ==== Apache Configuration for Host-Based Multisite ==== | ||
- | |||
- | If you are pointing multiple hostnames at a single server and using these to distinguish between VuFind instances, you can't simply link up the httpd-vufind.conf configurations generated by install.php. | ||
- | |||
- | < | ||
- | < | ||
- | ServerName test1 | ||
- | </ | ||
- | |||
- | Include / | ||
- | |||
- | < | ||
- | ServerName test2 | ||
- | </ | ||
- | |||
- | Include / | ||
- | </ | ||
- | |||
- | Note that when you restart Apache after adding these settings (either by editing httpd.conf or by putting a new file in Apache' | ||
- | |||
- | // In some Linux distributions, | ||
- | |||
- | ===== Configuring Your New Instance ===== | ||
- | |||
- | ==== Basic Configuration ==== | ||
- | |||
- | If your new instance is configured almost exactly like your previous instance but with a few minor modifications, | ||
- | |||
- | ==== Custom Code ==== | ||
- | |||
- | If you need to write code that is specific to a particular instance, or if you need to customize code in different ways for different instances, you just need to create a separate module for each instance. | ||
- | |||
- | ==== Custom Theme ==== | ||
- | |||
- | VuFind' | ||
- | |||
- | ===== Sharing (or not sharing) a MySQL Database ===== | ||
- | |||
- | If you simply create a new instance with install.php and the web-based install script, VuFind will attempt to create a separate MySQL database for each instance. | ||
- | |||
- | ===== Using Multiple Solr Instances ===== | ||
- | |||
- | If you need completely separate indexes for different instances of VuFind, you may need to set up a duplicate copy of Solr. There are two possible approaches: | ||
- | |||
- | ==== Option 1: Create New Cores ==== | ||
- | |||
- | You can use the existing Solr server but specify different cores within the server. | ||
- | |||
- | * Copy the existing core (usually biblio) under VuFind' | ||
- | * Edit solr/ | ||
- | * Edit conf/ | ||
- | * Configure the default_core setting in the [Index] section of [[..: | ||
- | * If using SolrMarc, configure import/ | ||
- | * When indexing, make sure that the VUFIND_LOCAL_DIR environment variable points to the correct configuration so that records are sent to the appropriate place. | ||
- | |||
- | ==== Option 2: Create a New Solr Instance ==== | ||
- | |||
- | Creating a new core usually makes more sense than creating a copy of Solr, but if your index is too large to fit on a single server, you could also copy VuFind' | ||
- | |||
- | It probably does not make sense to try to run two separate instances of Solr on a single server, but if you have a good reason to do this, refer to the old [[..: | ||
- | ---- struct data ---- | ||
- | ---- | ||
playground/playground.1390317778.txt.gz · Last modified: 2014/06/13 13:13 (external edit)