Table of Contents
Vagrant is a tool for managing consistent development environments. While it is not intended for production use, VuFind® developers may find it helpful for quickly setting up a VuFind® system, and it may also be useful for evaluation purposes.
The software ships with a default Vagrantfile that will get an instance of VuFind® running on an Ubuntu image (since release 4.1).
Setting Up the Virtual Machine
To get started, make sure that Vagrant is installed on your system, then simply go to your VuFind® directory (preferably a fresh, clean checkout from Git with Composer dependencies already installed, if you're just getting started) and run:
This will take quite some time to install and set up everything. Once the installation completes, VuFind®'s web interface will be visible on the host machine's port 4567.
You will have to do a bit of manual work to get everything running….
Completing the Installation
Access the web-based installation process at http://localhost:4567/vufind/Install to finalize configuration and initialize the database. Note that the MySQL root password is “root” on the test box ( this is obviously not secure; the VM is intended only for development purposes).
Managing Solr and Indexing Records
To log into the virtual machine to run commands, you can execute:
You will need to run:
cd $VUFIND_HOME; ./solr.sh start
to get Solr running for the first time. You can then use the standard ./import-marc.sh script to index records into your test instance.
If you want to view Solr in a web browser on your host machine, it should be port-mapped to port 4568, so you can view the admin at http://localhost:4568/solr.
Notes for Windows Users
For Windows users, the
import-marc.sh may fail to start with a “bad interpreter” error. This is caused by the files being on the host Windows system with DOS file encoding, despite running within the Vagrant Linux environment (via a synced folder). To resolve this, set each *.sh file's encoding to unix format.
Windows users may also encounter errors about the inability to create symbolic links (especially when indexing MARC records). This problem is caused by permission issues related to symlink creation and can be worked around by running Vagrant from a command prompt with administrative rights. If you continue to have problems after correcting permissions, make sure you do not have an empty directory at $VUFIND_HOME/solr/vendor/.solrj – a partially created SolrJ symlink collection can break the indexer; simply remove $VUFIND_HOME/solr/vendor/.solrj and try import again, and things should work.
Notes on File Mapping / Locations
Your host machine's VuFind® directory will be mounted within the Vagrant SSH session as /vagrant. Any changes you make there will affect your host machine as well (and vice versa).
Because Apache does not have write access to the special mounted /vagrant directory, the system is using /vufindlocal as its $VUFIND_LOCAL_DIR; these files are only accessible from within the VM. You will have to use “vagrant ssh” to log in and examine/modify them.
Managing the Virtual Machine
Once everything is set up, you can issue a few commands to control the VM:
- vagrant suspend - save the current state of the VM, but stop it from running until you issue “vagrant up” again.
- vagrant halt - shut down the VM; it will boot back up the next time you issue “vagrant up”.
- vagrant destroy - completely destroy the VM; you will have to reinstall it (see above) if you want it back.