History:Development/Search server setup
Server setup for developers
This server can be run on linux/osx/windows, but these instructions assume that you will be running linux and will be using the tomcat6 server to host the servlet.
To run this search server you will also need to have a MusicBrainz database with the core data set loaded. Please see
FIXME: link to ngs server install here.
for details on how to setup at least a "database only install". This document assumes that you have completed the setup of this server.
You will also need a freedb dump, which you can download from http://www.freedb.org/en/download__database.10.html .
You will also need these tools:
- Java complete with JDK 1.6, not just the JRE
- Apache Tomcat 6 ( http://tomcat.apache.org )
- Maven version 2 ( http://maven.apache.org/download.html )
In a recent Ubuntu, you can install these with this command:
apt-get install openjdk-6-jdk maven2 tomcat6
Ensure default Java installation is at least 1.6, and that you have the JDK installed not just the JRE.
If you're not on Ubuntu, you can get an official version from
and setup Java Home directory in your profile (not needed on ubuntu):
To build you need to install Maven, if you havent already got it. Download it from:
Install the schema classes
10:04 < ijabz> Step 1: Check out mdd-schema repository from subversion 10:04 < warp> ok, I have that. 10:06 < ijabz> cd brainz-mmd2-jaxb 10:06 < ijabz> mvn install ... 10:09 < warp> Installing /home/warp/code/mmd-schema/brainz-mmd2-jaxb/target/mmd2-2.0.0.jar to /home/warp/.m2/repository/org/musicbrainz/mmd2/mmd2/2.0.0/mmd2-2.0.0.jar 10:09 < warp> so, I can now run "mvn package" again? ... 10:16 < ijabz> That is what runs on the server, but first you need to build the indexes 10:16 < ijabz> cd /home/warp/code/search_server/index/target 10:17 < ijabz> I would suggest we just run some test indexes for now, these will build quickly ... 10:21 < ijabz> java -Xmx 500m -jar index-2.0-SNAPSHOT-jar-with-dependencies.jar -? 10:21 < ijabz> shows the options ... 10:31 < ijabz> try java -Xmx512M -jar index-2.0-SNAPSHOT-jar-with-dependencies.jar -d musicbrainz_db -u warp -p (password) -s warp -w (password) -t 10:31 < warp> I just added the raw database fields, and it started doing stuff now. 10:32 < ijabz> :), so have you got tomcat installed yet ? 10:32 < warp> yes 10:33 < warp> or well... I unpacked it and ran bin/startup.sh, and now something is listening on http://localhost:8080 10:33 < ijabz> Which tomcat download did you use ? 10:33 < warp> apache-tomcat-6.0.24 10:34 < ijabz> ok so you need to coy searchserver,.war into the webpps folder and rename to ROOT.war 10:35 < warp> I can do that while tomcat is running, right? 10:35 < ijabz> Yes 10:35 < ijabz> But do you have a ROOT folder within webaps 10:35 < warp> yes 10:36 < ijabz> ok, I think you have to shutdown and restart for change to take effect 10:36 < ijabz> bin/shutdown.sh; bin/startup.sh ... 10:44 < ijabz> And I meant to say you needed to delete that ROOT folder 10:44 < ijabz> so please do that, then shutdown and restart again 10:44 < warp> aah :) 10:45 < warp> yay, it created a new ROOT now. 10:48 < warp> HTTP Status 500 - Error during servlet initialization directory '/home/search/indexdata/artist_index' does not exist 10:49 < warp> ijabz: how do I tell it where my indexes are? 10:50 < ijabz> I thought you created them in the default location .... yo need to edit /webapps/ROOT/WEB-INF/web.xml 10:50 < warp> (where are my indexes? :) ... 10:52 < ijabz> I think index defaults to building them in a folder called data 10:52 < ijabz> from whereever you run it 10:52 < warp> ah, yes, there they are. 10:52 < ijabz> Ok, specify that path in web.xml then 10:52 < warp> do I have to shutdown tomcat for that? 10:53 * warp does so, just to be sure. 10:54 < alastairp> to change web.xml - yes ... http://www.freedb.org/en/download__database.10.html