Main configuration fileThe main configuration file for eXist-db is called
- conf.xml, which is loaded from different directories depending on the
- server set-up (see Server Deployment for more
- information). Specifically:
-
-
- If you installed the standalone eXist-db distribution with the installer, the
- conf.xml file located in the root directory of the
- distribution (as specified by the system property
- exist.home).
-
-
-
- If eXist-db is installed as a web application (packaged in a
- .war file) in a servlet engine like tomcat,
- conf.xml is read from the WEB-INF directory of the
- web application.
- eXist-db normally has no access to files outside the context in which it is
- running when it is deployed as part of a web application. Therefore, when eXist
- is deployed in this way, the configuration is read from the
- WEB-INF directory.
-
-
+ conf.xml, which is loaded the root directory of the
+ distribution (as specified by the system property exist.home).
The configuration file conf.xml is divided into eleven
sections:
diff --git a/src/main/xar-resources/data/deployment/deployment.xml b/src/main/xar-resources/data/deployment/deployment.xml
index cb46312b..615b0a41 100644
--- a/src/main/xar-resources/data/deployment/deployment.xml
+++ b/src/main/xar-resources/data/deployment/deployment.xml
@@ -143,52 +143,6 @@
-
- Deploying in a Servlet Container
-
- The standard distribution by default launches eXist-db as a web application deployed
- in a Jetty
- servlet container.
- The Jetty configuration can be found in
- tools/jetty/webapps/exist-webapp-context.xml. It defines a single web
- application context value <Set
- name="contextPath">/exist</Set>, mapped to the
- webapp directory. This value can be set to either
- /exist or /. Users modifying this value should
- subsequently remove the portal folder at
- /tools/jetty/webapps, which contains the default exist-db splashscreen
- displayed during certain redirects.
- Jetty is small, efficient and stable, so there is no need to switch to a different
- servlet engine unless your server setup requires this. However, it is not difficult to
- deploy eXist in a different servlet container, e.g. Apache's Tomcat.
- We usually provide a .war web archive for all major releases. You
- may either download that or, if you already installed the standard distribution, build a
- .war archive yourself. For details on how to do this, see Building eXist-db
- To install the .war, just copy it into the corresponding folder below
- your servlet engine installation (usually webapps) and rename it to
- exist.war. The servlet engine will normally unpack the file when you
- restart the server. To have better control of where the file is unpacked, you can also
- create a directory exist below the webapps folder
- and manually extract the .war there. For instance:
- jar xfv exist.war
-
- Please remember that the data and log
- directories need to be writable!
-
-
- There are a few differences between the standard distribution and the
- .war install. In particular, the configuration files are found in the
- WEB-INF directory, including the important files
- conf.xml (eXist configuration) and log4j.xml
- (logging). The example data is in samples.
- To start the Java Admin Client, use the
- following command (from within exist web application's root
- directory):
- java -jar WEB-INF/lib/start.jar client -ls
-
-
-
-
Running as a Stand-alone Server
@@ -596,4 +550,4 @@
target directory (which we prepared above), and compile and run it with:
javac TestDB.java java -Dexist.initdb=true -Dexist.home=. TestDB
-
\ No newline at end of file
+
diff --git a/src/main/xar-resources/data/documentation/documentation.xml b/src/main/xar-resources/data/documentation/documentation.xml
index c236dea6..e1ee2b39 100644
--- a/src/main/xar-resources/data/documentation/documentation.xml
+++ b/src/main/xar-resources/data/documentation/documentation.xml
@@ -435,7 +435,7 @@
Building eXist
- How to build Java .jar or .war files from an
+ How to build Java .jar files from an
eXist distribution.
@@ -552,7 +552,7 @@
Building eXist
- How to build Java .jar or .war files from an
+ How to build Java .jar files from an
eXist distribution.
diff --git a/src/main/xar-resources/data/exist-building/exist-building.xml b/src/main/xar-resources/data/exist-building/exist-building.xml
index 60fb52fd..6731c77d 100644
--- a/src/main/xar-resources/data/exist-building/exist-building.xml
+++ b/src/main/xar-resources/data/exist-building/exist-building.xml
@@ -12,38 +12,7 @@
- This article will tell you how to build a Java .war or .jar file for eXist-db. If you are building exist-db from source, please also check the build instructions in the source-code repo.
-
-
-
-
- Building a .war file from the Standard Distribution
-
- If you would like to deploy eXist-db into an existing servlet engine (e.g. tomcat), you will need a .war file. We no
- longer distribute a .war build, but it is easy to create one from the standard distribution by
- repackaging (not building) it:
-
-
-
- Install the standard distribution
-
- Get a standard distribution from eXist-db download
- page. Install it into a directory of your choice. Make sure you include the source package.
-
-
-
- Generate the WAR
-
- Open a command line prompt and change to the directory where you just installed eXist-db. Call
- build.sh dist-war
- or
- build.bat dist-war
- once. This will generate a .war archive into directory dist.
-
-
- Note that generating a .war archive does only repackage the files in the distribution. So if the distribution worked properly
- for you, the .war should as well. You don't need to recompile eXist-db or sign any jars.
-
+ This article will tell you how to build a Java .jar file for eXist-db. If you are building exist-db from source, please also check the build instructions in the source-code repo.
@@ -92,11 +61,11 @@
Using the Build SystemYou can rebuild all eXist-db packages from the standard distribution or the GitHub repository. You can even create a new distribution from
- the one you installed. For example, assume you installed eXist using the installer GUI, but you need to have an exist.war package for deployment
- within a different servlet engine. Just call the main build script (build.sh or build.bat) and pass it the
- target dist-war:
- build.sh dist-war
- This will create a fresh .war archive in the dist directory.
+ the one you installed. For example, assume you installed eXist using the installer GUI, but you need to have a .tar.bz2 package for deployment
+ to a server. Just call the main build script (build.sh or build.bat) and pass it the
+ target dist-bz2:
+ build.sh dist-bz2
+ This will create a fresh .tar.bz2 archive in the dist directory.To be able to use the build system, you need to include the "source" module when selecting installable packages in the installer
GUI.
@@ -181,18 +150,34 @@
- dist-tgz
+ dist-dir
- Packages eXist-db into a .tgz file.
+ Packages eXist-db into a directory.
+
+
+
+
+ dist-bz2
+
+
+ Packages eXist-db into a .tar.bz2 file.
- dist-war
+ dist-tar
- Packages eXist-db into a .war file for deployment within a servlet engine.
+ Packages eXist-db into a .tar file.
+
+
+
+
+ dist-tgz
+
+
+ Packages eXist-db into a .tgz file.
diff --git a/src/main/xar-resources/data/production_good_practice/production_good_practice.xml b/src/main/xar-resources/data/production_good_practice/production_good_practice.xml
index 2dc9f9f7..f1ff7c41 100644
--- a/src/main/xar-resources/data/production_good_practice/production_good_practice.xml
+++ b/src/main/xar-resources/data/production_good_practice/production_good_practice.xml
@@ -422,7 +422,7 @@
Web Deployments
- eXist-db, like any Web Application Server (Tomcat, WebLogic, GlassFish, etc.), should
+ eXist-db, like any Web Application Server, should
not be directly exposed to the Web. Instead, we strongly recommend proxying eXist-db
through a Web Server such as Nginx or To avoid potential deadlocking it is considered good practice to store XML
instance documents and grammar documents in separate collections.
-
- Tomcat has an long standing bug which makes it impossible to register a custom
- protocol handler (object URLStreamHandler) to the JVM. The alternative is to
- register the object by setting the system property
- java.protocol.handler.pkgs but this fails as well.
- As a result, the validation features are only partly useable in Tomcat. There
- are two alternatives: (1) switch to a recent version of Jetty, or (2) use
- absolute URLs pointing the REST interface, e.g.
- http://localhost:8080/exist/rest/db/mycollection/schema.xsd.
-
-
- eXist relies heavily on features provided by the Xerces XML parser. Out of the
- box the eXist izPack installer provides all required .jar files.
- However, when eXist is installed in for instance Tomcat, the required parser
- libraries need to be copied manually from the eXist lib/endorsed
- directory into the server endorsed directory.
- Required endorsed files: resolver-*.jar xalan-*.jar serializer-*.jar
- xercesImpl-*.jar
- The explicit validation is performed by