## Preamble
BibServer is software that offers a service. You can run your own BibServer, say if you want to have your own provision of the BibServer service to your department or your research group, for example.
BibServer is essentially a stack of really useful tools all combined together with some custom code to provide the BibServer functionality. All these tools, and our own software are Open Source – available for free! In addition, they all provide their own great docs, so we refer to them where appropriate, instead of writing and failing to maintain our own versions of their documentation.
## Dependencies
### A computer to run it on, and an operating system
We are running our BibServer on an old 3 x 3.0ghz server with about 2gig of RAM. It works fine.
Our operating system is Ubuntu Linux, although any linux should do, or even probably Windows or Mac, although we haven’t used them.
### Java 1.5 or higher
Indexing services use Apache Lucene, and it needs Java. So make sure you have a version installed, or get one from
### Python
BibServer code is written in [python](http://www.python.org/), so it is required in order for BibServer to function. It is installed by default on most linux distros.
### elasticsearch
We use indexing engines to find all our data, and to do so we have to put data in the index – so why not store all our data in our index? Hence, elasticsearch
* Download from
* Then follow the installation docs:
### BibServer software
* Go to our repository at
* Either use [git](http://git-scm.com/) to clone the repo, or download a copy and unzip it
## Run it
OK, stuff is installed, things should work.
* Check that the config.json file points to your elasticsearch location.
* Check you are happy with the elasticsearch DB name. When you first run, BibServer will create that DB and push the mappings in the config file to it.
* Make sure you have elasticsearch running.
* The BibServer folder you downloaded from our repo includes a README file. Open it and follow the instructions.
* When you finish that and run “python bibserver/web.py”, BibServer should be running!
* That’s it! You should be able to find BibServer at localhost:5000 via curl or your browser.
* If it failed because port 5000 is busy, try stopping whatever you have running there (probably pylons) or specify another port in the command at the bottom of bibserver/web.py – see [Flask docs](http://flask.pocoo.org/) for more info.
## Get it online
in order to make your BibServer available online, you will need a configured domain name and will have to point your favourite web server at the running web.py. We used [nginx](http://nginx.org/), although Apache or similar would do too.